Rollback to c2d2b900b10ba4170f79c49b22bd807ea75df548
authorJaehwan Kim <jae.hwan.kim@samsung.com>
Tue, 19 Apr 2011 09:21:23 +0000 (18:21 +0900)
committerJaehwan Kim <jae.hwan.kim@samsung.com>
Tue, 19 Apr 2011 09:21:23 +0000 (18:21 +0900)
1152 files changed:
README [new file with mode: 0644]
aclocal.m4 [new file with mode: 0644]
config.cache [new file with mode: 0644]
config.guess [new file with mode: 0755]
config.guess.cdbs-orig [new file with mode: 0755]
config.h [new file with mode: 0644]
config.h.in [new file with mode: 0644]
config.log [new file with mode: 0644]
config.status [new file with mode: 0755]
config.sub [new file with mode: 0755]
config.sub.cdbs-orig [new file with mode: 0755]
configure [new file with mode: 0755]
debian/control
debian/files [new file with mode: 0644]
debian/libevas-dbg.debhelper.log [new file with mode: 0644]
debian/libevas-dbg.substvars [new file with mode: 0644]
debian/libevas-dbg/DEBIAN/control [new file with mode: 0644]
debian/libevas-dbg/DEBIAN/md5sums [new file with mode: 0644]
debian/libevas-dbg/usr/lib/debug/usr/lib/libevas.so.1.0.999 [new file with mode: 0644]
debian/libevas-dbg/usr/share/doc/libevas-dbg/AUTHORS [new file with mode: 0644]
debian/libevas-dbg/usr/share/doc/libevas-dbg/README.gz [new file with mode: 0644]
debian/libevas-dbg/usr/share/doc/libevas-dbg/buildinfo.gz [new file with mode: 0644]
debian/libevas-dbg/usr/share/doc/libevas-dbg/changelog.gz [new file with mode: 0644]
debian/libevas-dbg/usr/share/doc/libevas-dbg/copyright [new file with mode: 0644]
debian/libevas-dev.debhelper.log [new file with mode: 0644]
debian/libevas-dev.substvars [new file with mode: 0644]
debian/libevas-dev/DEBIAN/control [new file with mode: 0644]
debian/libevas-dev/DEBIAN/md5sums [new file with mode: 0644]
debian/libevas-dev/usr/include/evas-1/Evas.h [new file with mode: 0644]
debian/libevas-dev/usr/include/evas-1/Evas_Engine_Buffer.h [new file with mode: 0644]
debian/libevas-dev/usr/include/evas-1/Evas_Engine_FB.h [new file with mode: 0644]
debian/libevas-dev/usr/include/evas-1/Evas_Engine_GL_X11.h [new file with mode: 0644]
debian/libevas-dev/usr/include/evas-1/Evas_Engine_Software_X11.h [new file with mode: 0644]
debian/libevas-dev/usr/include/evas-1/Evas_Engine_XRender_X11.h [new file with mode: 0644]
debian/libevas-dev/usr/lib/libevas.a [new file with mode: 0644]
debian/libevas-dev/usr/share/doc/libevas-dev/AUTHORS [new file with mode: 0644]
debian/libevas-dev/usr/share/doc/libevas-dev/README.gz [new file with mode: 0644]
debian/libevas-dev/usr/share/doc/libevas-dev/buildinfo.gz [new file with mode: 0644]
debian/libevas-dev/usr/share/doc/libevas-dev/changelog.gz [new file with mode: 0644]
debian/libevas-dev/usr/share/doc/libevas-dev/copyright [new file with mode: 0644]
debian/libevas-doc.debhelper.log [new file with mode: 0644]
debian/libevas-doc.substvars [new file with mode: 0644]
debian/libevas-doc/DEBIAN/control [new file with mode: 0644]
debian/libevas-doc/DEBIAN/md5sums [new file with mode: 0644]
debian/libevas-doc/usr/share/doc-base/evas [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/AUTHORS [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/README.gz [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/buildinfo.gz [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/changelog.gz [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/copyright [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/Evas_8h.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/annotated.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/bc_s.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/classes.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/closed.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/doxygen.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/e.css [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/e.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/e_big.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/edoxy.css [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/files.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/foot_bg.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/functions.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/functions_vars.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x62.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x63.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x64.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x65.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x66.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x68.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x69.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6b.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6c.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6d.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6e.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6f.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x70.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x72.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x73.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x74.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_defs.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_enum.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_eval.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x63.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x64.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x65.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x66.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x69.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6b.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6c.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6d.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6e.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6f.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x70.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x72.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x73.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x74.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_type.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Canvas.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Canvas__Events.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Coord__Mapping__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Cserve.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Event__Feeding__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Event__Freezing__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Font__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Font__Path__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Image__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Line__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Box.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Basic.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Events.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Extras.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Find.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Interceptors.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Map.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Size__Hints.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Image.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Polygon.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Rectangle.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Specific.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Table.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Text.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Textblock.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Output__Method.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Output__Size.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Pointer__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Smart__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Smart__Object__Clipped.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Smart__Object__Group.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Utils.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/head_bg.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/hierarchy.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/index.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_current.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_hover.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_last.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_unsel.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/modules.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/nav_f.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/nav_h.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/open.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/pages.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Coord__Rectangle.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Config.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Image.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Image__Cache.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Stats.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Engine__Info.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Hold.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Key__Down.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Key__Up.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Down.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__In.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Move.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Out.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Up.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Wheel.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Down.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Move.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Up.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Object__Box__Api.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Object__Box__Data.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Smart__Cb__Description.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Smart__Class.html [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_a.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_b.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_h.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_s.png [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/tabs.css [new file with mode: 0644]
debian/libevas-doc/usr/share/doc/libevas-doc/html/todo.html [new file with mode: 0644]
debian/libevas-engines-extras.debhelper.log [new file with mode: 0644]
debian/libevas-engines-extras.substvars [new file with mode: 0644]
debian/libevas-engines-extras/DEBIAN/control [new file with mode: 0644]
debian/libevas-engines-extras/DEBIAN/md5sums [new file with mode: 0644]
debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/AUTHORS [new file with mode: 0644]
debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/README.gz [new file with mode: 0644]
debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/buildinfo.gz [new file with mode: 0644]
debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/changelog.gz [new file with mode: 0644]
debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/copyright [new file with mode: 0644]
debian/libevas-engines.debhelper.log [new file with mode: 0644]
debian/libevas-engines.substvars [new file with mode: 0644]
debian/libevas-engines/DEBIAN/control [new file with mode: 0644]
debian/libevas-engines/DEBIAN/md5sums [new file with mode: 0644]
debian/libevas-engines/usr/share/doc/libevas-engines/AUTHORS [new file with mode: 0644]
debian/libevas-engines/usr/share/doc/libevas-engines/README.gz [new file with mode: 0644]
debian/libevas-engines/usr/share/doc/libevas-engines/buildinfo.gz [new file with mode: 0644]
debian/libevas-engines/usr/share/doc/libevas-engines/changelog.gz [new file with mode: 0644]
debian/libevas-engines/usr/share/doc/libevas-engines/copyright [new file with mode: 0644]
debian/libevas.debhelper.log [new file with mode: 0644]
debian/libevas.postinst.debhelper [new file with mode: 0644]
debian/libevas.postrm.debhelper [new file with mode: 0644]
debian/libevas.substvars [new file with mode: 0644]
debian/libevas/DEBIAN/control [new file with mode: 0644]
debian/libevas/DEBIAN/md5sums [new file with mode: 0644]
debian/libevas/DEBIAN/postinst [new file with mode: 0755]
debian/libevas/DEBIAN/postrm [new file with mode: 0755]
debian/libevas/DEBIAN/shlibs [new file with mode: 0644]
debian/libevas/usr/lib/libevas.so.1 [new symlink]
debian/libevas/usr/lib/libevas.so.1.0.999 [new file with mode: 0644]
debian/libevas/usr/share/doc/libevas/AUTHORS [new file with mode: 0644]
debian/libevas/usr/share/doc/libevas/README.gz [new file with mode: 0644]
debian/libevas/usr/share/doc/libevas/buildinfo.gz [new file with mode: 0644]
debian/libevas/usr/share/doc/libevas/changelog.gz [new file with mode: 0644]
debian/libevas/usr/share/doc/libevas/copyright [new file with mode: 0644]
debian/stamp-autotools [new file with mode: 0644]
debian/stamp-autotools-files [new file with mode: 0644]
debian/stamp-makefile-build [new file with mode: 0644]
debian/stamp-makefile-install [new file with mode: 0644]
debian/tmp/usr/bin/evas_cserve [new file with mode: 0755]
debian/tmp/usr/bin/evas_cserve_tool [new file with mode: 0755]
debian/tmp/usr/include/evas-1/Evas.h [new file with mode: 0644]
debian/tmp/usr/include/evas-1/Evas_Engine_Buffer.h [new file with mode: 0644]
debian/tmp/usr/include/evas-1/Evas_Engine_FB.h [new file with mode: 0644]
debian/tmp/usr/include/evas-1/Evas_Engine_GL_X11.h [new file with mode: 0644]
debian/tmp/usr/include/evas-1/Evas_Engine_Software_X11.h [new file with mode: 0644]
debian/tmp/usr/include/evas-1/Evas_Engine_XRender_X11.h [new file with mode: 0644]
debian/tmp/usr/lib/libevas.a [new file with mode: 0644]
debian/tmp/usr/lib/libevas.so.1 [new symlink]
debian/tmp/usr/lib/libevas.so.1.0.999 [new file with mode: 0755]
debian/tmp/usr/share/evas/examples/evas-buffer-simple.c [new file with mode: 0644]
depcomp [new file with mode: 0755]
doc/evas.dox [new file with mode: 0644]
doc/html/Evas_8h.html [new file with mode: 0644]
doc/html/annotated.html [new file with mode: 0644]
doc/html/bc_s.png [new file with mode: 0644]
doc/html/classes.html [new file with mode: 0644]
doc/html/closed.png [new file with mode: 0644]
doc/html/doxygen.png [new file with mode: 0644]
doc/html/e.css [new file with mode: 0644]
doc/html/e.png [new file with mode: 0755]
doc/html/e_big.png [new file with mode: 0644]
doc/html/edoxy.css [new file with mode: 0644]
doc/html/files.html [new file with mode: 0644]
doc/html/foot_bg.png [new file with mode: 0755]
doc/html/functions.html [new file with mode: 0644]
doc/html/functions_vars.html [new file with mode: 0644]
doc/html/globals.html [new file with mode: 0644]
doc/html/globals_0x62.html [new file with mode: 0644]
doc/html/globals_0x63.html [new file with mode: 0644]
doc/html/globals_0x64.html [new file with mode: 0644]
doc/html/globals_0x65.html [new file with mode: 0644]
doc/html/globals_0x66.html [new file with mode: 0644]
doc/html/globals_0x68.html [new file with mode: 0644]
doc/html/globals_0x69.html [new file with mode: 0644]
doc/html/globals_0x6b.html [new file with mode: 0644]
doc/html/globals_0x6c.html [new file with mode: 0644]
doc/html/globals_0x6d.html [new file with mode: 0644]
doc/html/globals_0x6e.html [new file with mode: 0644]
doc/html/globals_0x6f.html [new file with mode: 0644]
doc/html/globals_0x70.html [new file with mode: 0644]
doc/html/globals_0x72.html [new file with mode: 0644]
doc/html/globals_0x73.html [new file with mode: 0644]
doc/html/globals_0x74.html [new file with mode: 0644]
doc/html/globals_defs.html [new file with mode: 0644]
doc/html/globals_enum.html [new file with mode: 0644]
doc/html/globals_eval.html [new file with mode: 0644]
doc/html/globals_func.html [new file with mode: 0644]
doc/html/globals_func_0x63.html [new file with mode: 0644]
doc/html/globals_func_0x64.html [new file with mode: 0644]
doc/html/globals_func_0x65.html [new file with mode: 0644]
doc/html/globals_func_0x66.html [new file with mode: 0644]
doc/html/globals_func_0x69.html [new file with mode: 0644]
doc/html/globals_func_0x6b.html [new file with mode: 0644]
doc/html/globals_func_0x6c.html [new file with mode: 0644]
doc/html/globals_func_0x6d.html [new file with mode: 0644]
doc/html/globals_func_0x6e.html [new file with mode: 0644]
doc/html/globals_func_0x6f.html [new file with mode: 0644]
doc/html/globals_func_0x70.html [new file with mode: 0644]
doc/html/globals_func_0x72.html [new file with mode: 0644]
doc/html/globals_func_0x73.html [new file with mode: 0644]
doc/html/globals_func_0x74.html [new file with mode: 0644]
doc/html/globals_type.html [new file with mode: 0644]
doc/html/group__Evas__Canvas.html [new file with mode: 0644]
doc/html/group__Evas__Canvas__Events.html [new file with mode: 0644]
doc/html/group__Evas__Coord__Mapping__Group.html [new file with mode: 0644]
doc/html/group__Evas__Cserve.html [new file with mode: 0644]
doc/html/group__Evas__Event__Feeding__Group.html [new file with mode: 0644]
doc/html/group__Evas__Event__Freezing__Group.html [new file with mode: 0644]
doc/html/group__Evas__Font__Group.html [new file with mode: 0644]
doc/html/group__Evas__Font__Path__Group.html [new file with mode: 0644]
doc/html/group__Evas__Group.html [new file with mode: 0644]
doc/html/group__Evas__Image__Group.html [new file with mode: 0644]
doc/html/group__Evas__Line__Group.html [new file with mode: 0644]
doc/html/group__Evas__Object__Box.html [new file with mode: 0644]
doc/html/group__Evas__Object__Group.html [new file with mode: 0644]
doc/html/group__Evas__Object__Group__Basic.html [new file with mode: 0644]
doc/html/group__Evas__Object__Group__Events.html [new file with mode: 0644]
doc/html/group__Evas__Object__Group__Extras.html [new file with mode: 0644]
doc/html/group__Evas__Object__Group__Find.html [new file with mode: 0644]
doc/html/group__Evas__Object__Group__Interceptors.html [new file with mode: 0644]
doc/html/group__Evas__Object__Group__Map.html [new file with mode: 0644]
doc/html/group__Evas__Object__Group__Size__Hints.html [new file with mode: 0644]
doc/html/group__Evas__Object__Image.html [new file with mode: 0644]
doc/html/group__Evas__Object__Polygon.html [new file with mode: 0644]
doc/html/group__Evas__Object__Rectangle.html [new file with mode: 0644]
doc/html/group__Evas__Object__Specific.html [new file with mode: 0644]
doc/html/group__Evas__Object__Table.html [new file with mode: 0644]
doc/html/group__Evas__Object__Text.html [new file with mode: 0644]
doc/html/group__Evas__Object__Textblock.html [new file with mode: 0644]
doc/html/group__Evas__Output__Method.html [new file with mode: 0644]
doc/html/group__Evas__Output__Size.html [new file with mode: 0644]
doc/html/group__Evas__Pointer__Group.html [new file with mode: 0644]
doc/html/group__Evas__Smart__Group.html [new file with mode: 0644]
doc/html/group__Evas__Smart__Object__Clipped.html [new file with mode: 0644]
doc/html/group__Evas__Smart__Object__Group.html [new file with mode: 0644]
doc/html/group__Evas__Utils.html [new file with mode: 0644]
doc/html/head_bg.png [new file with mode: 0755]
doc/html/hierarchy.html [new file with mode: 0644]
doc/html/index.html [new file with mode: 0644]
doc/html/menu_bg.png [new file with mode: 0755]
doc/html/menu_bg_current.png [new file with mode: 0755]
doc/html/menu_bg_hover.png [new file with mode: 0755]
doc/html/menu_bg_last.png [new file with mode: 0755]
doc/html/menu_bg_unsel.png [new file with mode: 0755]
doc/html/modules.html [new file with mode: 0644]
doc/html/nav_f.png [new file with mode: 0644]
doc/html/nav_h.png [new file with mode: 0644]
doc/html/open.png [new file with mode: 0644]
doc/html/pages.html [new file with mode: 0644]
doc/html/struct__Evas__Coord__Rectangle.html [new file with mode: 0644]
doc/html/struct__Evas__Cserve__Config.html [new file with mode: 0644]
doc/html/struct__Evas__Cserve__Image.html [new file with mode: 0644]
doc/html/struct__Evas__Cserve__Image__Cache.html [new file with mode: 0644]
doc/html/struct__Evas__Cserve__Stats.html [new file with mode: 0644]
doc/html/struct__Evas__Engine__Info.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Hold.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Key__Down.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Key__Up.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Mouse__Down.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Mouse__In.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Mouse__Move.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Mouse__Out.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Mouse__Up.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Mouse__Wheel.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Multi__Down.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Multi__Move.html [new file with mode: 0644]
doc/html/struct__Evas__Event__Multi__Up.html [new file with mode: 0644]
doc/html/struct__Evas__Object__Box__Api.html [new file with mode: 0644]
doc/html/struct__Evas__Object__Box__Data.html [new file with mode: 0644]
doc/html/struct__Evas__Smart__Cb__Description.html [new file with mode: 0644]
doc/html/struct__Evas__Smart__Class.html [new file with mode: 0644]
doc/html/tab_a.png [new file with mode: 0644]
doc/html/tab_b.png [new file with mode: 0644]
doc/html/tab_h.png [new file with mode: 0644]
doc/html/tab_s.png [new file with mode: 0644]
doc/html/tabs.css [new file with mode: 0644]
doc/html/todo.html [new file with mode: 0644]
doc/latex/Evas_8h.tex [new file with mode: 0644]
doc/latex/annotated.tex [new file with mode: 0644]
doc/latex/doxygen.sty [new file with mode: 0644]
doc/latex/files.tex [new file with mode: 0644]
doc/latex/group__Evas__Canvas.tex [new file with mode: 0644]
doc/latex/group__Evas__Canvas__Events.tex [new file with mode: 0644]
doc/latex/group__Evas__Coord__Mapping__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Cserve.tex [new file with mode: 0644]
doc/latex/group__Evas__Event__Feeding__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Event__Freezing__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Font__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Font__Path__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Image__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Line__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Box.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Group__Basic.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Group__Events.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Group__Extras.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Group__Find.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Group__Interceptors.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Group__Map.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Group__Size__Hints.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Image.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Polygon.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Rectangle.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Specific.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Table.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Text.tex [new file with mode: 0644]
doc/latex/group__Evas__Object__Textblock.tex [new file with mode: 0644]
doc/latex/group__Evas__Output__Method.tex [new file with mode: 0644]
doc/latex/group__Evas__Output__Size.tex [new file with mode: 0644]
doc/latex/group__Evas__Pointer__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Smart__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Smart__Object__Clipped.tex [new file with mode: 0644]
doc/latex/group__Evas__Smart__Object__Group.tex [new file with mode: 0644]
doc/latex/group__Evas__Utils.tex [new file with mode: 0644]
doc/latex/hierarchy.tex [new file with mode: 0644]
doc/latex/index.tex [new file with mode: 0644]
doc/latex/modules.tex [new file with mode: 0644]
doc/latex/refman.tex [new file with mode: 0644]
doc/latex/struct__Evas__Coord__Rectangle.tex [new file with mode: 0644]
doc/latex/struct__Evas__Cserve__Config.tex [new file with mode: 0644]
doc/latex/struct__Evas__Cserve__Image.tex [new file with mode: 0644]
doc/latex/struct__Evas__Cserve__Image__Cache.tex [new file with mode: 0644]
doc/latex/struct__Evas__Cserve__Stats.tex [new file with mode: 0644]
doc/latex/struct__Evas__Engine__Info.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Hold.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Key__Down.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Key__Up.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Mouse__Down.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Mouse__In.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Mouse__Move.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Mouse__Out.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Mouse__Up.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Mouse__Wheel.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Multi__Down.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Multi__Move.tex [new file with mode: 0644]
doc/latex/struct__Evas__Event__Multi__Up.tex [new file with mode: 0644]
doc/latex/struct__Evas__Object__Box__Api.tex [new file with mode: 0644]
doc/latex/struct__Evas__Object__Box__Data.tex [new file with mode: 0644]
doc/latex/struct__Evas__Smart__Cb__Description.tex [new file with mode: 0644]
doc/latex/struct__Evas__Smart__Class.tex [new file with mode: 0644]
doc/latex/todo.tex [new file with mode: 0644]
doc/man/man3/ENFN.3 [new file with mode: 0644]
doc/man/man3/EVAS_ALLOC_ERROR_FATAL.3 [new file with mode: 0644]
doc/man/man3/EVAS_ALLOC_ERROR_NONE.3 [new file with mode: 0644]
doc/man/man3/EVAS_ALLOC_ERROR_RECOVERED.3 [new file with mode: 0644]
doc/man/man3/EVAS_BUTTON_DOUBLE_CLICK.3 [new file with mode: 0644]
doc/man/man3/EVAS_BUTTON_NONE.3 [new file with mode: 0644]
doc/man/man3/EVAS_BUTTON_TRIPLE_CLICK.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_CANVAS_FOCUS_IN.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_CANVAS_FOCUS_OUT.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_CHANGED_SIZE_HINTS.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_DEL.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_FOCUS_IN.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_FOCUS_OUT.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_FREE.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_HIDE.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_HOLD.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_IMAGE_PRELOADED.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_IMAGE_UNLOADED.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_KEY_DOWN.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_KEY_UP.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_LAST.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_MOUSE_DOWN.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_MOUSE_IN.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_MOUSE_MOVE.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_MOUSE_OUT.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_MOUSE_UP.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_MOUSE_WHEEL.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_MOVE.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_MULTI_DOWN.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_MULTI_MOVE.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_MULTI_UP.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_RENDER_FLUSH_POST.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_RENDER_FLUSH_PRE.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_RESIZE.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_RESTACK.3 [new file with mode: 0644]
doc/man/man3/EVAS_CALLBACK_SHOW.3 [new file with mode: 0644]
doc/man/man3/EVAS_COLORSPACE_ARGB8888.3 [new file with mode: 0644]
doc/man/man3/EVAS_COLORSPACE_GRY8.3 [new file with mode: 0644]
doc/man/man3/EVAS_COLORSPACE_RGB565_A5P.3 [new file with mode: 0644]
doc/man/man3/EVAS_COLORSPACE_YCBCR422P601_PL.3 [new file with mode: 0644]
doc/man/man3/EVAS_COLORSPACE_YCBCR422P709_PL.3 [new file with mode: 0644]
doc/man/man3/EVAS_COLOR_SPACE_AHSV.3 [new file with mode: 0644]
doc/man/man3/EVAS_COLOR_SPACE_ARGB.3 [new file with mode: 0644]
doc/man/man3/EVAS_EVENT_FLAG_NONE.3 [new file with mode: 0644]
doc/man/man3/EVAS_EVENT_FLAG_ON_HOLD.3 [new file with mode: 0644]
doc/man/man3/EVAS_EVENT_FLAG_ON_SCROLL.3 [new file with mode: 0644]
doc/man/man3/EVAS_FONT_HINTING_AUTO.3 [new file with mode: 0644]
doc/man/man3/EVAS_FONT_HINTING_BYTECODE.3 [new file with mode: 0644]
doc/man/man3/EVAS_FONT_HINTING_NONE.3 [new file with mode: 0644]
doc/man/man3/EVAS_HINT_EXPAND.3 [new file with mode: 0644]
doc/man/man3/EVAS_HINT_FILL.3 [new file with mode: 0644]
doc/man/man3/EVAS_LAYER_MAX.3 [new file with mode: 0644]
doc/man/man3/EVAS_LAYER_MIN.3 [new file with mode: 0644]
doc/man/man3/EVAS_LOAD_ERROR_CORRUPT_FILE.3 [new file with mode: 0644]
doc/man/man3/EVAS_LOAD_ERROR_DOES_NOT_EXIST.3 [new file with mode: 0644]
doc/man/man3/EVAS_LOAD_ERROR_GENERIC.3 [new file with mode: 0644]
doc/man/man3/EVAS_LOAD_ERROR_NONE.3 [new file with mode: 0644]
doc/man/man3/EVAS_LOAD_ERROR_PERMISSION_DENIED.3 [new file with mode: 0644]
doc/man/man3/EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED.3 [new file with mode: 0644]
doc/man/man3/EVAS_LOAD_ERROR_UNKNOWN_FORMAT.3 [new file with mode: 0644]
doc/man/man3/EVAS_OBJECT_BOX_API_INIT.3 [new file with mode: 0644]
doc/man/man3/EVAS_OBJECT_BOX_API_INIT_NAME_VERSION.3 [new file with mode: 0644]
doc/man/man3/EVAS_OBJECT_BOX_API_INIT_NULL.3 [new file with mode: 0644]
doc/man/man3/EVAS_OBJECT_BOX_API_INIT_VERSION.3 [new file with mode: 0644]
doc/man/man3/EVAS_OBJECT_POINTER_MODE_AUTOGRAB.3 [new file with mode: 0644]
doc/man/man3/EVAS_PIXEL_FORMAT_ARGB32.3 [new file with mode: 0644]
doc/man/man3/EVAS_PIXEL_FORMAT_NONE.3 [new file with mode: 0644]
doc/man/man3/EVAS_PIXEL_FORMAT_YUV420P_601.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_ADD.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_ADD_REL.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_BLEND.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_BLEND_REL.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_COPY.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_COPY_REL.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_MASK.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_MUL.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_SUB.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_SUB_REL.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_TINT.3 [new file with mode: 0644]
doc/man/man3/EVAS_RENDER_TINT_REL.3 [new file with mode: 0644]
doc/man/man3/EVAS_SMART_CLASS_INIT_NAME_VERSION.3 [new file with mode: 0644]
doc/man/man3/EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT.3 [new file with mode: 0644]
doc/man/man3/EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS.3 [new file with mode: 0644]
doc/man/man3/EVAS_SMART_CLASS_INIT_NULL.3 [new file with mode: 0644]
doc/man/man3/EVAS_SMART_CLASS_INIT_VERSION.3 [new file with mode: 0644]
doc/man/man3/EVAS_SMART_CLASS_VERSION.3 [new file with mode: 0644]
doc/man/man3/EVAS_SMART_DATA_ALLOC.3 [new file with mode: 0644]
doc/man/man3/EVAS_SMART_SUBCLASS_NEW.3 [new file with mode: 0644]
doc/man/man3/EVAS_TEXTURE_PAD.3 [new file with mode: 0644]
doc/man/man3/EVAS_TEXTURE_REFLECT.3 [new file with mode: 0644]
doc/man/man3/EVAS_TEXTURE_REPEAT.3 [new file with mode: 0644]
doc/man/man3/EVAS_TEXTURE_RESTRICT.3 [new file with mode: 0644]
doc/man/man3/EVAS_TEXTURE_RESTRICT_REFLECT.3 [new file with mode: 0644]
doc/man/man3/EVAS_TEXTURE_RESTRICT_REPEAT.3 [new file with mode: 0644]
doc/man/man3/EVAS_TEXT_INVALID.3 [new file with mode: 0644]
doc/man/man3/EVAS_TEXT_SPECIAL.3 [new file with mode: 0644]
doc/man/man3/Evas.3 [new file with mode: 0644]
doc/man/man3/Evas.h.3 [new file with mode: 0644]
doc/man/man3/Evas_Alloc_Error.3 [new file with mode: 0644]
doc/man/man3/Evas_Button_Flags.3 [new file with mode: 0644]
doc/man/man3/Evas_Callback_Type.3 [new file with mode: 0644]
doc/man/man3/Evas_Canvas.3 [new file with mode: 0644]
doc/man/man3/Evas_Canvas_Events.3 [new file with mode: 0644]
doc/man/man3/Evas_Colorspace.3 [new file with mode: 0644]
doc/man/man3/Evas_Coord_Mapping_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Coord_Point.3 [new file with mode: 0644]
doc/man/man3/Evas_Coord_Precision_Point.3 [new file with mode: 0644]
doc/man/man3/Evas_Coord_Rectangle.3 [new file with mode: 0644]
doc/man/man3/Evas_Cserve.3 [new file with mode: 0644]
doc/man/man3/Evas_Device.3 [new file with mode: 0644]
doc/man/man3/Evas_Engine_Info.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Feeding_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Flags.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Freezing_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Hold.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Key_Down.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Key_Up.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Mouse_Down.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Mouse_In.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Mouse_Move.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Mouse_Out.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Mouse_Up.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Mouse_Wheel.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Multi_Down.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Multi_Move.3 [new file with mode: 0644]
doc/man/man3/Evas_Event_Multi_Up.3 [new file with mode: 0644]
doc/man/man3/Evas_Fill_Spread.3 [new file with mode: 0644]
doc/man/man3/Evas_Font_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Font_Hinting_Flags.3 [new file with mode: 0644]
doc/man/man3/Evas_Font_Path_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Image_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Line_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Load_Error.3 [new file with mode: 0644]
doc/man/man3/Evas_Lock.3 [new file with mode: 0644]
doc/man/man3/Evas_Map.3 [new file with mode: 0644]
doc/man/man3/Evas_Modifier.3 [new file with mode: 0644]
doc/man/man3/Evas_Modifier_Mask.3 [new file with mode: 0644]
doc/man/man3/Evas_Native_Surface.3 [new file with mode: 0644]
doc/man/man3/Evas_Object.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Box.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Box_Api.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Box_Data.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Box_Option.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Group_Basic.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Group_Events.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Group_Extras.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Group_Find.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Group_Interceptors.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Group_Map.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Group_Size_Hints.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Image.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Pointer_Mode.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Polygon.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Rectangle.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Smart_Clipped_Data.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Specific.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Table.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Table_Homogeneous_Mode.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Text.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Textblock.3 [new file with mode: 0644]
doc/man/man3/Evas_Object_Textblock_Node_Format.3 [new file with mode: 0644]
doc/man/man3/Evas_Output_Method.3 [new file with mode: 0644]
doc/man/man3/Evas_Output_Size.3 [new file with mode: 0644]
doc/man/man3/Evas_Performance.3 [new file with mode: 0644]
doc/man/man3/Evas_Pixel_Import_Pixel_Format.3 [new file with mode: 0644]
doc/man/man3/Evas_Pixel_Import_Source.3 [new file with mode: 0644]
doc/man/man3/Evas_Point.3 [new file with mode: 0644]
doc/man/man3/Evas_Pointer_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Position.3 [new file with mode: 0644]
doc/man/man3/Evas_Precision_Position.3 [new file with mode: 0644]
doc/man/man3/Evas_Render_Op.3 [new file with mode: 0644]
doc/man/man3/Evas_Smart.3 [new file with mode: 0644]
doc/man/man3/Evas_Smart_Cb_Description.3 [new file with mode: 0644]
doc/man/man3/Evas_Smart_Class.3 [new file with mode: 0644]
doc/man/man3/Evas_Smart_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Smart_Object_Clipped.3 [new file with mode: 0644]
doc/man/man3/Evas_Smart_Object_Group.3 [new file with mode: 0644]
doc/man/man3/Evas_Utils.3 [new file with mode: 0644]
doc/man/man3/_Evas_Alloc_Error.3 [new file with mode: 0644]
doc/man/man3/_Evas_Button_Flags.3 [new file with mode: 0644]
doc/man/man3/_Evas_Callback_Type.3 [new file with mode: 0644]
doc/man/man3/_Evas_Colorspace.3 [new file with mode: 0644]
doc/man/man3/_Evas_Coord_Rectangle.3 [new file with mode: 0644]
doc/man/man3/_Evas_Cserve_Config.3 [new file with mode: 0644]
doc/man/man3/_Evas_Cserve_Image.3 [new file with mode: 0644]
doc/man/man3/_Evas_Cserve_Image_Cache.3 [new file with mode: 0644]
doc/man/man3/_Evas_Cserve_Stats.3 [new file with mode: 0644]
doc/man/man3/_Evas_Engine_Info.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Flags.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Hold.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Key_Down.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Key_Up.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Mouse_Down.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Mouse_In.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Mouse_Move.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Mouse_Out.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Mouse_Up.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Mouse_Wheel.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Multi_Down.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Multi_Move.3 [new file with mode: 0644]
doc/man/man3/_Evas_Event_Multi_Up.3 [new file with mode: 0644]
doc/man/man3/_Evas_Fill_Spread.3 [new file with mode: 0644]
doc/man/man3/_Evas_Font_Hinting_Flags.3 [new file with mode: 0644]
doc/man/man3/_Evas_Load_Error.3 [new file with mode: 0644]
doc/man/man3/_Evas_Object_Box_Api.3 [new file with mode: 0644]
doc/man/man3/_Evas_Object_Box_Data.3 [new file with mode: 0644]
doc/man/man3/_Evas_Object_Pointer_Mode.3 [new file with mode: 0644]
doc/man/man3/_Evas_Pixel_Import_Pixel_Format.3 [new file with mode: 0644]
doc/man/man3/_Evas_Render_Op.3 [new file with mode: 0644]
doc/man/man3/_Evas_Smart_Cb_Description.3 [new file with mode: 0644]
doc/man/man3/_Evas_Smart_Class.3 [new file with mode: 0644]
doc/man/man3/button.3 [new file with mode: 0644]
doc/man/man3/buttons.3 [new file with mode: 0644]
doc/man/man3/callbacks.3 [new file with mode: 0644]
doc/man/man3/compose.3 [new file with mode: 0644]
doc/man/man3/device.3 [new file with mode: 0644]
doc/man/man3/evas_alloc_error.3 [new file with mode: 0644]
doc/man/man3/evas_async_events_fd_get.3 [new file with mode: 0644]
doc/man/man3/evas_async_events_process.3 [new file with mode: 0644]
doc/man/man3/evas_async_events_put.3 [new file with mode: 0644]
doc/man/man3/evas_color_argb_premul.3 [new file with mode: 0644]
doc/man/man3/evas_color_argb_unpremul.3 [new file with mode: 0644]
doc/man/man3/evas_color_hsv_to_rgb.3 [new file with mode: 0644]
doc/man/man3/evas_color_rgb_to_hsv.3 [new file with mode: 0644]
doc/man/man3/evas_coord_screen_x_to_world.3 [new file with mode: 0644]
doc/man/man3/evas_coord_screen_y_to_world.3 [new file with mode: 0644]
doc/man/man3/evas_coord_world_x_to_screen.3 [new file with mode: 0644]
doc/man/man3/evas_coord_world_y_to_screen.3 [new file with mode: 0644]
doc/man/man3/evas_cserve_config_get.3 [new file with mode: 0644]
doc/man/man3/evas_cserve_config_set.3 [new file with mode: 0644]
doc/man/man3/evas_cserve_connected_get.3 [new file with mode: 0644]
doc/man/man3/evas_cserve_disconnect.3 [new file with mode: 0644]
doc/man/man3/evas_cserve_stats_get.3 [new file with mode: 0644]
doc/man/man3/evas_cserve_want_get.3 [new file with mode: 0644]
doc/man/man3/evas_damage_rectangle_add.3 [new file with mode: 0644]
doc/man/man3/evas_data_argb_premul.3 [new file with mode: 0644]
doc/man/man3/evas_data_argb_unpremul.3 [new file with mode: 0644]
doc/man/man3/evas_data_attach_get.3 [new file with mode: 0644]
doc/man/man3/evas_data_attach_set.3 [new file with mode: 0644]
doc/man/man3/evas_engine_info_get.3 [new file with mode: 0644]
doc/man/man3/evas_engine_info_set.3 [new file with mode: 0644]
doc/man/man3/evas_event_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_event_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_event_callback_del_full.3 [new file with mode: 0644]
doc/man/man3/evas_event_feed_hold.3 [new file with mode: 0644]
doc/man/man3/evas_event_feed_key_down.3 [new file with mode: 0644]
doc/man/man3/evas_event_feed_key_up.3 [new file with mode: 0644]
doc/man/man3/evas_event_feed_mouse_cancel.3 [new file with mode: 0644]
doc/man/man3/evas_event_feed_mouse_down.3 [new file with mode: 0644]
doc/man/man3/evas_event_feed_mouse_in.3 [new file with mode: 0644]
doc/man/man3/evas_event_feed_mouse_move.3 [new file with mode: 0644]
doc/man/man3/evas_event_feed_mouse_out.3 [new file with mode: 0644]
doc/man/man3/evas_event_feed_mouse_up.3 [new file with mode: 0644]
doc/man/man3/evas_event_feed_mouse_wheel.3 [new file with mode: 0644]
doc/man/man3/evas_event_freeze.3 [new file with mode: 0644]
doc/man/man3/evas_event_freeze_get.3 [new file with mode: 0644]
doc/man/man3/evas_event_thaw.3 [new file with mode: 0644]
doc/man/man3/evas_focus_get.3 [new file with mode: 0644]
doc/man/man3/evas_focus_in.3 [new file with mode: 0644]
doc/man/man3/evas_focus_out.3 [new file with mode: 0644]
doc/man/man3/evas_focus_state_get.3 [new file with mode: 0644]
doc/man/man3/evas_font_available_list.3 [new file with mode: 0644]
doc/man/man3/evas_font_available_list_free.3 [new file with mode: 0644]
doc/man/man3/evas_font_cache_flush.3 [new file with mode: 0644]
doc/man/man3/evas_font_cache_get.3 [new file with mode: 0644]
doc/man/man3/evas_font_cache_set.3 [new file with mode: 0644]
doc/man/man3/evas_font_hinting_can_hint.3 [new file with mode: 0644]
doc/man/man3/evas_font_hinting_get.3 [new file with mode: 0644]
doc/man/man3/evas_font_hinting_set.3 [new file with mode: 0644]
doc/man/man3/evas_font_path_append.3 [new file with mode: 0644]
doc/man/man3/evas_font_path_clear.3 [new file with mode: 0644]
doc/man/man3/evas_font_path_list.3 [new file with mode: 0644]
doc/man/man3/evas_font_path_prepend.3 [new file with mode: 0644]
doc/man/man3/evas_free.3 [new file with mode: 0644]
doc/man/man3/evas_image_cache_flush.3 [new file with mode: 0644]
doc/man/man3/evas_image_cache_get.3 [new file with mode: 0644]
doc/man/man3/evas_image_cache_reload.3 [new file with mode: 0644]
doc/man/man3/evas_image_cache_set.3 [new file with mode: 0644]
doc/man/man3/evas_init.3 [new file with mode: 0644]
doc/man/man3/evas_key_lock_get.3 [new file with mode: 0644]
doc/man/man3/evas_key_modifier_get.3 [new file with mode: 0644]
doc/man/man3/evas_load_error_str.3 [new file with mode: 0644]
doc/man/man3/evas_map_alpha_get.3 [new file with mode: 0644]
doc/man/man3/evas_map_alpha_set.3 [new file with mode: 0644]
doc/man/man3/evas_map_count_get.3 [new file with mode: 0644]
doc/man/man3/evas_map_dup.3 [new file with mode: 0644]
doc/man/man3/evas_map_free.3 [new file with mode: 0644]
doc/man/man3/evas_map_new.3 [new file with mode: 0644]
doc/man/man3/evas_map_point_color_get.3 [new file with mode: 0644]
doc/man/man3/evas_map_point_color_set.3 [new file with mode: 0644]
doc/man/man3/evas_map_point_coord_get.3 [new file with mode: 0644]
doc/man/man3/evas_map_point_coord_set.3 [new file with mode: 0644]
doc/man/man3/evas_map_point_image_uv_get.3 [new file with mode: 0644]
doc/man/man3/evas_map_point_image_uv_set.3 [new file with mode: 0644]
doc/man/man3/evas_map_smooth_get.3 [new file with mode: 0644]
doc/man/man3/evas_map_smooth_set.3 [new file with mode: 0644]
doc/man/man3/evas_map_util_3d_lighting.3 [new file with mode: 0644]
doc/man/man3/evas_map_util_3d_perspective.3 [new file with mode: 0644]
doc/man/man3/evas_map_util_3d_rotate.3 [new file with mode: 0644]
doc/man/man3/evas_map_util_clockwise_get.3 [new file with mode: 0644]
doc/man/man3/evas_map_util_points_color_set.3 [new file with mode: 0644]
doc/man/man3/evas_map_util_points_populate_from_geometry.3 [new file with mode: 0644]
doc/man/man3/evas_map_util_points_populate_from_object.3 [new file with mode: 0644]
doc/man/man3/evas_map_util_points_populate_from_object_full.3 [new file with mode: 0644]
doc/man/man3/evas_map_util_rotate.3 [new file with mode: 0644]
doc/man/man3/evas_map_util_zoom.3 [new file with mode: 0644]
doc/man/man3/evas_new.3 [new file with mode: 0644]
doc/man/man3/evas_nochange_pop.3 [new file with mode: 0644]
doc/man/man3/evas_nochange_push.3 [new file with mode: 0644]
doc/man/man3/evas_norender.3 [new file with mode: 0644]
doc/man/man3/evas_object_above_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_anti_alias_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_anti_alias_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_below_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_bottom_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_accessor_new.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_add_to.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_align_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_align_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_append.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_children_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_insert_after.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_insert_at.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_insert_before.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_iterator_new.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_layout_flow_horizontal.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_layout_flow_vertical.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_layout_homogeneous_horizontal.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_layout_homogeneous_max_size_horizontal.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_layout_homogeneous_max_size_vertical.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_layout_homogeneous_vertical.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_layout_horizontal.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_layout_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_layout_stack.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_layout_vertical.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_option_property_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_option_property_id_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_option_property_name_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_option_property_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_option_property_vget.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_option_property_vset.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_padding_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_padding_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_prepend.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_remove.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_remove_all.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_remove_at.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_smart_class_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_box_smart_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_clip_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_clip_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_clip_unset.3 [new file with mode: 0644]
doc/man/man3/evas_object_clipees_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_color_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_color_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_data_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_data_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_data_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_evas_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_event_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_event_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_event_callback_del_full.3 [new file with mode: 0644]
doc/man/man3/evas_object_focus_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_focus_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_geometry_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_hide.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_alpha_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_alpha_mask_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_alpha_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_border_center_fill_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_border_center_fill_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_border_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_border_scale_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_border_scale_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_border_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_colorspace_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_colorspace_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_content_hint_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_content_hint_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_data_convert.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_data_copy_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_data_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_data_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_data_update_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_file_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_file_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_fill_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_fill_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_fill_spread_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_fill_spread_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_filled_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_filled_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_filled_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_load_dpi_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_load_dpi_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_load_error_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_load_scale_down_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_load_scale_down_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_load_size_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_load_size_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_memfile_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_native_surface_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_native_surface_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_pixels_dirty_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_pixels_dirty_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_pixels_get_callback_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_pixels_import.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_preload.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_reload.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_save.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_scale_hint_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_scale_hint_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_size_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_size_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_smooth_scale_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_smooth_scale_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_source_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_source_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_source_unset.3 [new file with mode: 0644]
doc/man/man3/evas_object_image_stride_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_clip_set_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_clip_set_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_clip_unset_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_clip_unset_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_color_set_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_color_set_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_hide_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_hide_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_layer_set_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_layer_set_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_lower_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_lower_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_move_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_move_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_raise_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_raise_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_resize_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_resize_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_show_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_show_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_stack_above_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_stack_above_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_stack_below_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_intercept_stack_below_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_layer_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_layer_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_line_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_line_xy_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_line_xy_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_lower.3 [new file with mode: 0644]
doc/man/man3/evas_object_map_enable_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_map_enable_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_map_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_map_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_map_source_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_map_source_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_move.3 [new file with mode: 0644]
doc/man/man3/evas_object_name_find.3 [new file with mode: 0644]
doc/man/man3/evas_object_name_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_name_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_pass_events_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_pass_events_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_pointer_mode_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_pointer_mode_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_polygon_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_polygon_point_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_polygon_points_clear.3 [new file with mode: 0644]
doc/man/man3/evas_object_precise_is_inside_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_precise_is_inside_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_propagate_events_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_propagate_events_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_raise.3 [new file with mode: 0644]
doc/man/man3/evas_object_rectangle_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_ref.3 [new file with mode: 0644]
doc/man/man3/evas_object_render_op_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_render_op_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_repeat_events_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_repeat_events_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_resize.3 [new file with mode: 0644]
doc/man/man3/evas_object_scale_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_scale_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_show.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_align_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_align_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_aspect_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_aspect_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_expand_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_expand_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_fill_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_fill_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_max_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_max_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_min_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_min_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_padding_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_padding_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_request_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_request_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_weight_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_size_hint_weight_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_calculate.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_callback_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_callback_call.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_callback_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_callbacks_descriptions_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_callbacks_descriptions_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_changed.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_clipped_class_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_clipped_clipper_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_clipped_smart_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_data_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_data_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_member_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_member_del.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_members_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_move_children_relative.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_need_recalculate_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_need_recalculate_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_parent_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_smart_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_type_check.3 [new file with mode: 0644]
doc/man/man3/evas_object_smart_type_check_ptr.3 [new file with mode: 0644]
doc/man/man3/evas_object_stack_above.3 [new file with mode: 0644]
doc/man/man3/evas_object_stack_below.3 [new file with mode: 0644]
doc/man/man3/evas_object_static_clip_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_static_clip_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_accessor_new.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_add_to.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_align_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_align_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_child_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_children_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_clear.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_col_row_size_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_homogeneous_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_homogeneous_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_iterator_new.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_mirrored_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_mirrored_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_pack.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_padding_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_padding_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_table_unpack.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_ascent_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_char_coords_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_char_pos_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_descent_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_direction_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_font_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_font_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_font_source_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_font_source_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_glow2_color_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_glow2_color_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_glow_color_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_glow_color_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_horiz_advance_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_inset_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_last_up_to_pos.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_max_ascent_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_max_descent_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_outline_color_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_outline_color_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_shadow_color_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_shadow_color_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_style_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_style_pad_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_style_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_text_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_text_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_text_vert_advance_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_add.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_clear.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_cursor_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_cursor_new.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_line_number_geometry_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_newline_mode_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_newline_mode_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_replace_char_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_replace_char_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_size_formatted_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_size_native_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_style_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_style_insets_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_style_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_text_markup_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_text_markup_prepend.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_text_markup_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_valign_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_textblock_valign_set.3 [new file with mode: 0644]
doc/man/man3/evas_object_top_at_pointer_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_top_at_xy_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_top_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_top_in_rectangle_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_type_get.3 [new file with mode: 0644]
doc/man/man3/evas_object_unref.3 [new file with mode: 0644]
doc/man/man3/evas_object_visible_get.3 [new file with mode: 0644]
doc/man/man3/evas_objects_at_xy_get.3 [new file with mode: 0644]
doc/man/man3/evas_objects_in_rectangle_get.3 [new file with mode: 0644]
doc/man/man3/evas_obscured_clear.3 [new file with mode: 0644]
doc/man/man3/evas_obscured_rectangle_add.3 [new file with mode: 0644]
doc/man/man3/evas_output_method_get.3 [new file with mode: 0644]
doc/man/man3/evas_output_method_set.3 [new file with mode: 0644]
doc/man/man3/evas_output_size_get.3 [new file with mode: 0644]
doc/man/man3/evas_output_size_set.3 [new file with mode: 0644]
doc/man/man3/evas_output_viewport_get.3 [new file with mode: 0644]
doc/man/man3/evas_output_viewport_set.3 [new file with mode: 0644]
doc/man/man3/evas_pointer_button_down_mask_get.3 [new file with mode: 0644]
doc/man/man3/evas_pointer_canvas_xy_get.3 [new file with mode: 0644]
doc/man/man3/evas_pointer_inside_get.3 [new file with mode: 0644]
doc/man/man3/evas_pointer_output_xy_get.3 [new file with mode: 0644]
doc/man/man3/evas_post_event_callback_push.3 [new file with mode: 0644]
doc/man/man3/evas_post_event_callback_remove.3 [new file with mode: 0644]
doc/man/man3/evas_post_event_callback_remove_full.3 [new file with mode: 0644]
doc/man/man3/evas_render.3 [new file with mode: 0644]
doc/man/man3/evas_render_idle_flush.3 [new file with mode: 0644]
doc/man/man3/evas_render_method_list.3 [new file with mode: 0644]
doc/man/man3/evas_render_method_list_free.3 [new file with mode: 0644]
doc/man/man3/evas_render_method_lookup.3 [new file with mode: 0644]
doc/man/man3/evas_render_updates.3 [new file with mode: 0644]
doc/man/man3/evas_render_updates_free.3 [new file with mode: 0644]
doc/man/man3/evas_shutdown.3 [new file with mode: 0644]
doc/man/man3/evas_smart_callback_description_find.3 [new file with mode: 0644]
doc/man/man3/evas_smart_callbacks_descriptions_get.3 [new file with mode: 0644]
doc/man/man3/evas_smart_class_get.3 [new file with mode: 0644]
doc/man/man3/evas_smart_class_inherit.3 [new file with mode: 0644]
doc/man/man3/evas_smart_class_inherit_full.3 [new file with mode: 0644]
doc/man/man3/evas_smart_class_new.3 [new file with mode: 0644]
doc/man/man3/evas_smart_data_get.3 [new file with mode: 0644]
doc/man/man3/evas_smart_free.3 [new file with mode: 0644]
doc/man/man3/evas_smart_objects_calculate.3 [new file with mode: 0644]
doc/man/man3/evas_string_char_len_get.3 [new file with mode: 0644]
doc/man/man3/evas_string_char_next_get.3 [new file with mode: 0644]
doc/man/man3/evas_string_char_prev_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_at_format_set.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_char_coord_set.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_char_delete.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_char_geometry_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_char_next.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_char_prev.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_compare.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_content_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_copy.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_eol_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_format_append.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_format_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_format_is_visible_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_format_item_geometry_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_format_next.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_format_prepend.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_format_prev.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_free.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_geometry_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_is_format.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_line_char_first.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_line_char_last.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_line_coord_set.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_line_geometry_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_line_set.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_paragraph_char_first.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_paragraph_char_last.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_paragraph_first.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_paragraph_last.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_paragraph_next.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_paragraph_prev.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_paragraph_text_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_paragraph_text_length_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_pen_geometry_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_pos_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_pos_set.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_range_delete.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_range_geometry_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_range_text_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_set_at_format.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_text_append.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_cursor_text_prepend.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_escape_string_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_escape_string_range_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_node_format_first_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_node_format_last_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_node_format_next_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_node_format_prev_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_node_format_remove_pair.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_node_format_text_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_string_escape_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_style_free.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_style_get.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_style_new.3 [new file with mode: 0644]
doc/man/man3/evas_textblock_style_set.3 [new file with mode: 0644]
doc/man/man3/h.3 [new file with mode: 0644]
doc/man/man3/hold.3 [new file with mode: 0644]
doc/man/man3/interfaces.3 [new file with mode: 0644]
doc/man/man3/key.3 [new file with mode: 0644]
doc/man/man3/keyname.3 [new file with mode: 0644]
doc/man/man3/magic.3 [new file with mode: 0644]
doc/man/man3/name.3 [new file with mode: 0644]
doc/man/man3/parent.3 [new file with mode: 0644]
doc/man/man3/saved_memory.3 [new file with mode: 0644]
doc/man/man3/saved_memory_peak.3 [new file with mode: 0644]
doc/man/man3/saved_time_image_data_load.3 [new file with mode: 0644]
doc/man/man3/saved_time_image_header_load.3 [new file with mode: 0644]
doc/man/man3/string.3 [new file with mode: 0644]
doc/man/man3/todo.3 [new file with mode: 0644]
doc/man/man3/type.3 [new file with mode: 0644]
doc/man/man3/w.3 [new file with mode: 0644]
doc/man/man3/wasted_memory.3 [new file with mode: 0644]
doc/man/man3/wasted_memory_peak.3 [new file with mode: 0644]
doc/man/man3/x.3 [new file with mode: 0644]
doc/man/man3/y.3 [new file with mode: 0644]
evas-1.0.999.0-doc.tar.bz2 [new file with mode: 0644]
evas-1.0.999.0-doc.tar.bz2.cdbs-config_list [new file with mode: 0644]
evas.spec [new file with mode: 0644]
install-sh [new file with mode: 0755]
libtool [new file with mode: 0755]
ltmain.sh [new file with mode: 0755]
m4/libtool.m4 [new file with mode: 0644]
m4/ltoptions.m4 [new file with mode: 0644]
m4/ltsugar.m4 [new file with mode: 0644]
m4/ltversion.m4 [new file with mode: 0644]
m4/lt~obsolete.m4 [new file with mode: 0644]
missing [new file with mode: 0755]
src/bin/evas_cserve [new file with mode: 0755]
src/bin/evas_cserve_tool [new file with mode: 0755]
src/lib/cache/evas_cache_image.c
stamp-h1 [new file with mode: 0644]

diff --git a/README b/README
new file mode 100644 (file)
index 0000000..1fd3732
--- /dev/null
+++ b/README
@@ -0,0 +1,880 @@
+Evas 1.0.999.0
+
+******************************************************************************
+
+ FOR ANY ISSUES PLEASE EMAIL:
+ enlightenment-devel@lists.sourceforge.net
+
+******************************************************************************
+
+Requirements:
+-------------
+
+Must:
+  libc
+  libm
+  eina (1.0.0 or better)
+  freetype (2.1.9 or better)
+
+Recommended:
+  libX11
+  libXext
+  libXrender
+  fontconfig
+  libpng
+  libjpeg
+  eet (1.4.0 or better)
+  libpthread
+
+Optional:
+  XCB SDL OpenGL Qtopia librsvg libtiff libgif edb DirectFB
+
+Evas is a clean display canvas API for several target display systems
+that can draw anti-aliased text, smooth super and sub-sampled scaled
+images, alpha-blend objects much and more.
+
+Evas is designed to be portable to different display systems. Evas uses very
+little RAM too (try profiling it in memprof if you want to
+know) most of the ram allocated, if you look, is for freetype itself,
+image pixel data, and font glyph data. You can't really avoid this, though
+evas tries to share this data as much as possible and not duplicate where it
+can. Feel free to point me at sensible memory optimizations etc. though :) I
+want this baby to be lean, mean tiny, fast and do everything from your
+massive multi-cpu desktop with gobs of ram and disk to a tiny watch.
+
+Evas also supports full UTF-8 for text object strings, thus allowing for
+full internationalized text strings (if your font gives you all the
+characters). I've tested with quite a few fonts and it works quite well.
+Though this requires a unicode compatible font with unicode charmap support
+(cyberbit is quite good actually as a font). For now Evas draws the fonts
+only from left to right, so arabic, hebrew etc. won't display quite right,
+direction-wise, but the characters do.
+
+------------------------------------------------------------------------------
+COMPILING AND INSTALLING:
+
+  ./configure
+  make
+(as root unless you are installing in your users directories):
+  make install
+
+if you want to know what options to enable
+./configure --help
+
+Evas's rendering code assumes a decently optimizing compiler. For
+example gcc with -O2 -march=nocona for example (compile for core2 duo
+x86 or better). You may choose not to compile for a very modern
+architecture, and Evas still has MMX/SSE, NEON and other hand-crafted
+assembly, but not for everything, so make use of your compiler
+optimizing as much as possible. At least use -O2 or equivalents.
+
+Notes:
+  the small dither mask is faster on the ipaq, but is not as good looking. on
+  desktop machines it makes no speed difference so only use
+  --enable-small-dither-mask if you are compiling for the ipaq
+  you need at least 1 image loader if you want to load images.
+  gcc 3.0.x on solaris screws up the jpeg code so erroring out doesn't work.
+    use gcc 3.2 on solaris.
+
+notes on features (--enable-FEATURE enables it and --disable-FEATURE
+disables it, some being enabled or disabled by default or if
+dependencies are found):
+
+
+------------------------------------------------------------------------------
+SCALING:
+--enable-scale-sample
+
+this enables the sampling scaler code. this is the fastest image scaling
+code, but also the lowest quality. when scaling up pixels will become blocky
+and when scaling down you will see shimmering/aliasing artifacts. this is a
+speed vs. quality tradeoff
+
+
+--enable-scale-smooth
+
+this is the nicest looking scaler that is not that much slower than
+tri-linear, but it looks really good.
+
+
+------------------------------------------------------------------------------
+DITHERING:
+--enable-small-dither-mask
+
+this uses a 4x4 dither mask instead of 128x128. on desktop boxes these days
+(pentium, pentium2, amd etc.) the speed difference is not really measurable,
+but the quality of the 128x128 dither mask is quite a lot better. patterns
+of dithering are much less noticeable, so it is recommended to not enable
+this unless you are struggling for speed. the compaq ipaq for example shows
+a slowdown with this large a dither mask so enabling a small dither mask is
+recommended unless you really want to forgo the speed.
+
+
+--enable-line-dither-mask
+
+this is a faster alternative to the small or large dither masks above.
+this dithers only on an alternating-line basis. this only provides 1
+intermediate "dither" level whose odd and even pixels alternate
+between the 2 closest colors available, but it is very fast. almost as
+fast as no dithering. quality though will not be as good as small or
+default "large" dither masks.
+
+
+--enable-no-dither-mask
+
+this disables dithering entirely. this is the fastest option, but the
+lowest quality. not suggested in general unless you are really in need
+of an extra few percent speed and are willing to have fairly awful
+quality. but in general this is the standard rendering for most
+"realtime graphics" if it has to drop to lower bit-depths, so it's
+not anything unusual. just in the evas world the quality is considered
+poor enough to be discouraged as evas's internal rendering is so much
+higher quality.
+
+
+------------------------------------------------------------------------------
+ENGINES:
+
+All engines can be compiled statically inside libevas.so in order to
+reduce runtime time at dynamically loaded modules. All you have to do
+is to enable your chosen modules with "=static" suffix. If they depend
+on software_generic (most do), you need that as well. Examples:
+
+  ./configure --enable-static-software-generic --enable-software-xlib=static
+
+
+--enable-software-xlib[=static]
+
+this enables the software x11 rendering engine that renders to X drawable
+targets using highly optimized software routines. there is no hardware
+assist here. this engine requires X11 to be installed to build (and run).
+This is a good generic engine that is fast and can run in X for good
+development and debugging purposes.
+
+
+--enable-software-xcb[=static]
+
+this enable the software xcb rendering engine. It allows the same
+features than the software xlib engine. It require the XCB and XCBImage
+libraries. For the test programs, XCBICCCM is also needed. It is not
+recommended to use this as it's experimental and will create problems
+with both ecore_evas and enlightenment itself.
+
+
+--enable-fb[=static]
+
+this is the software framebuffer driving engine. this uses the linux
+framebuffer device (/dev/fb{X}) and will currently just inherit the current
+framebuffer settings on the fb device and use them to run in. this engine is
+almost fully functional except for the fb management itself. this engine is
+specifically geared towards people writing minimalist display systems for
+embedded devices such as the ipaq, zaurus, etc. it also scales up to high-res
+desktop systems as
+well.
+
+
+--enable-directfb[=static]
+
+this is the direct fb engine that uses direcftb (http://www.directfb.org) on
+linux to access the framebuffer with (or maybe without) acceleration. for
+people making set-top boxes or just wanting an alternative to X this is
+really good. it may also be useful for embedded devices supported by
+directfb that offer acceleration (otherwise the fb driver will likely be
+faster). as such this engine is in relative disrepair and is not
+maintained. use with great care.
+
+
+--enable-buffer[=static]
+
+this enables the memory buffer rendering engine. this engine renders
+to a region of memory that is considered to be a 32bit ARGB buffer of
+pixels, allowing the results of rendering to be directly read out or
+used again for other purposes.
+
+
+--enable-xrender-x11[=static]
+
+this engine uses the xrender api to do drawing via (possibly)
+accelerated 2d or 3d hardware means. as such xrender has never lived
+up to its possible performance levels and has fallen into disrepair.
+use this engine at your own risk. it is considered to be "bitrotting"
+and be unmaintained.
+
+
+--enable-xrender-xcb[=static]
+
+this is the same as xrender-x11 but uses/exposes an xcb api. It is not
+recommended to use this as it's experimental and will create problems
+with both ecore_evas and enlightenment itself.
+
+
+--enable-gl-x11[=static]
+
+this is the opengl engine. it is intended for an x11 target (via xlib)
+rather than framebuffer (even if you use EGL, the EGL flavor is
+expected to be an x11 one). it is a full opengl based rendering engine
+with all rendering implemented as a texture + triangle pipeline and
+more. it also supports opengl-es2.0 and is reliant on modern opengl2.0+
+shader support. this engine also supports the native surface api for
+adopting pixmaps directly to textures for compositing.
+
+some environment variables that control the opengl engine are as
+follows:
+
+export EVAS_GL_INFO=1
+  set this environment variable to enable output of opengl information
+such as vendor, version, extensions, maximum texture size etc. unset
+the environment variable to make the output quiet again.
+
+export EVAS_GL_MEMINFO=1
+  set this environment variable to enable dumping of debug output
+whenever textures are allocated or freed, giving the number of
+textures of each time and how many kb worth of pixel data are
+allocated for the textures. unset it again to stop this dumping of
+information.
+
+export EVAS_GL_WIN_RESURF=1
+  set this environment variable to enable the gl engine to try and
+ddelete the window surface, if it can, when told to "dump resources"
+to save memory, and re-allocate it when needed (when rendering
+occurs). unset it to not have this behavior.
+
+export EVAS_GL_CUTOUT_MAX=N
+  set this environment variable to the maximum number of rectangles
+applied to a rendering of a primitive that "cut away" parts of that
+primitive to render to avoid overdraw. default is 512. unset it to use
+defaults, otherwise set N to the max value desired or to -1 for
+"unlimited rectangles".
+
+export EVAS_GL_PIPES_MAX=N
+  set the maximum number of parallel pending pipelines to N. the
+default number is 32 (except on tegra2 where is it 1). evas keeps 1 (or more)
+pipelines of gl draw commands in parallel at any time, to allow for merging
+of non-overlapping draw commands to avoid texture binding and context
+changes which allows for more streamlining of the draw arrays that are
+filled and passed to gl per frame. the more pipelines exist, the more
+chance evas has of merging draw commands that have the same modes,
+texture source etc., but the more overhead there is in finding a
+pipeline slot for the draw command to merge into, so there is a
+compromise here between spare cpu resources and gpu pipelining. unset
+this environment variable to let evas use it's default value.
+
+export EVAS_GL_ATLAS_ALLOC_SIZE=N
+  set the size (width in pixels) of the evas texture atlas strips that
+are allocated. the default is 1024. unset this to let evas use its
+default. if this value is larger than the maximum texture size, then it
+is limited to that maximum size internally anyway. evas tries to
+store images together in "atlases". these are large single textures
+that contain multiple images within the same texture. to do this evas
+allocates a "wide strip" of pixels (that is a certain height) and then
+tries to fit all images loaded that need textures into an existing
+atlas texture before allocating a new one. evas tries a best fit
+policy to avoid too much wasting of texture memory. texture atlas
+textures are always allocated to be EVAS_GL_ATLAS_ALLOC_SIZE width,
+and a multiple of EVAS_GL_ATLAS_SLOT_SIZE pixels high (if possible -
+power of 2 limits are enforced if required).
+
+export EVAS_GL_ATLAS_ALLOC_ALPHA_SIZE=N
+  this is exactly the same as EVAS_GL_ATLAS_ALLOC_SIZE, but for
+"alpha" textures (texture used for font glyph data). it works exactly
+the same way as for images, but per font glyph being put in an atlas
+slot. the default value for this is 4096.
+
+export EVAS_GL_ATLAS_MAX_W=N
+  set this to limit the maximum image size (width) that will be
+allowed to go into a texture atlas. if an image exceeds this size, it
+gets allocated its own separate individual texture (this is to help
+minimize fragmentation). the default value for this is 512. if you set
+this environment variable it will be overridden by the value it is set
+to. the maximum value possible here is 512. you may set it to a
+smaller value.
+
+export EVAS_GL_ATLAS_MAX_H=N
+  this is the same as EVAS_GL_ATLAS_MAX_W, but sets the maximum height
+of an image that is allowed into an atlas texture.
+
+export EVAS_GL_ATLAS_SLOT_SIZE=N
+  this sets the height granularity for atlas strips. the default (and
+minimum) value is 16. this means texture atlas strips are always a
+multiple of 16 pixels high (16, 32, 48, 64, etc...). this allows you
+to change the granularity to another value to avoid having more
+textures allocated or try and consolidate allocations into fewer atlas
+strips etc.
+
+export EVAS_GL_NO_MAP_IMAGE_SEC=1
+  if this environment variable is set, it disabled support for the SEC
+map image extension (a zero copy direct-texture access extension that
+removes texture upload overhead). if you have problems with dynamic
+evas images, and this is detected by evas (see EVAS_GL_INFO above to
+find out if its detected), then setting this will allow it to be
+forcibly disabled. unset it to allow auto-detection to keep working.
+
+
+--enable-gl-flavor-gles
+
+this enables the opengl-es 2.0 flavor of opengl (as opposed to desktop
+opengl) when building evas's gl-x11 engine above. this will be needed
+if you are building evas for opengl-es 2.0 enabled embedded devices.
+evas works on several opengl-es 2.0 compliant gpu's and gains more
+testing and optimization regularly. it is also capable of
+texture-from-pixmap support in opengl-es like it is in desktop opengl.
+
+
+--enable-gles-variety-sgx
+
+this tells evas that you are building the gl-es engine for a
+shader-compiler "sgx style" opengl-es 2.0 implementation. this is
+where the shader compiler is provided at runtime and can accept the
+shader glsl source and work
+
+
+--enable-gles-variety-s3c6410
+
+this tells evas that you have an s3c6410 style opengl-es
+implementation that has an offline shader compiler and that needs
+pre-compiled shader binaries (provided with evas). this has not been
+tested in quite a while as the drivers and environment for this system
+have gone missing
+
+
+--enable-software-gdi[=static]
+
+windows gdi based engine for evas
+
+
+--enable-software-ddraw[=static]
+
+windows direct-draw engine for evas
+
+
+--enable-direct3d[=static]
+
+evas direct3d engine (experimental)
+
+
+--enable-quartz[=static]
+
+macos-x quartz engine (experimental)
+
+
+--enable-gl-glew[=static]
+
+opengl glew based gl engine for evas (experimental)
+
+
+--enable-software-sdl[=static]
+
+this is the sdl engine that uses sdl library (http://www.libsdl.org). This
+library should work on many operating system. the buffer is
+software-rendered with evas's default software rendering core.
+
+
+--enable-gl-sdl[=static]
+
+opengl (and opengl-es2.0) rendering engine that uses sdl as the front
+end interface. see --enable-gl-x11 etc. for information.
+
+
+--enable-software-8-x11[=static]
+
+8bit only rendering core. intended for greyscale output on things like
+e-paper or simplistic greyscale LCD devices which have no color, such
+as ebook readers.
+
+if compiling with =static suffix, then must
+"./configure --enable-static-software-8" as well.
+
+
+--enable-software-16-x11[=static]
+
+16bit specific renderer. lower quality than the default. also limited
+in abilities (no support for smooth scale or transformations/map). in
+a state of disrepair. do not use unless your hardware is just 16bpp
+and very limited in CPU and memory.
+
+if compiling with =static suffix, then must
+"./configure  --enable-static-software-16" as well.
+
+
+--enable-software-16-ddraw[=static]
+
+16bit renderer for direct-draw. same as software-16-x11 - don't use.
+in disrepair.
+
+if compiling with =static suffix, then must
+"./configure --enable-static-software-16" as well.
+
+
+--enable-software-16-wince[=static]
+
+same as software-16-ddraw but for windows-ce. in disrepair. don't use.
+
+if compiling with =static suffix, then must
+"./configure --enable-static-software-16" as well.
+
+
+------------------------------------------------------------------------------
+CPU:
+--enable-cpu-c
+
+this enabled the c code. you can actually build the code without the c
+fallback code and only have the mmx routines for example. it is suggested to
+always use this regardless unless you have some definite size issues with the
+code.
+
+
+--enable-cpu-mmx
+
+this enables the mmx optimized routines. this works for pentium, pentium2,
+pentium3, pentium4, athlon and duron processors. it can get quite
+considerable speedups, souse it if you can. ppc owners just have to live with
+the c fallback functions unfortunately as no one has provided any ALTIVEC asm 
+routines yet. :) arm owners will also have to rely on the c fallback
+routines as i haven't managed to come up with any arm assembly that actually
+can beat the c code (when compiled with all optimizations) in speed.
+
+
+--enable-cpu-sse
+
+this enables sse optimizations available in he pentium3 and 4 cpus (not
+athlon and duron or pentium 2 or pentium cpu's). ppc owners just have to
+live with the c fallback functions unfortunately as no one has provided any
+ALTIVEC asm routines yet. :) arm owners will also have to rely on the c
+fallback routines as i haven't managed to come up with any arm assembly that 
+actually can beat the c code (when compiled with all optimizations) in speed.
+
+
+--enable-cpu-neon
+
+This enables support for the Arm Cortex-A8 and later Neon register
+set.  In particular it will use neon optimized code for rotations and
+drawing with the software engines.  Open GL based renderers will gain
+nothing from the use of neon.
+
+To use neon with gcc-4.4 you need a post-2009 gcc and options
+something like: -mcpu=cortex-a8 -mfloat-abi=softfp -mfpu=neon
+Note that this slightly slows down non-optimized parts of evas  but
+the gains in drawing are more then worth it overall.
+
+This is enabled by default, and turns off if a small test program is
+unable to compile.
+
+Performance is at least 50%, and in some real world tests approaches
+100%.
+
+If you have any issues with neon, please report them to either the
+edevel mailing list or Brett Nash <nash@nash.id.au>
+
+
+------------------------------------------------------------------------------
+IMAGE LOADERS:
+--enable-image-loader-png[=static]
+
+this enables the loader code that loads png files using libpng. there may be
+call for embedded devices later that have custom written small image
+loaders that uses less disk space than libpng to load custom format images.
+for now this is the only loader so you may as well include it.
+
+
+--enable-image-loader-jpeg[=static]
+
+this enables the loader code that loads jpeg files using libjpeg. this
+loader also supports load options to pre-scale jpeg images down to
+provide much faster load times while also getting downscaling by 1/2,
+1/4 or 1/8th the size in each dimension for "free". with an added
+patch to libjpeg7, it can also fast-decode a specific region of a jpeg
+file (without the patch it take a slow-path to do this).
+
+
+--enable-image-loader-edb[=static]
+
+edb image loader- can load images inside edb database files. not very
+useful as edb itself is no longer used by enlightenment. may be
+removed at some point, so unless you have a burning need for this,
+don't use edb files to store image data and rely on this loader
+
+
+--enable-image-loader-eet[=static]
+
+loads image data from eet files. eet files are the backing for edje
+storage, so this is needed for edje to work. it is very useful as it
+can load an image from anywhere in the eet archive by key value so eet
+files are like "zip" files where you can pack a whole lot of image and
+other data together and just pick out the pieces you need at runtime.
+requires the eet library.
+
+
+--enable-image-loader-gif[=static]
+
+gif image loader. gif is an obsolete format, but due to its longevity,
+sitll has lots of existing data around.
+
+NOTE: evas has no notion of time, thus animated gif file are not
+supported!
+
+
+--enable-image-loader-pmaps[=static]
+
+ppm/pnm/pgm image loader that can load the "pnm" style image format.
+not very common, but the files are simple raw RGB, greyscale image or
+bitmap data in binary or ascii format
+
+
+--enable-image-loader-svg[=static]
+
+this loader can load svg files via librsvg (thus it is a dependency).
+this loader supports load options to set the dpi to decode the svg at
+etc. which can then be used to create scalable images that scale to
+any size without becoming blocky or blurry, if the source is an svg
+file.
+
+
+--enable-image-loader-tiff[=static]
+
+this loader uses libtiff to load tiff image files
+
+
+--enable-image-loader-xpm[=static]
+
+this is an xpm format image loader. xpm format images are ascii files
+that look like c/c++ source code that contain images. these files are
+old-fashioned unix+x11 images you may encounter, but are inefficient
+for storage and decoding and have been superseded by png files in
+almost every way
+
+
+--enable-image-loader-bmp[=static]
+
+this enables the bmp image format loader. note that there seems to be
+a disagreement on 32bit bmp format images where alpha channels are
+concerned and you may run into issues with bmps generated by the gimp
+that have alpha channels. there is a problem where they don't seem to
+be spec-conformant.
+
+
+--enable-image-loader-tga[=static]
+
+this loader load tga format files. these files are very old-fashioned
+but found often in the 3d graphics world.
+
+
+------------------------------------------------------------------------------
+FONT LOADERS:
+--enable-font-loader-eet[=static]
+
+this loader can load font (ttf) files directly from eet archives like
+the eet image loader. requires the eet library
+
+
+------------------------------------------------------------------------------
+CONVERTERS:
+--enable-convert-yuv
+
+this enables an optimized yuv (yv12 601 colorspace) to ARGB32
+converter in evas
+
+
+--enable-convert-16-rgb-565
+
+the most common converter you'll want for 16bpp. this means 5 bits for red,
+6 bits for green and 5 bits for blue are used.
+
+
+--enable-convert-16-rgb-555
+
+this is a converter for what many people know as "15 bit" color. you might
+want to enable this for X output as it used to be common to find many cards
+that do this.
+
+
+--enable-convert-16-rgb-444
+
+this converter outputs to 12bit packed (int 16 bit WORDS).
+
+
+--enable-convert-16-rgb-ipq
+
+this converter was written specifically for the ipaq (and may apply to
+similarly configured devices) because it lies about its screen depth. it
+says it is 16bit 565 (that means 5 upper bits of the WORD are red, the next 6
+bits are for green abd the next 5 for blue) but in fact only the upper 4
+bits of each color component (red green and blue) are significant and work,
+so effectively the display is 12 bits of color, not 16, but padded out to
+fill 16bits, with unused bits in the color masks. X on the ipaq advertises
+it as a full 16bpp 565 display (i can't remember what the linux framebuffer
+advertised it as) and so many lumps of code can be fooled into rendering
+data badly because they think the output will look as the expect. This
+renderer assumes the upper 4 bits fo each color primitive only are
+significant and renders accordingly. this produces nice quality images on
+the ipaq and even still works in 16bpp 565 on your pc. it is highly
+recommended to use this renderer if your target is an ipaq or your device
+displays similar qualities of the ipaq for display purposes.
+
+
+--enable-convert-16-rgb-rot-0
+
+this enables the 16bpp converters to run with 0 degrees rotation - this is 
+normal display and you should really include this (though it is optional if you
+only ever want to do portrait mode - perhaps like on an ipaq embedded device)
+
+
+--enable-convert-16-rgb-rot-270
+
+this enables the portrait mode (270 degree rotation) converters for 16bpp.
+this is the standard display mode for things like pocketpc on the ipaq and
+the zaurus etc. this is an optimized part of the rendering pipeline to allow
+portrait display with a much lower overhead than doing it through X.
+
+
+--enable-convert-16-rgb-rot-180
+
+same as --enable-convert-16-rgb-rot-270 but for 180 degrees
+
+
+--enable-convert-16-rgb-rot-90
+
+same as --enable-convert-16-rgb-rot-270 but for 90 degrees
+
+
+--enable-convert-24-rgb-888
+
+this converts evas's 32bit ARGB to 24bit RGB packed format for output
+if needed
+
+
+--enable-convert-24-bgr-888
+
+this converts evas's 32bit ARGB to 24bit packed BGR format for output
+if needed
+
+
+--enable-convert-32-rgb-8888
+
+32bit RGB output conversion support. byteswapping compared to evas's
+native colorspace
+
+
+--enable-convert-32-bgr-8888
+
+conversion (reduces toa memory copy) from evas's native colorspace to
+the same color format.
+
+
+--enable-convert-32-rgb-rot-0
+
+copies without rotation evas's native image format
+
+
+--enable-convert-32-rgb-rot-270
+
+copies evas's native ARGB32 pixels but at a rotation of 270 degrees.
+
+
+--enable-convert-32-rgb-rot-180
+
+same as --enable-convert-32-rgb-rot-270 but for 180 degrees
+
+
+--enable-convert-32-rgb-rot-90
+
+same as --enable-convert-32-rgb-rot-270 but for 90 degrees
+
+
+--enable-convert-24-rgb-ezx
+
+a special colorspace handler for 18bit color packed into 24bit output
+(where only 6 bits per r, g and b byte are used). the only known
+platform that did this was the motorola esx based phones that used
+qtopia originally and have open ezx ports for them.
+
+
+--enable-convert-8-gry-1
+
+enable 8bit gray to 1 bit black & white converter
+
+
+--enable-convert-8-gry-16
+
+8bit grey to 16 level grayscale converter
+
+
+--enable-convert-8-grayscale-64
+
+8bit grey to 64 level grayscale converter
+
+
+--enable-convert-8-rgb-332
+
+enable converter from 32bit ARGB to 8bit color "332" colorspace (3bits
+red, 3 bits green, 2 bits blue)
+
+
+--enable-convert-8-rgb-666
+
+enable converter from 32bit ARGB to 8bit color "216" "websafe" 
+colorspace (6 values for red, 6 for green and 6 for blue - 6x6x6 being
+216 colors).
+
+
+--enable-convert-8-rgb-232
+
+same as convert-8-rgb-332 but 2 bits red, 3 green, 2 blue
+
+
+--enable-convert-8-rgb-222
+
+same as convert-8-rgb-332 but 2 bits red, 2 green, 2 blue
+
+
+--enable-convert-8-rgb-221
+
+same as convert-8-rgb-332 but 2 bits red, 2 green, 1 blue
+
+
+--enable-convert-8-rgb-121
+
+same as convert-8-rgb-332 but 1 bit red, 2 green, 1 blue
+
+
+--enable-convert-8-rgb-111
+
+same as convert-8-rgb-332 but 1 bit red, 1 green, 1 blue. this is the
+lowest sized colorspace supported for rgb (3bits, 8 color).
+
+
+------------------------------------------------------------------------------
+MISC:
+--enable-pthreads
+
+this enables pthread support in evas so multiple threads may run
+internally for parallel rendering, loading etc.
+
+
+--enable-async-events
+
+this provides the ability for evas to have an asynchronous event
+notification pipe to provide events when background threads are done
+with tasks, like pre-loading image files
+
+
+--enable-async-preload
+
+evas can load images (preload) them in the background using a thread
+if you ask it to, and provide events when done. this goes hand-in-hand
+with --enable-pthreads and --enable-async-events. you really want all
+of these available.
+
+
+--enable-async-render **CAUTION - MAY NOT WORK RIGHT**
+
+this enables a software multi-frame threaded renderer. this will
+allocate (for example) 2 frames to 2 cores, with one core of the cpu
+rendering the previous frame while the next frame starts rendering on
+another core in the meantime allowing for higher framerates with
+software rendering, using more cpu resources that are available on
+modern multi-core cpu's.
+
+This is buggy! it will likely cause crashes and rendering corruption.
+Do not enable it unless you plan to actually work on it. This requires you
+also set the environment variable EVAS_RENDER_MODE to "non-blocking" to
+enable it at runtime, as the compile-time enable simply sets up the feature
+to be ready to work. The runtime switch actually turns it on. If you don't
+plan to use this feature, don't enable it in the build as there is a general
+performance hit of maintaining this feature at all, so beware that
+enabling it for single core systems will likely take a performance hit.
+
+
+--enable-pipe-render **DISABLED DUE TO BUGS**
+
+this enables a multiple-thread renderer that divides the rendering
+into N regions (1 per core) to speed up rendering in software when you
+have multiple cpu cores.
+
+
+--enable-word-cache
+
+Cache rendered words and draw them as a single object, instead of
+individual characters.  This is a big gain for things like neon which
+draw large runs effectively.
+
+However it is useless on GL and similar back-ends as the cost in
+sending a word sized texture kills the performance gain (and GL is
+pretty good at drawing lots of small things anyway).  If it detects a GL
+backend is in use, it disables itself.
+
+By default words (strings) of more then 50 characters are not cached.
+The system caches 40 words by default, but this can be changed by
+setting EVAS_WORD_CACHE_MAX_WORDS to another number.  Setting it to 0
+will disable word-cache at run time.
+
+Text based benchmarks are 50-100% quicker.
+
+If you have any issues with word caching, please report them to either
+the e-devel mailing list or Brett Nash <nash@nash.id.uau>
+
+For GL see metric caching...
+
+
+--enable-metric-cache
+
+Metric caching saves character metrics between characters in words.
+This enables it to render words much quicker as it avoids things like
+space calculations and kerning calculation.
+
+The cache size is also controlled by EVAS_WORD_CACHE_MAX_WORDS.
+
+It is useful for GL in particular, although software engines do get
+some gain.
+
+Generally it is recommended you enable one or both of word or metric caching,
+depending on your engine use.  If you are only using software, enable word
+caching (and neon on arm if you can), for GL, turn on metric caching.
+A simple solution is enable both, and let the engine sort it out at run time.
+
+If you have any issues with metric caching, please report them to either
+the e-devel mailing list or Brett Nash <nash@nash.id.uau>
+
+
+--enable-fontconfig
+
+this enables fontconfig support for loading font files by using
+generic fontconfig font names and styles. you really should use this
+by default on any linux/unix platform for universal font support.
+
+
+--enable-fribidi
+
+this enables support for the fribidi library to have right to left and
+left to right font rendering so languges such as arabic, hebrew and
+other "RTL" langauges display properly.
+
+
+--enable-evas-magic-debug
+
+this allows you to enable and disable evas's extra magic number
+checks.  these allow better stability with runtime object magic
+"number" checks to make sure you are accessing a real object in memory
+of the right type, and will avoid doing "bad things" if they detect
+the wrong object type being passed in. if you are absolutely sure your
+system has no bugs in accessing objects of the wrong type with the
+wrong calls, you can gain some small performance by disabling this.
+
+
+------------------------------------------------------------------------------
+NOTES:
+
+For the arm optimizations you want to try:
+  export CFLAGS="-O2 -march=armv5te -mcpu=arm1136jf-s -fomit-frame-pointer"
+
+To enable the async renderer compile with:
+  --enable-async-render
+and also runtime set this environment variable:
+  export EVAS_RENDER_MODE=non-blocking
+
+For compilation with MinGW, fnmatch.h is probably missing. That file can be
+found here:
+  http://www.koders.com/c/fid2B518462CB1EED3D4E31E271DB83CD1582F6EEBE.aspx
+It should be installed in the mingw include directory.
+
+For the OpenGL engine on Windows, the glew library is needed:
+  http://glew.sourceforge.net/
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644 (file)
index 0000000..c6ff19f
--- /dev/null
@@ -0,0 +1,9134 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
+[m4_warning([this file was generated for autoconf 2.67.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 56 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+       [m4_default([$3],
+                  [m4_fatal([Libtool version $1 or higher is required],
+                            63)])],
+       [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+  *\ * | *\    *)
+    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    _LT_PATH_MAGIC
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+       [m4_ifval([$1], [$1], [$2])])
+    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+    m4_ifval([$4],
+       [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+    lt_dict_add_subkey([lt_decl_dict], [$2],
+       [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+  [0], [m4_fatal([$0: too few arguments: $#])],
+  [1], [m4_fatal([$0: too few arguments: $#: $1])],
+  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_if([$2], [],
+          m4_quote(lt_decl_varnames),
+       m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+                       lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'.  VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly.  In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+                                          [description])))[]dnl
+m4_pushdef([_libtool_name],
+    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+    [0], [_libtool_name=[$]$1],
+    [1], [_libtool_name=$lt_[]$1],
+    [2], [_libtool_name=$lt_[]$1],
+    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+       dnl If the libtool generation code has been placed in $CONFIG_LT,
+       dnl instead of duplicating it all over again into config.status,
+       dnl then we will have config.status run $CONFIG_LT later, so it
+       dnl needs to know what name is stored there:
+        [AC_CONFIG_COMMANDS([libtool],
+            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+    dnl If the libtool generation code is destined for config.status,
+    dnl expand the accumulated commands and init code now:
+    [AC_CONFIG_COMMANDS([libtool],
+        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+  ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure.  Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+  lt_cl_success=:
+  test "$silent" = yes &&
+    lt_config_lt_args="$lt_config_lt_args --quiet"
+  exec AS_MESSAGE_LOG_FD>/dev/null
+  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+  exec AS_MESSAGE_LOG_FD>>config.log
+  $lt_cl_success || AS_EXIT(1)
+fi
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+  m4_if(_LT_TAG, [C], [
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+  _LT_PROG_LTMAIN
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  _LT_PROG_XSI_SHELLFNS
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],                 [_LT_LANG(C)],
+  [C++],               [_LT_LANG(CXX)],
+  [Java],              [_LT_LANG(GCJ)],
+  [Fortran 77],                [_LT_LANG(F77)],
+  [Fortran],           [_LT_LANG(FC)],
+  [Windows Resource],  [_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+  [LT_SUPPORTED_TAG([$1])dnl
+  m4_append([_LT_TAGS], [$1 ])dnl
+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
+  _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+  [LT_LANG(CXX)],
+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+  [LT_LANG(F77)],
+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+  [LT_LANG(FC)],
+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+  [LT_LANG(GCJ)],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+    [LT_LANG(GCJ)],
+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+      [LT_LANG(GCJ)],
+      [m4_ifdef([AC_PROG_GCJ],
+       [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([A][M_PROG_GCJ],
+       [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([LT_PROG_GCJ],
+       [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+  [LT_LANG(RC)],
+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+    AC_CHECK_TOOL([LIPO], [lipo], [:])
+    AC_CHECK_TOOL([OTOOL], [otool], [:])
+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+    _LT_DECL([], [DSYMUTIL], [1],
+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+    _LT_DECL([], [NMEDIT], [1],
+      [Tool to change global to local symbols on Mac OS X])
+    _LT_DECL([], [LIPO], [1],
+      [Tool to manipulate fat objects and archives on Mac OS X])
+    _LT_DECL([], [OTOOL], [1],
+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+    _LT_DECL([], [OTOOL64], [1],
+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+       # By default we will add the -single_module flag. You can override
+       # by either setting the environment variable LT_MULTI_MODULE
+       # non-empty at configure time, or by adding -multi_module to the
+       # link flags.
+       rm -rf libconftest.dylib*
+       echo "int foo(void){return 1;}" > conftest.c
+       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+         lt_cv_apple_cc_single_mod=yes
+       else
+         cat conftest.err >&AS_MESSAGE_LOG_FD
+       fi
+       rm -rf libconftest.dylib*
+       rm -f conftest.*
+      fi])
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+       [lt_cv_ld_exported_symbols_list=yes],
+       [lt_cv_ld_exported_symbols_list=no])
+       LDFLAGS="$save_LDFLAGS"
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[012]])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+       10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+       10.[[012]]*)
+         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+       10.*)
+         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_automatic, $1)=yes
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  _LT_TAGVAR(link_all_deplibs, $1)=yes
+  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=echo
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+    m4_if([$1], [CXX],
+[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+    fi
+],[])
+  else
+  _LT_TAGVAR(ld_shlibs, $1)=no
+  fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+            [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+        [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_SHELL_INIT
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<_LT_EOF
+[$]*
+_LT_EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+  if test "X${echo_test_string+set}" != Xset; then
+    # find a string as large as possible, as long as the shell can cope with it
+    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+        { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+      then
+        break
+      fi
+    done
+  fi
+
+  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+     test "X$echo_testing_string" = "X$echo_test_string"; then
+    :
+  else
+    # The Solaris, AIX, and Digital Unix default echo programs unquote
+    # backslashes.  This makes it impossible to quote backslashes using
+    #   echo "$something" | sed 's/\\/\\\\/g'
+    #
+    # So, first we look for a working echo in the user's PATH.
+
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for dir in $PATH /usr/ucb; do
+      IFS="$lt_save_ifs"
+      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        ECHO="$dir/echo"
+        break
+      fi
+    done
+    IFS="$lt_save_ifs"
+
+    if test "X$ECHO" = Xecho; then
+      # We didn't find a better echo, so look for alternatives.
+      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        # This shell has a builtin print -r that does the trick.
+        ECHO='print -r'
+      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+          test "X$CONFIG_SHELL" != X/bin/ksh; then
+        # If we have ksh, try running configure again with it.
+        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+        export ORIGINAL_CONFIG_SHELL
+        CONFIG_SHELL=/bin/ksh
+        export CONFIG_SHELL
+        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+      else
+        # Try using printf.
+        ECHO='printf %s\n'
+        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+          echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+          test "X$echo_testing_string" = "X$echo_test_string"; then
+         # Cool, printf works
+         :
+        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+         export CONFIG_SHELL
+         SHELL="$CONFIG_SHELL"
+         export SHELL
+         ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        else
+         # maybe with a smaller string...
+         prev=:
+
+         for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+           if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+           then
+             break
+           fi
+           prev="$cmd"
+         done
+
+         if test "$prev" != 'sed 50q "[$]0"'; then
+           echo_test_string=`eval $prev`
+           export echo_test_string
+           exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+         else
+           # Oops.  We lost completely, so just stick with echo.
+           ECHO=echo
+         fi
+        fi
+      fi
+    fi
+  fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+    [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+  [AS_HELP_STRING([--disable-libtool-lock],
+    [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+       HPUX_IA64_MODE="32"
+       ;;
+      *ELF-64*)
+       HPUX_IA64_MODE="64"
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -melf32bsmip"
+         ;;
+       *N32*)
+         LD="${LD-ld} -melf32bmipn32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -melf64bmip"
+       ;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -32"
+         ;;
+       *N32*)
+         LD="${LD-ld} -n32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -64"
+         ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_i386_fbsd"
+           ;;
+         x86_64-*linux*)
+           LD="${LD-ld} -m elf_i386"
+           ;;
+         ppc64-*linux*|powerpc64-*linux*)
+           LD="${LD-ld} -m elf32ppclinux"
+           ;;
+         s390x-*linux*)
+           LD="${LD-ld} -m elf_s390"
+           ;;
+         sparc64-*linux*)
+           LD="${LD-ld} -m elf32_sparc"
+           ;;
+       esac
+       ;;
+      *64-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_x86_64_fbsd"
+           ;;
+         x86_64-*linux*)
+           LD="${LD-ld} -m elf_x86_64"
+           ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+         s390*-*linux*|s390*-*tpf*)
+           LD="${LD-ld} -m elf64_s390"
+           ;;
+         sparc*-*linux*)
+           LD="${LD-ld} -m elf64_sparc"
+           ;;
+       esac
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+         LD="${LD-ld} -64"
+       fi
+       ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+    [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+    [Commands used to build an old-style archive])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#              [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[        ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+                = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+             test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL          RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL                DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL                0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW         DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW       RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW     DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW     0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}]
+_LT_EOF
+  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+         [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+           [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+       [AC_CHECK_FUNC([dlopen],
+             [lt_cv_dlopen="dlopen"],
+         [AC_CHECK_LIB([dl], [dlopen],
+               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+           [AC_CHECK_LIB([svld], [dlopen],
+                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+             [AC_CHECK_LIB([dld], [dld_link],
+                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+             ])
+           ])
+         ])
+       ])
+      ])
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+         lt_cv_dlopen_self, [dnl
+         _LT_TRY_DLOPEN_SELF(
+           lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+           lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+         lt_cv_dlopen_self_static, [dnl
+         _LT_TRY_DLOPEN_SELF(
+           lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+           lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+        [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+        [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+        [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+       [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test "$hard_links" = no; then
+    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+         [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+  [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+    [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+    ;;
+  *)
+    AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+       [], [
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[[4-9]]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+          echo ' yes '
+          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+       :
+      else
+       can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix[[3-9]]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+       if test "$lt_cv_prog_gnu_ld" = yes; then
+               version_type=linux
+       else
+               version_type=irix
+       fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # Some binutils ld are patched to set DT_RUNPATH
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+       [shlibpath_overrides_runpath=yes])])
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[  ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[[89]] | openbsd2.[[89]].*)
+       shlibpath_overrides_runpath=no
+       ;;
+      *)
+       shlibpath_overrides_runpath=yes
+       ;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+    [Variables whose values should be saved in libtool wrapper scripts and
+    restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+    [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+    [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+    [[List of archive names.  First name is the real one, the rest are links.
+    The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+    [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [postinstall_cmds], [2],
+    [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+    [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+    [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+    [[As "finish_cmds", except a single script fragment to be evaled but
+    not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+    [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+    [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+    [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+       case $deplibs_check_method in
+       "file_magic "*)
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+           $EGREP "$file_magic_regex" > /dev/null; then
+           :
+         else
+           cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+         fi ;;
+       esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+        [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+       [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+       test "$with_gnu_ld" != no && break
+       ;;
+      *)
+       test "$with_gnu_ld" != yes && break
+       ;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[[3-9]]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+    [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+    [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+       # Check to see if the nm accepts a BSD-compat flag.
+       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+       #   nm: unknown option "B" ignored
+       # Tru64's nm complains that /dev/null is an invalid object file
+       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+       */dev/null* | *'Invalid file or object type'*)
+         lt_cv_path_NM="$tmp_nm -B"
+         break
+         ;;
+       *)
+         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+         */dev/null*)
+           lt_cv_path_NM="$tmp_nm -p"
+           break
+           ;;
+         *)
+           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+           continue # so that we can try to find one that supports BSD flags
+           ;;
+         esac
+         ;;
+       esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  AC_SUBST([DUMPBIN])
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+  [lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+       [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK ['"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx]"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[    ]]\($symcode$symcode*\)[[       ]][[    ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+       mv -f "$nlist"T "$nlist"
+      else
+       rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+         cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+         # Now generate the symbol file.
+         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+         cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+         cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+         # Now try linking the two files.
+         mv conftest.$ac_objext conftstm.$ac_objext
+         lt_save_LIBS="$LIBS"
+         lt_save_CFLAGS="$CFLAGS"
+         LIBS="conftstm.$ac_objext"
+         CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+         if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+           pipe_works=yes
+         fi
+         LIBS="$lt_save_LIBS"
+         CFLAGS="$lt_save_CFLAGS"
+       else
+         echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+       fi
+      else
+       echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+    [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+    [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+    [lt_cv_sys_global_symbol_to_c_name_address], [1],
+    [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+    [Transform the output of nm in a C name address pair when lib prefix is needed])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+m4_if([$1], [CXX], [
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+       [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+       ;;
+      *)
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       ;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[[4-9]]*)
+       # All AIX code is PIC.
+       if test "$host_cpu" = ia64; then
+         # AIX 5 now supports IA64 processor
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+       else
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+       fi
+       ;;
+      chorus*)
+       case $cc_basename in
+       cxch68*)
+         # Green Hills C++ Compiler
+         # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+         ;;
+       esac
+       ;;
+      dgux*)
+       case $cc_basename in
+         ec++*)
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           ;;
+         ghcx*)
+           # Green Hills C++ Compiler
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      freebsd* | dragonfly*)
+       # FreeBSD uses GNU C++
+       ;;
+      hpux9* | hpux10* | hpux11*)
+       case $cc_basename in
+         CC*)
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+           if test "$host_cpu" != ia64; then
+             _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+           fi
+           ;;
+         aCC*)
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+           case $host_cpu in
+           hppa*64*|ia64*)
+             # +Z the default
+             ;;
+           *)
+             _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+             ;;
+           esac
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      interix*)
+       # This is c89, which is MS Visual C++ (no shared libs)
+       # Anyone wants to do a port?
+       ;;
+      irix5* | irix6* | nonstopux*)
+       case $cc_basename in
+         CC*)
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+           # CC pic flag -KPIC is the default.
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+       case $cc_basename in
+         KCC*)
+           # KAI C++ Compiler
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+           ;;
+         ecpc* )
+           # old Intel C++ for x86_64 which still supported -KPIC.
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+           ;;
+         icpc* )
+           # Intel C++, used to be incompatible with GCC.
+           # ICC 10 doesn't accept -KPIC any more.
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+           ;;
+         pgCC* | pgcpp*)
+           # Portland Group C++ compiler
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+           ;;
+         cxx*)
+           # Compaq C++
+           # Make sure the PIC flag is empty.  It appears that all Alpha
+           # Linux and Compaq Tru64 Unix objects are PIC.
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+           ;;
+         xlc* | xlC*)
+           # IBM XL 8.0 on PPC
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+           ;;
+         *)
+           case `$CC -V 2>&1 | sed 5q` in
+           *Sun\ C*)
+             # Sun C++ 5.9
+             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+             _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+             _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+             ;;
+           esac
+           ;;
+       esac
+       ;;
+      lynxos*)
+       ;;
+      m88k*)
+       ;;
+      mvs*)
+       case $cc_basename in
+         cxx*)
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      netbsd* | netbsdelf*-gnu)
+       ;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+       case $cc_basename in
+         KCC*)
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+           ;;
+         RCC*)
+           # Rational C++ 2.4.1
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+           ;;
+         cxx*)
+           # Digital/Compaq C++
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           # Make sure the PIC flag is empty.  It appears that all Alpha
+           # Linux and Compaq Tru64 Unix objects are PIC.
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      psos*)
+       ;;
+      solaris*)
+       case $cc_basename in
+         CC*)
+           # Sun C++ 4.2, 5.x and Centerline C++
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+           ;;
+         gcx*)
+           # Green Hills C++ Compiler
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      sunos4*)
+       case $cc_basename in
+         CC*)
+           # Sun C++ 4.x
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+           ;;
+         lcc*)
+           # Lucid
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+       case $cc_basename in
+         CC*)
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+           ;;
+       esac
+       ;;
+      tandem*)
+       case $cc_basename in
+         NCC*)
+           # NonStop-UX NCC 3.20
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      vxworks*)
+       ;;
+      *)
+       _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+       ;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+       [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+       # +Z the default
+       ;;
+      *)
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       ;;
+      esac
+      ;;
+
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      m4_if([$1], [GCJ], [],
+       [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+       # +Z the default
+       ;;
+      *)
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+       ;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+       ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      xl*)
+       # IBM XL C 8.0/Fortran 10.1 on PPC
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+       ;;
+      *)
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ C*)
+         # Sun C 5.9
+         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         ;;
+       *Sun\ F*)
+         # Sun Fortran 8.3 passes all unrecognized flags to the linker
+         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+         _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+         ;;
+       esac
+       ;;
+      esac
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+       [How to pass a linker flag through the compiler])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+       [Additional compiler flags for building library objects])
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+       [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix[[4-9]]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw* | cegcc*)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  linux* | k*bsd*-gnu)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+  ;;
+  *)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
+  runpath_var=
+  _LT_TAGVAR(allow_undefined_flag, $1)=
+  _LT_TAGVAR(always_export_symbols, $1)=no
+  _LT_TAGVAR(archive_cmds, $1)=
+  _LT_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_TAGVAR(compiler_needs_object, $1)=no
+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(hardcode_automatic, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(inherit_rpath, $1)=no
+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_TAGVAR(module_cmds, $1)=
+  _LT_TAGVAR(module_expsym_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  linux* | k*bsd*-gnu)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
+  esac
+
+  _LT_TAGVAR(ld_shlibs, $1)=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[[3-9]]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+       _LT_TAGVAR(ld_shlibs, $1)=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+       # support --undefined.  This deserves some investigation.  FIXME
+       _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+       _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=no
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+       # If the export-symbols file already is a .def file (1st line
+       # is EXPORTS), use it as is; otherwise, prepend...
+       _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+         cp $export_symbols $output_objdir/$soname.def;
+       else
+         echo EXPORTS > $output_objdir/$soname.def;
+         cat $export_symbols >> $output_objdir/$soname.def;
+       fi~
+       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+       _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix[[3-9]]*)
+      _LT_TAGVAR(hardcode_direct, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+       case $cc_basename in
+         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
+       esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+        && test "$tmp_diet" = no
+      then
+       tmp_addflag=
+       tmp_sharedflag='-shared'
+       case $cc_basename,$host_cpu in
+        pgcc*)                         # Portland Group C compiler
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
+         ;;
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       lf95*)                          # Lahey Fortran 8.1
+         _LT_TAGVAR(whole_archive_flag_spec, $1)=
+         tmp_sharedflag='--shared' ;;
+       xl[[cC]]*)                      # IBM XL C 8.0 on PPC (deal with xlf below)
+         tmp_sharedflag='-qmkshrobj'
+         tmp_addflag= ;;
+       esac
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ C*)                       # Sun C 5.9
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(compiler_needs_object, $1)=yes
+         tmp_sharedflag='-G' ;;
+       *Sun\ F*)                       # Sun Fortran 8.3
+         tmp_sharedflag='-G' ;;
+       esac
+       _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+        if test "x$supports_anon_versioning" = xyes; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+           echo "local: *; };" >> $output_objdir/$libname.ver~
+           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+       case $cc_basename in
+       xlf*)
+         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+         _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+         _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+         if test "x$supports_anon_versioning" = xyes; then
+           _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+             echo "local: *; };" >> $output_objdir/$libname.ver~
+             $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+         fi
+         ;;
+       esac
+      else
+        _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+       wlarc=
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+       _LT_TAGVAR(ld_shlibs, $1)=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+       _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+       _LT_TAGVAR(ld_shlibs, $1)=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+       ;;
+       *)
+         # For security reasons, it is highly recommended that you always
+         # use absolute paths for naming shared libraries, and exclude the
+         # DT_RUNPATH tag from executables and libraries.  But doing so
+         # requires that you compile everything twice, which is a pain.
+         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         else
+           _LT_TAGVAR(ld_shlibs, $1)=no
+         fi
+       ;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+       _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+       # Neither direct hardcoding nor static linking is supported with a
+       # broken collect2.
+       _LT_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix[[4-9]]*)
+      if test "$host_cpu" = ia64; then
+       # On IA64, the linker does run time linking by default, so we don't
+       # have to do anything special.
+       aix_use_runtimelinking=no
+       exp_sym_flag='-Bexport'
+       no_entry_flag=""
+      else
+       # If we're using GNU nm, then we don't want the "-C" option.
+       # -C means demangle to AIX nm, but means don't demangle with GNU nm
+       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+       else
+         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+       fi
+       aix_use_runtimelinking=no
+
+       # Test if we are trying to use run time linking or normal
+       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+       # need to do runtime linking.
+       case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+         for ld_flag in $LDFLAGS; do
+         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+           aix_use_runtimelinking=yes
+           break
+         fi
+         done
+         ;;
+       esac
+
+       exp_sym_flag='-bexport'
+       no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_TAGVAR(archive_cmds, $1)=''
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+      if test "$GCC" = yes; then
+       case $host_os in aix4.[[012]]|aix4.[[012]].*)
+       # We only want to do this on AIX 4.2 and lower, the check
+       # below for broken collect2 doesn't work under 4.3+
+         collect2name=`${CC} -print-prog-name=collect2`
+         if test -f "$collect2name" &&
+          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+         then
+         # We have reworked collect2
+         :
+         else
+         # We have old collect2
+         _LT_TAGVAR(hardcode_direct, $1)=unsupported
+         # It fails to find uninstalled libraries when the uninstalled
+         # path is not listed in the libpath.  Setting hardcode_minus_L
+         # to unsupported forces relinking
+         _LT_TAGVAR(hardcode_minus_L, $1)=yes
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+         _LT_TAGVAR(hardcode_libdir_separator, $1)=
+         fi
+         ;;
+       esac
+       shared_flag='-shared'
+       if test "$aix_use_runtimelinking" = yes; then
+         shared_flag="$shared_flag "'${wl}-G'
+       fi
+       _LT_TAGVAR(link_all_deplibs, $1)=no
+      else
+       # not using gcc
+       if test "$host_cpu" = ia64; then
+       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+       # chokes on -Wl,-G. The following line is correct:
+         shared_flag='-G'
+       else
+         if test "$aix_use_runtimelinking" = yes; then
+           shared_flag='${wl}-G'
+         else
+           shared_flag='${wl}-bM:SRE'
+         fi
+       fi
+      fi
+
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      if test "$aix_use_runtimelinking" = yes; then
+       # Warning - without using the other runtime loading flags (-brtl),
+       # -berok will link without error, but may produce a broken library.
+       _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+       if test "$host_cpu" = ia64; then
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+         _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+       else
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+         # Warning - without using the other run time loading flags,
+         # -berok will link without error, but may produce a broken library.
+         _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+         _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+         # Exported symbols can be pulled into shared objects from archives
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+         _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+         # This is similar to how AIX traditionally builds its shared libraries.
+         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+       fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[[45]]*)
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      _LT_DARWIN_LINKER_FEATURES($1)
+      ;;
+
+    dgux*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+       _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+       _LT_TAGVAR(hardcode_direct, $1)=yes
+       _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+       # hardcode_minus_L: Not really in the search PATH,
+       # but as the default location of the library.
+       _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       case $host_cpu in
+       hppa*64*)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      else
+       case $host_cpu in
+       hppa*64*)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      fi
+      if test "$with_gnu_ld" = no; then
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+       case $host_cpu in
+       hppa*64*|ia64*)
+         _LT_TAGVAR(hardcode_direct, $1)=no
+         _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+         ;;
+       *)
+         _LT_TAGVAR(hardcode_direct, $1)=yes
+         _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+         # hardcode_minus_L: Not really in the search PATH,
+         # but as the default location of the library.
+         _LT_TAGVAR(hardcode_minus_L, $1)=yes
+         ;;
+       esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+       # Try to use the -exported_symbol ld option, if it does not
+       # work, assume that -exports_file does not work either and
+       # implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        AC_LINK_IFELSE(int foo(void) {},
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+        )
+        LDFLAGS="$save_LDFLAGS"
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(inherit_rpath, $1)=yes
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+       _LT_TAGVAR(hardcode_direct, $1)=yes
+       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+       _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+       else
+         case $host_os in
+          openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+            _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+            ;;
+          *)
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+            ;;
+         esac
+       fi
+      else
+       _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+       _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)     # as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+       _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+       # Both c and cxx compiler support -rpath directly
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+      if test "$GCC" = yes; then
+       wlarc='${wl}'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+       case `$CC -V 2>&1` in
+       *"Compilers 5.0"*)
+         wlarc=''
+         _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+         ;;
+       *)
+         wlarc='${wl}'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+         ;;
+       esac
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+       # The compiler driver will combine and reorder linker options,
+       # but understands `-z linker_flag'.  GCC discards it without `$wl',
+       # but is careful enough not to reorder.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       if test "$GCC" = yes; then
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+       else
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+       fi
+       ;;
+      esac
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+       # Use $CC to link under sequent, because it throws in some extra .o
+       # files that make .init and .fini sections work.
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+       sni)
+         _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+       ;;
+       siemens)
+         ## LD is ld it makes a PLAMLIB
+         ## CC just makes a GrossModule.
+         _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+         _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+         _LT_TAGVAR(hardcode_direct, $1)=no
+        ;;
+       motorola)
+         _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+       ;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+       runpath_var=LD_RUN_PATH
+       hardcode_runpath_var=yes
+       _LT_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+       ;;
+      esac
+    fi
+  fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+    [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $RM conftest*
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+       pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+        _LT_TAGVAR(allow_undefined_flag, $1)=
+        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+        then
+         _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+         _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+        fi
+        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $RM conftest*
+      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+    [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+    [enable_shared_with_static_runtimes], [0],
+    [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+    [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+    [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+    [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+    [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+    [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+    [Commands used to build a loadable module if different from building
+    a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+    [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+    [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+    [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+    [Flag to hardcode $libdir into a binary during linking.
+    This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+    [[If ld is used when linking, flag to hardcode $libdir into a binary
+    during linking.  This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+    [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary and the resulting library dependency is
+    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+    library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+    [Set to "yes" if building a shared library automatically hardcodes DIR
+    into the library and all subsequent libraries and executables linked
+    against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+    [Set to yes if linker adds runtime paths of dependent libraries
+    to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+    [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [fix_srcfile_path], [1],
+    [Fix the shell variable $srcfile for the compiler])
+_LT_TAGDECL([], [always_export_symbols], [0],
+    [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+    [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+    [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+    [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+    [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [file_list_spec], [1],
+    [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl    [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+  LT_SYS_DLOPEN_SELF
+  _LT_CMD_STRIPLIB
+
+  # Report which library types will actually be built
+  AC_MSG_CHECKING([if libtool supports shared libraries])
+  AC_MSG_RESULT([$can_build_shared])
+
+  AC_MSG_CHECKING([whether to build shared libraries])
+  test "$can_build_shared" = "no" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[[4-9]]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  AC_MSG_RESULT([$enable_shared])
+
+  AC_MSG_CHECKING([whether to build static libraries])
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  AC_MSG_RESULT([$enable_static])
+
+  _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_PROG_CXX
+# ------------
+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
+# compiler, we have our own version here.
+m4_defun([_LT_PROG_CXX],
+[
+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
+AC_PROG_CXX
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_CXX
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_CXX], [])
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[AC_REQUIRE([_LT_PROG_CXX])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test "$GXX" = yes; then
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+    else
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+    fi
+
+    if test "$GXX" = yes; then
+      # Set up default GNU C++ configuration
+
+      LT_PATH_LD
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test "$with_gnu_ld" = yes; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='${wl}'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+         $GREP 'no-whole-archive' > /dev/null; then
+          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+        else
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+    _LT_TAGVAR(ld_shlibs, $1)=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+      aix[[4-9]]*)
+        if test "$host_cpu" = ia64; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=""
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # need to do runtime linking.
+          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+           for ld_flag in $LDFLAGS; do
+             case $ld_flag in
+             *-brtl*)
+               aix_use_runtimelinking=yes
+               break
+               ;;
+             esac
+           done
+           ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        _LT_TAGVAR(archive_cmds, $1)=''
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+        if test "$GXX" = yes; then
+          case $host_os in aix4.[[012]]|aix4.[[012]].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+         collect2name=`${CC} -print-prog-name=collect2`
+         if test -f "$collect2name" &&
+            strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+         then
+           # We have reworked collect2
+           :
+         else
+           # We have old collect2
+           _LT_TAGVAR(hardcode_direct, $1)=unsupported
+           # It fails to find uninstalled libraries when the uninstalled
+           # path is not listed in the libpath.  Setting hardcode_minus_L
+           # to unsupported forces relinking
+           _LT_TAGVAR(hardcode_minus_L, $1)=yes
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+           _LT_TAGVAR(hardcode_libdir_separator, $1)=
+         fi
+          esac
+          shared_flag='-shared'
+         if test "$aix_use_runtimelinking" = yes; then
+           shared_flag="$shared_flag "'${wl}-G'
+         fi
+        else
+          # not using gcc
+          if test "$host_cpu" = ia64; then
+         # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+         # chokes on -Wl,-G. The following line is correct:
+         shared_flag='-G'
+          else
+           if test "$aix_use_runtimelinking" = yes; then
+             shared_flag='${wl}-G'
+           else
+             shared_flag='${wl}-bM:SRE'
+           fi
+          fi
+        fi
+
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+       # export.
+        _LT_TAGVAR(always_export_symbols, $1)=yes
+        if test "$aix_use_runtimelinking" = yes; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          _LT_SYS_MODULE_PATH_AIX
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        else
+          if test "$host_cpu" = ia64; then
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+           _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+          else
+           # Determine the default libpath from the value encoded in an
+           # empty executable.
+           _LT_SYS_MODULE_PATH_AIX
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+           # Warning - without using the other run time loading flags,
+           # -berok will link without error, but may produce a broken library.
+           _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+           _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+           # Exported symbols can be pulled into shared objects from archives
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+           _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+           # This is similar to how AIX traditionally builds its shared
+           # libraries.
+           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+          fi
+        fi
+        ;;
+
+      beos*)
+       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+         # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+         # support --undefined.  This deserves some investigation.  FIXME
+         _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       else
+         _LT_TAGVAR(ld_shlibs, $1)=no
+       fi
+       ;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+         # FIXME: insert proper C++ library support
+         _LT_TAGVAR(ld_shlibs, $1)=no
+         ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+        # as there is no search path for DLLs.
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+        _LT_TAGVAR(always_export_symbols, $1)=no
+        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+          # If the export-symbols file already is a .def file (1st line
+          # is EXPORTS), use it as is; otherwise, prepend...
+          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+           cp $export_symbols $output_objdir/$soname.def;
+          else
+           echo EXPORTS > $output_objdir/$soname.def;
+           cat $export_symbols >> $output_objdir/$soname.def;
+          fi~
+          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        else
+          _LT_TAGVAR(ld_shlibs, $1)=no
+        fi
+        ;;
+      darwin* | rhapsody*)
+        _LT_DARWIN_LINKER_FEATURES($1)
+       ;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          ghcx*)
+           # Green Hills C++ Compiler
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          *)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+        esac
+        ;;
+
+      freebsd[[12]]*)
+        # C++ shared libraries reported to be fairly broken before
+       # switch to ELF
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      freebsd-elf*)
+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+        ;;
+
+      gnu*)
+        ;;
+
+      hpux9*)
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+                                            # but as the default
+                                            # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            _LT_TAGVAR(ld_shlibs, $1)=no
+            ;;
+          aCC*)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              _LT_TAGVAR(ld_shlibs, $1)=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test $with_gnu_ld = no; then
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+             _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            _LT_TAGVAR(hardcode_direct, $1)=no
+            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+            ;;
+          *)
+            _LT_TAGVAR(hardcode_direct, $1)=yes
+            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+                                                # but as the default
+                                                # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          aCC*)
+           case $host_cpu in
+             hppa*64*)
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               ;;
+             ia64*)
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               ;;
+             *)
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               ;;
+           esac
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+          *)
+           if test "$GXX" = yes; then
+             if test $with_gnu_ld = no; then
+               case $host_cpu in
+                 hppa*64*)
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   ;;
+                 ia64*)
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   ;;
+                 *)
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   ;;
+               esac
+             fi
+           else
+             # FIXME: insert proper C++ library support
+             _LT_TAGVAR(ld_shlibs, $1)=no
+           fi
+           ;;
+        esac
+        ;;
+
+      interix[[3-9]]*)
+       _LT_TAGVAR(hardcode_direct, $1)=no
+       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+       # Instead, shared libraries are loaded at an image base (0x10000000 by
+       # default) and relocated if they conflict, which is a slow very memory
+       # consuming and fragmenting process.  To avoid this, we pick a random,
+       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       ;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+           # SGI C++
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+           # Archives containing C++ object files must be created using
+           # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+           # necessary to make sure instantiated templates are included
+           # in the archive.
+           _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+           ;;
+          *)
+           if test "$GXX" = yes; then
+             if test "$with_gnu_ld" = no; then
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+             else
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+             fi
+           fi
+           _LT_TAGVAR(link_all_deplibs, $1)=yes
+           ;;
+        esac
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(inherit_rpath, $1)=yes
+        ;;
+
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+        case $cc_basename in
+          KCC*)
+           # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+           # KCC will only create a shared library if the output file
+           # ends with ".so" (or ".sl" for HP-UX), so rename the library
+           # to its proper name (with version) after linking.
+           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+           # Archives containing C++ object files must be created using
+           # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+           _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+           ;;
+         icpc* | ecpc* )
+           # Intel C++
+           with_gnu_ld=yes
+           # version 8.0 and above of icpc choke on multiply defined symbols
+           # if we add $predep_objects and $postdep_objects, however 7.1 and
+           # earlier do not add the objects themselves.
+           case `$CC -V 2>&1` in
+             *"Version 7."*)
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+               ;;
+             *)  # Version 8.0 or newer
+               tmp_idyn=
+               case $host_cpu in
+                 ia64*) tmp_idyn=' -i_dynamic';;
+               esac
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+               ;;
+           esac
+           _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+           ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+           case `$CC -V` in
+           *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+             _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+               compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+             _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+               $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+               $RANLIB $oldlib'
+             _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+             _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+             ;;
+           *) # Version 6 will use weak symbols
+             _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+             ;;
+           esac
+
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+            ;;
+         cxx*)
+           # Compaq C++
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+           runpath_var=LD_RUN_PATH
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+           _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+         xl*)
+           # IBM XL 8.0 on PPC, with GNU ld
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+           if test "x$supports_anon_versioning" = xyes; then
+             _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+               cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+               echo "local: *; };" >> $output_objdir/$libname.ver~
+               $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+           fi
+           ;;
+         *)
+           case `$CC -V 2>&1 | sed 5q` in
+           *Sun\ C*)
+             # Sun C++ 5.9
+             _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+             _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+             _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+             _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+             # Not sure whether something based on
+             # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+             # would be better.
+             output_verbose_link_cmd='echo'
+
+             # Archives containing C++ object files must be created using
+             # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+             # necessary to make sure instantiated templates are included
+             # in the archive.
+             _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+             ;;
+           esac
+           ;;
+       esac
+       ;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+       _LT_TAGVAR(ld_shlibs, $1)=no
+       ;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+       ;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+         *)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+       esac
+       ;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+         _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+         wlarc=
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+         _LT_TAGVAR(hardcode_direct, $1)=yes
+         _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+       fi
+       # Workaround some broken pre-1.5 toolchains
+       output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+       ;;
+
+      *nto* | *qnx*)
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+       ;;
+
+      openbsd2*)
+        # C++ shared libraries are fairly broken
+       _LT_TAGVAR(ld_shlibs, $1)=no
+       ;;
+
+      openbsd*)
+       if test -f /usr/libexec/ld.so; then
+         _LT_TAGVAR(hardcode_direct, $1)=yes
+         _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+         _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+         if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         fi
+         output_verbose_link_cmd=echo
+       else
+         _LT_TAGVAR(ld_shlibs, $1)=no
+       fi
+       ;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+           # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+           # KCC will only create a shared library if the output file
+           # ends with ".so" (or ".sl" for HP-UX), so rename the library
+           # to its proper name (with version) after linking.
+           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+           _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+           # Archives containing C++ object files must be created using
+           # the KAI C++ compiler.
+           case $host in
+             osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+             *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+           esac
+           ;;
+          RCC*)
+           # Rational C++ 2.4.1
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          cxx*)
+           case $host in
+             osf3*)
+               _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+               _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+               ;;
+             *)
+               _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+                 echo "-hidden">> $lib.exp~
+                 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+                 $RM $lib.exp'
+               _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+               ;;
+           esac
+
+           _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+         *)
+           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+             _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+             case $host in
+               osf3*)
+                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 ;;
+               *)
+                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 ;;
+             esac
+
+             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+             _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+             # Commands to make compiler produce verbose output that lists
+             # what "hidden" libraries, object files and flags are used when
+             # linking a shared library.
+             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+           else
+             # FIXME: insert proper C++ library support
+             _LT_TAGVAR(ld_shlibs, $1)=no
+           fi
+           ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+           # Sun C++ 4.x
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          lcc*)
+           # Lucid
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          *)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC*)
+           # Sun C++ 4.2, 5.x and Centerline C++
+            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+           _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+             $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+           _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+           case $host_os in
+             solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+             *)
+               # The compiler driver will combine and reorder linker options,
+               # but understands `-z linker_flag'.
+               # Supported since Solaris 2.6 (maybe 2.5.1?)
+               _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+               ;;
+           esac
+           _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+           output_verbose_link_cmd='echo'
+
+           # Archives containing C++ object files must be created using
+           # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+           # necessary to make sure instantiated templates are included
+           # in the archive.
+           _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+           ;;
+          gcx*)
+           # Green Hills C++ Compiler
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+           # The C++ compiler must be used to create the archive.
+           _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+           ;;
+          *)
+           # GNU C++ compiler with Solaris linker
+           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+             _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+             if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+               # Commands to make compiler produce verbose output that lists
+               # what "hidden" libraries, object files and flags are used when
+               # linking a shared library.
+               output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+             else
+               # g++ 2.7 appears to require `-G' NOT `-shared' on this
+               # platform.
+               _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+               # Commands to make compiler produce verbose output that lists
+               # what "hidden" libraries, object files and flags are used when
+               # linking a shared library.
+               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+             fi
+
+             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+             case $host_os in
+               solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+               *)
+                 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+                 ;;
+             esac
+           fi
+           ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+       # Note: We can NOT use -z defs as we might desire, because we do not
+       # link with -lc, and that would cause any symbols used from libc to
+       # always be unresolved, which means just about no library would
+       # ever link correctly.  If we're not using GNU ld we use -z text
+       # though, which does catch some bad symbols but isn't as heavy-handed
+       # as -z defs.
+       _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+       _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+       _LT_TAGVAR(link_all_deplibs, $1)=yes
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+       runpath_var='LD_RUN_PATH'
+
+       case $cc_basename in
+          CC*)
+           _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           ;;
+         *)
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           ;;
+       esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+           # NonStop-UX NCC 3.20
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          *)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+    esac
+
+    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+    _LT_TAGVAR(GCC, $1)="$GXX"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+_LT_EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" ||
+          test $p = "-R"; then
+        prev=$p
+        continue
+       else
+        prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+        case $p in
+        -L* | -R*)
+          # Internal compiler library paths should come after those
+          # provided the user.  The postdeps already come after the
+          # user supplied libs so there is no need to process them.
+          if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+            _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+          else
+            _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+          fi
+          ;;
+        # The "-l" case would never come before the object being
+        # linked, so don't bother handling this case.
+        esac
+       else
+        if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+          _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+        else
+          _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+        fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+        pre_test_object_deps_done=yes
+        continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+        if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+          _LT_TAGVAR(predep_objects, $1)="$p"
+        else
+          _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+        fi
+       else
+        if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+          _LT_TAGVAR(postdep_objects, $1)="$p"
+        else
+          _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+        fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_TAGVAR(predep_objects,$1)=
+  _LT_TAGVAR(postdep_objects,$1)=
+  _LT_TAGVAR(postdeps,$1)=
+  ;;
+
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+    [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+    [Dependencies to place before and after the objects being linked to
+    create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+    [The library search path used internally by the compiler when linking
+    a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_PROG_F77
+# ------------
+# Since AC_PROG_F77 is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_F77],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
+AC_PROG_F77
+if test -z "$F77" || test "X$F77" = "Xno"; then
+  _lt_disable_F77=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_F77
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_F77], [])
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_REQUIRE([_LT_PROG_F77])dnl
+AC_LANG_PUSH(Fortran 77)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${F77-"f77"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+  GCC=$G77
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+       if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+         test "$enable_shared" = yes && enable_static=no
+       fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$G77"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_PROG_FC
+# -----------
+# Since AC_PROG_FC is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_FC],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
+AC_PROG_FC
+if test -z "$FC" || test "X$FC" = "Xno"; then
+  _lt_disable_FC=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_FC
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_FC], [])
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_REQUIRE([_LT_PROG_FC])dnl
+AC_LANG_PUSH(Fortran)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${FC-"f95"}
+  compiler=$CC
+  GCC=$ac_cv_fc_compiler_gnu
+
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+       if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+         test "$enable_shared" = yes && enable_static=no
+       fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC="$lt_save_CC"
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+  :
+  _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+  case ${2} in
+    .*) func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]+=\$[2]"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+    ;;
+  esac
+])
+
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+           [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+                     [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl `shared' nor `disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+                  [_LT_ENABLE_FAST_INSTALL])
+  ])
+])# _LT_SET_OPTIONS
+
+
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS],      [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+       [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_shared=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+       [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+       [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_static=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+       [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_fast_install=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+        [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic],
+       [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [pic_mode="$withval"],
+    [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+                [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+                [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+                [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+                [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+                [m4_define([_LTDL_TYPE], [convenience])])
+
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+          m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+            [m4_foreach([_Lt_suffix],
+               ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+       [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+         [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+                [lt_append([$1], [$2], [$3])$4],
+                [$5])],
+         [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+       m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+       [$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+                     [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
+
+# ltversion.m4 -- version numbers                      -*- Autoconf -*-
+#
+#   Copyright (C) 2004 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# Generated from ltversion.in.
+
+# serial 3017 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6b])
+m4_define([LT_PACKAGE_REVISION], [1.3017])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6b'
+macro_revision='1.3017'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
+
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],  [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],             [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],        [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],         [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],    [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],           [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],             [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],    [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],           [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],       [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],               [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],        [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],    [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],    [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],         [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],            [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],  [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],             [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],            [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],    [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],   [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],          [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],            [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],           [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],  [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],    [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],          [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],          [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],                [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],     [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],          [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],   [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX],           [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77],           [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ],           [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_RC],             [AC_DEFUN([AC_LIBTOOL_RC])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],  [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG],      [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],    [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],    [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],    [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG],     [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG],         [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C],       [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
+
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+# 
+# Copyright Â© 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+       AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+       _pkg_min_version=m4_default([$1], [0.9.0])
+       AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+               AC_MSG_RESULT([yes])
+       else
+               AC_MSG_RESULT([no])
+               PKG_CONFIG=""
+       fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_default([$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+                    [pkg_failed=yes])
+ else
+    pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+       AC_MSG_RESULT([no])
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+               $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
+        else 
+               $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+       m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+        ])
+elif test $pkg_failed = untried; then
+       AC_MSG_RESULT([no])
+       m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+        ])
+else
+       $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+       $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+       $3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# This was merged into AC_PROG_CC in Autoconf.
+
+AU_DEFUN([AM_PROG_CC_STDC],
+[AC_PROG_CC
+AC_DIAGNOSE([obsolete], [$0:
+       your code should no longer depend upon `am_cv_prog_cc_stdc', but upon
+       `ac_cv_prog_cc_stdc'.  Remove this warning and the assignment when
+       you adjust the code.  You can also remove the above call to
+       AC_PROG_CC if you already called it elsewhere.])
+am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+])
+AU_DEFUN([fp_PROG_CC_STDC])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 16
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+             [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+                            [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+                 [_AM_DEPENDENCIES(CC)],
+                 [define([AC_PROG_CC],
+                         defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+                 [_AM_DEPENDENCIES(CXX)],
+                 [define([AC_PROG_CXX],
+                         defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+                 [_AM_DEPENDENCIES(OBJC)],
+                 [define([AC_PROG_OBJC],
+                         defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\    *)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Check to see how 'make' treats includes.                 -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+       @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\    *)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \   ]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2009  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 1
+
+# AM_SILENT_RULES([DEFAULT])
+# --------------------------
+# Enable less verbose build rules; with the default set to DEFAULT
+# (`yes' being less verbose, `no' or empty being verbose).
+AC_DEFUN([AM_SILENT_RULES],
+[AC_ARG_ENABLE([silent-rules],
+[  --enable-silent-rules          less verbose build output (undo: `make V=1')
+  --disable-silent-rules         verbose build output (undo: `make V=0')])
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);;
+esac
+AC_SUBST([AM_DEFAULT_VERBOSITY])dnl
+AM_BACKSLASH='\'
+AC_SUBST([AM_BACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
+])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([m4/ac_attribute.m4])
+m4_include([m4/efl_doxygen.m4])
+m4_include([m4/efl_fnmatch.m4])
+m4_include([m4/efl_path_max.m4])
+m4_include([m4/evas_check_engine.m4])
+m4_include([m4/evas_check_loader.m4])
+m4_include([m4/evas_converter.m4])
+m4_include([m4/evas_dither.m4])
+m4_include([m4/evas_scaler.m4])
diff --git a/config.cache b/config.cache
new file mode 100644 (file)
index 0000000..4b30c47
--- /dev/null
@@ -0,0 +1,241 @@
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+ac_cv___attribute__=${ac_cv___attribute__=yes}
+ac_cv_build=${ac_cv_build=arm-unknown-linux-gnueabi}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=no}
+ac_cv_c_compiler_gnu=${ac_cv_c_compiler_gnu=yes}
+ac_cv_c_const=${ac_cv_c_const=yes}
+ac_cv_cxx_compiler_gnu=${ac_cv_cxx_compiler_gnu=yes}
+ac_cv_env_CCC_set=
+ac_cv_env_CCC_value=
+ac_cv_env_CC_set=
+ac_cv_env_CC_value=
+ac_cv_env_CFLAGS_set=set
+ac_cv_env_CFLAGS_value='-g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC'
+ac_cv_env_CPPFLAGS_set=set
+ac_cv_env_CPPFLAGS_value=
+ac_cv_env_CPP_set=
+ac_cv_env_CPP_value=
+ac_cv_env_CXXCPP_set=
+ac_cv_env_CXXCPP_value=
+ac_cv_env_CXXFLAGS_set=set
+ac_cv_env_CXXFLAGS_value='-g -O2 -g -Wall -O2'
+ac_cv_env_CXX_set=
+ac_cv_env_CXX_value=
+ac_cv_env_DIRECTFB_CFLAGS_set=
+ac_cv_env_DIRECTFB_CFLAGS_value=
+ac_cv_env_DIRECTFB_LIBS_set=
+ac_cv_env_DIRECTFB_LIBS_value=
+ac_cv_env_EDB_CFLAGS_set=
+ac_cv_env_EDB_CFLAGS_value=
+ac_cv_env_EDB_LIBS_set=
+ac_cv_env_EDB_LIBS_value=
+ac_cv_env_EET_CFLAGS_set=
+ac_cv_env_EET_CFLAGS_value=
+ac_cv_env_EET_LIBS_set=
+ac_cv_env_EET_LIBS_value=
+ac_cv_env_EINA_CFLAGS_set=
+ac_cv_env_EINA_CFLAGS_value=
+ac_cv_env_EINA_LIBS_set=
+ac_cv_env_EINA_LIBS_value=
+ac_cv_env_EVIL_CFLAGS_set=
+ac_cv_env_EVIL_CFLAGS_value=
+ac_cv_env_EVIL_LIBS_set=
+ac_cv_env_EVIL_LIBS_value=
+ac_cv_env_FONTCONFIG_CFLAGS_set=
+ac_cv_env_FONTCONFIG_CFLAGS_value=
+ac_cv_env_FONTCONFIG_LIBS_set=
+ac_cv_env_FONTCONFIG_LIBS_value=
+ac_cv_env_FREETYPE_CFLAGS_set=
+ac_cv_env_FREETYPE_CFLAGS_value=
+ac_cv_env_FREETYPE_LIBS_set=
+ac_cv_env_FREETYPE_LIBS_value=
+ac_cv_env_FRIBIDI_CFLAGS_set=
+ac_cv_env_FRIBIDI_CFLAGS_value=
+ac_cv_env_FRIBIDI_LIBS_set=
+ac_cv_env_FRIBIDI_LIBS_value=
+ac_cv_env_HARFBUZZ_CFLAGS_set=
+ac_cv_env_HARFBUZZ_CFLAGS_value=
+ac_cv_env_HARFBUZZ_LIBS_set=
+ac_cv_env_HARFBUZZ_LIBS_value=
+ac_cv_env_LDFLAGS_set=set
+ac_cv_env_LDFLAGS_value=' -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed'
+ac_cv_env_LIBS_set=
+ac_cv_env_LIBS_value=
+ac_cv_env_OBJCFLAGS_set=
+ac_cv_env_OBJCFLAGS_value=
+ac_cv_env_OBJCPP_set=
+ac_cv_env_OBJCPP_value=
+ac_cv_env_OBJC_set=
+ac_cv_env_OBJC_value=
+ac_cv_env_PKG_CONFIG_LIBDIR_set=
+ac_cv_env_PKG_CONFIG_LIBDIR_value=
+ac_cv_env_PKG_CONFIG_PATH_set=set
+ac_cv_env_PKG_CONFIG_PATH_value=/home/jaehwan/sbs/target-armel/usr/lib/pkgconfig:/home/jaehwan/sbs/target-armel/usr/share/pkgconfig:/home/jaehwan/sbs/tools/usr/share/pkgconfig
+ac_cv_env_PKG_CONFIG_set=
+ac_cv_env_PKG_CONFIG_value=
+ac_cv_env_PNG_CFLAGS_set=
+ac_cv_env_PNG_CFLAGS_value=
+ac_cv_env_PNG_LIBS_set=
+ac_cv_env_PNG_LIBS_value=
+ac_cv_env_SDL_CFLAGS_set=
+ac_cv_env_SDL_CFLAGS_value=
+ac_cv_env_SDL_LIBS_set=
+ac_cv_env_SDL_LIBS_value=
+ac_cv_env_SVG_CFLAGS_set=
+ac_cv_env_SVG_CFLAGS_value=
+ac_cv_env_SVG_LIBS_set=
+ac_cv_env_SVG_LIBS_value=
+ac_cv_env_VALGRIND_CFLAGS_set=
+ac_cv_env_VALGRIND_CFLAGS_value=
+ac_cv_env_VALGRIND_LIBS_set=
+ac_cv_env_VALGRIND_LIBS_value=
+ac_cv_env_XCBRENDER_CFLAGS_set=
+ac_cv_env_XCBRENDER_CFLAGS_value=
+ac_cv_env_XCBRENDER_LIBS_set=
+ac_cv_env_XCBRENDER_LIBS_value=
+ac_cv_env_XCB_CFLAGS_set=
+ac_cv_env_XCB_CFLAGS_value=
+ac_cv_env_XCB_LIBS_set=
+ac_cv_env_XCB_LIBS_value=
+ac_cv_env_XEXT_CFLAGS_set=
+ac_cv_env_XEXT_CFLAGS_value=
+ac_cv_env_XEXT_LIBS_set=
+ac_cv_env_XEXT_LIBS_value=
+ac_cv_env_XMKMF_set=
+ac_cv_env_XMKMF_value=
+ac_cv_env_build_alias_set=set
+ac_cv_env_build_alias_value=arm-linux-gnueabi
+ac_cv_env_host_alias_set=
+ac_cv_env_host_alias_value=
+ac_cv_env_target_alias_set=
+ac_cv_env_target_alias_value=
+ac_cv_func_alloca_works=${ac_cv_func_alloca_works=yes}
+ac_cv_func_connect=${ac_cv_func_connect=yes}
+ac_cv_func_dlopen=${ac_cv_func_dlopen=no}
+ac_cv_func_gethostbyname=${ac_cv_func_gethostbyname=yes}
+ac_cv_func_remove=${ac_cv_func_remove=yes}
+ac_cv_func_shmat=${ac_cv_func_shmat=yes}
+ac_cv_have_x=${ac_cv_have_x='have_x=yes        ac_x_includes='\'''\''  ac_x_libraries='\'''\'''}
+ac_cv_header_GLES2_gl2_h=${ac_cv_header_GLES2_gl2_h=yes}
+ac_cv_header_GL_gl_h=${ac_cv_header_GL_gl_h=no}
+ac_cv_header_X11_X_h=${ac_cv_header_X11_X_h=yes}
+ac_cv_header_X11_Xlib_h=${ac_cv_header_X11_Xlib_h=yes}
+ac_cv_header_X11_extensions_Xrender_h=${ac_cv_header_X11_extensions_Xrender_h=yes}
+ac_cv_header_dlfcn_h=${ac_cv_header_dlfcn_h=yes}
+ac_cv_header_fnmatch_h=${ac_cv_header_fnmatch_h=yes}
+ac_cv_header_gif_lib_h=${ac_cv_header_gif_lib_h=yes}
+ac_cv_header_hb_ft_h=${ac_cv_header_hb_ft_h=no}
+ac_cv_header_hb_glib_h=${ac_cv_header_hb_glib_h=no}
+ac_cv_header_inttypes_h=${ac_cv_header_inttypes_h=yes}
+ac_cv_header_jpeglib_h=${ac_cv_header_jpeglib_h=yes}
+ac_cv_header_linux_fb_h=${ac_cv_header_linux_fb_h=yes}
+ac_cv_header_memory_h=${ac_cv_header_memory_h=yes}
+ac_cv_header_minix_config_h=${ac_cv_header_minix_config_h=no}
+ac_cv_header_pthread_h=${ac_cv_header_pthread_h=yes}
+ac_cv_header_sched_h=${ac_cv_header_sched_h=yes}
+ac_cv_header_stdc=${ac_cv_header_stdc=yes}
+ac_cv_header_stdint_h=${ac_cv_header_stdint_h=yes}
+ac_cv_header_stdlib_h=${ac_cv_header_stdlib_h=yes}
+ac_cv_header_string_h=${ac_cv_header_string_h=yes}
+ac_cv_header_strings_h=${ac_cv_header_strings_h=yes}
+ac_cv_header_sys_param_h=${ac_cv_header_sys_param_h=yes}
+ac_cv_header_sys_stat_h=${ac_cv_header_sys_stat_h=yes}
+ac_cv_header_sys_types_h=${ac_cv_header_sys_types_h=yes}
+ac_cv_header_tiffio_h=${ac_cv_header_tiffio_h=no}
+ac_cv_header_unistd_h=${ac_cv_header_unistd_h=yes}
+ac_cv_host=${ac_cv_host=arm-unknown-linux-gnueabi}
+ac_cv_lib_GLESv2_glTexImage2D=${ac_cv_lib_GLESv2_glTexImage2D=yes}
+ac_cv_lib_ICE_IceConnectionNumber=${ac_cv_lib_ICE_IceConnectionNumber=yes}
+ac_cv_lib_X11_XCreateImage=${ac_cv_lib_X11_XCreateImage=yes}
+ac_cv_lib_Xext_XShmCreateImage=${ac_cv_lib_Xext_XShmCreateImage=yes}
+ac_cv_lib_Xrender_XRenderCreatePicture=${ac_cv_lib_Xrender_XRenderCreatePicture=yes}
+ac_cv_lib_dl_dladdr=${ac_cv_lib_dl_dladdr=yes}
+ac_cv_lib_dl_dlopen=${ac_cv_lib_dl_dlopen=yes}
+ac_cv_lib_gif_DGifOpenFileName=${ac_cv_lib_gif_DGifOpenFileName=yes}
+ac_cv_lib_jpeg_jpeg_CreateDecompress=${ac_cv_lib_jpeg_jpeg_CreateDecompress=yes}
+ac_cv_lib_pthread_pthread_attr_setaffinity_np=${ac_cv_lib_pthread_pthread_attr_setaffinity_np=yes}
+ac_cv_lib_pthread_pthread_barrier_wait=${ac_cv_lib_pthread_pthread_barrier_wait=yes}
+ac_cv_lib_pthread_pthread_create=${ac_cv_lib_pthread_pthread_create=yes}
+ac_cv_objc_compiler_gnu=${ac_cv_objc_compiler_gnu=no}
+ac_cv_objext=${ac_cv_objext=o}
+ac_cv_path_EGREP=${ac_cv_path_EGREP='/bin/grep -E'}
+ac_cv_path_FGREP=${ac_cv_path_FGREP='/bin/grep -F'}
+ac_cv_path_GREP=${ac_cv_path_GREP=/bin/grep}
+ac_cv_path_SED=${ac_cv_path_SED=/bin/sed}
+ac_cv_path_ac_pt_PKG_CONFIG=${ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config}
+ac_cv_path_install=${ac_cv_path_install='/usr/bin/install -c'}
+ac_cv_path_mkdir=${ac_cv_path_mkdir=/bin/mkdir}
+ac_cv_prog_AWK=${ac_cv_prog_AWK=gawk}
+ac_cv_prog_CPP=${ac_cv_prog_CPP='gcc -E'}
+ac_cv_prog_CXXCPP=${ac_cv_prog_CXXCPP='g++ -E'}
+ac_cv_prog_ac_ct_AR=${ac_cv_prog_ac_ct_AR=ar}
+ac_cv_prog_ac_ct_CC=${ac_cv_prog_ac_ct_CC=gcc}
+ac_cv_prog_ac_ct_CXX=${ac_cv_prog_ac_ct_CXX=g++}
+ac_cv_prog_ac_ct_OBJC=${ac_cv_prog_ac_ct_OBJC=gcc}
+ac_cv_prog_ac_ct_OBJDUMP=${ac_cv_prog_ac_ct_OBJDUMP=objdump}
+ac_cv_prog_ac_ct_RANLIB=${ac_cv_prog_ac_ct_RANLIB=ranlib}
+ac_cv_prog_ac_ct_STRIP=${ac_cv_prog_ac_ct_STRIP=strip}
+ac_cv_prog_cc_c89=${ac_cv_prog_cc_c89=}
+ac_cv_prog_cc_g=${ac_cv_prog_cc_g=yes}
+ac_cv_prog_cxx_g=${ac_cv_prog_cxx_g=yes}
+ac_cv_prog_efl_have_doxygen=${ac_cv_prog_efl_have_doxygen=yes}
+ac_cv_prog_make_make_set=${ac_cv_prog_make_make_set=yes}
+ac_cv_prog_objc_g=${ac_cv_prog_objc_g=no}
+ac_cv_safe_to_define___extensions__=${ac_cv_safe_to_define___extensions__=yes}
+ac_cv_search_fnmatch=${ac_cv_search_fnmatch='none required'}
+ac_cv_search_strerror=${ac_cv_search_strerror='none required'}
+ac_cv_working_alloca_h=${ac_cv_working_alloca_h=yes}
+am_cv_CC_dependencies_compiler_type=${am_cv_CC_dependencies_compiler_type=none}
+am_cv_CXX_dependencies_compiler_type=${am_cv_CXX_dependencies_compiler_type=none}
+am_cv_OBJC_dependencies_compiler_type=${am_cv_OBJC_dependencies_compiler_type=none}
+am_cv_prog_cc_stdc=${am_cv_prog_cc_stdc=}
+lt_cv_deplibs_check_method=${lt_cv_deplibs_check_method=pass_all}
+lt_cv_file_magic_cmd=${lt_cv_file_magic_cmd='$MAGIC_CMD'}
+lt_cv_file_magic_test_file=${lt_cv_file_magic_test_file=}
+lt_cv_ld_reload_flag=${lt_cv_ld_reload_flag=-r}
+lt_cv_nm_interface=${lt_cv_nm_interface='BSD nm'}
+lt_cv_objdir=${lt_cv_objdir=.libs}
+lt_cv_path_LD=${lt_cv_path_LD=/usr/arm-linux-gnueabi/bin/ld}
+lt_cv_path_LDCXX=${lt_cv_path_LDCXX=/usr/arm-linux-gnueabi/bin/ld}
+lt_cv_path_NM=${lt_cv_path_NM='/usr/bin/nm -B'}
+lt_cv_prog_compiler_c_o=${lt_cv_prog_compiler_c_o=yes}
+lt_cv_prog_compiler_c_o_CXX=${lt_cv_prog_compiler_c_o_CXX=yes}
+lt_cv_prog_compiler_pic_works=${lt_cv_prog_compiler_pic_works=yes}
+lt_cv_prog_compiler_pic_works_CXX=${lt_cv_prog_compiler_pic_works_CXX=yes}
+lt_cv_prog_compiler_rtti_exceptions=${lt_cv_prog_compiler_rtti_exceptions=no}
+lt_cv_prog_compiler_static_works=${lt_cv_prog_compiler_static_works=yes}
+lt_cv_prog_compiler_static_works_CXX=${lt_cv_prog_compiler_static_works_CXX=yes}
+lt_cv_prog_gnu_ld=${lt_cv_prog_gnu_ld=yes}
+lt_cv_prog_gnu_ldcxx=${lt_cv_prog_gnu_ldcxx=yes}
+lt_cv_sys_global_symbol_pipe=${lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[       ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'''}
+test "${lt_cv_sys_global_symbol_to_c_name_address+set}" = set || lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"\2", (void *) \&\2},/p'\'''
+test "${lt_cv_sys_global_symbol_to_c_name_address_lib_prefix+set}" = set || lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/  {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"lib\2", (void *) \&\2},/p'\'''
+lt_cv_sys_global_symbol_to_cdecl=${lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''}
+lt_cv_sys_max_cmd_len=${lt_cv_sys_max_cmd_len=1572864}
+pkg_cv_EET_CFLAGS=${pkg_cv_EET_CFLAGS='-I/usr/include/eet-1 -I/usr/include/eina-1 -I/usr/include/eina-1/eina  '}
+pkg_cv_EET_LIBS=${pkg_cv_EET_LIBS='-leet  '}
+pkg_cv_EINA_CFLAGS=${pkg_cv_EINA_CFLAGS='-I/usr/include/eina-1 -I/usr/include/eina-1/eina  '}
+pkg_cv_EINA_LIBS=${pkg_cv_EINA_LIBS='-leina  '}
+pkg_cv_FONTCONFIG_CFLAGS=${pkg_cv_FONTCONFIG_CFLAGS='-I//usr/include  '}
+pkg_cv_FONTCONFIG_LIBS=${pkg_cv_FONTCONFIG_LIBS='-L//usr/lib -lfontconfig  '}
+pkg_cv_FREETYPE_CFLAGS=${pkg_cv_FREETYPE_CFLAGS='-I/usr/include/freetype2  '}
+pkg_cv_FREETYPE_LIBS=${pkg_cv_FREETYPE_LIBS='-lfreetype  '}
+pkg_cv_FRIBIDI_CFLAGS=${pkg_cv_FRIBIDI_CFLAGS='-I/usr/include/fribidi  '}
+pkg_cv_FRIBIDI_LIBS=${pkg_cv_FRIBIDI_LIBS='-lfribidi  '}
+pkg_cv_HARFBUZZ_CFLAGS=${pkg_cv_HARFBUZZ_CFLAGS='-I/usr/include/harfbuzz  '}
+pkg_cv_HARFBUZZ_LIBS=${pkg_cv_HARFBUZZ_LIBS='-lharfbuzz  '}
+pkg_cv_PNG_CFLAGS=${pkg_cv_PNG_CFLAGS='-I/usr/include/libpng12  '}
+pkg_cv_PNG_LIBS=${pkg_cv_PNG_LIBS='-lpng12  '}
+rw_cv_prog_objc_works=${rw_cv_prog_objc_works=no}
diff --git a/config.guess b/config.guess
new file mode 100755 (executable)
index 0000000..c2246a4
--- /dev/null
@@ -0,0 +1,1502 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+#   Free Software Foundation, Inc.
+
+timestamp='2009-12-30'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner.  Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )        # Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+       for c in cc gcc c89 c99 ; do
+         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+            CC_FOR_BUILD="$c"; break ;
+         fi ;
+       done ;
+       if test x"$CC_FOR_BUILD" = x ; then
+         CC_FOR_BUILD=no_compiler_found ;
+       fi
+       ;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+       PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+       # NetBSD (nbsd) targets should (where applicable) match one or
+       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+       # switched to ELF, *-*-netbsd* would select the old
+       # object file format.  This provides both forward
+       # compatibility and a consistent mechanism for selecting the
+       # object file format.
+       #
+       # Note: NetBSD doesn't particularly care about the vendor
+       # portion of the name.  We always set it to "unknown".
+       sysctl="sysctl -n hw.machine_arch"
+       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+       case "${UNAME_MACHINE_ARCH}" in
+           armeb) machine=armeb-unknown ;;
+           arm*) machine=arm-unknown ;;
+           sh3el) machine=shl-unknown ;;
+           sh3eb) machine=sh-unknown ;;
+           sh5el) machine=sh5le-unknown ;;
+           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+       esac
+       # The Operating System including object format, if it has switched
+       # to ELF recently, or will in the future.
+       case "${UNAME_MACHINE_ARCH}" in
+           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+               eval $set_cc_for_build
+               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+                       | grep -q __ELF__
+               then
+                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+                   # Return netbsd for either.  FIX?
+                   os=netbsd
+               else
+                   os=netbsdelf
+               fi
+               ;;
+           *)
+               os=netbsd
+               ;;
+       esac
+       # The OS release
+       # Debian GNU/NetBSD machines have a different userland, and
+       # thus, need a distinct triplet. However, they do not need
+       # kernel version information, so it can be replaced with a
+       # suitable tag, in the style of linux-gnu.
+       case "${UNAME_VERSION}" in
+           Debian*)
+               release='-gnu'
+               ;;
+           *)
+               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               ;;
+       esac
+       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+       # contains redundant information, the shorter form:
+       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+       echo "${machine}-${os}${release}"
+       exit ;;
+    *:OpenBSD:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+       exit ;;
+    *:ekkoBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+       exit ;;
+    *:SolidBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+       exit ;;
+    macppc:MirBSD:*:*)
+       echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+       exit ;;
+    *:MirBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+       exit ;;
+    alpha:OSF1:*:*)
+       case $UNAME_RELEASE in
+       *4.0)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+               ;;
+       *5.*)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               ;;
+       esac
+       # According to Compaq, /usr/sbin/psrinfo has been available on
+       # OSF/1 and Tru64 systems produced since 1995.  I hope that
+       # covers most systems running today.  This code pipes the CPU
+       # types through head -n 1, so we only detect the type of CPU 0.
+       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+       case "$ALPHA_CPU_TYPE" in
+           "EV4 (21064)")
+               UNAME_MACHINE="alpha" ;;
+           "EV4.5 (21064)")
+               UNAME_MACHINE="alpha" ;;
+           "LCA4 (21066/21068)")
+               UNAME_MACHINE="alpha" ;;
+           "EV5 (21164)")
+               UNAME_MACHINE="alphaev5" ;;
+           "EV5.6 (21164A)")
+               UNAME_MACHINE="alphaev56" ;;
+           "EV5.6 (21164PC)")
+               UNAME_MACHINE="alphapca56" ;;
+           "EV5.7 (21164PC)")
+               UNAME_MACHINE="alphapca57" ;;
+           "EV6 (21264)")
+               UNAME_MACHINE="alphaev6" ;;
+           "EV6.7 (21264A)")
+               UNAME_MACHINE="alphaev67" ;;
+           "EV6.8CB (21264C)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.8AL (21264B)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.8CX (21264D)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.9A (21264/EV69A)")
+               UNAME_MACHINE="alphaev69" ;;
+           "EV7 (21364)")
+               UNAME_MACHINE="alphaev7" ;;
+           "EV7.9 (21364A)")
+               UNAME_MACHINE="alphaev79" ;;
+       esac
+       # A Pn.n version is a patched version.
+       # A Vn.n version is a released version.
+       # A Tn.n version is a released field test version.
+       # A Xn.n version is an unreleased experimental baselevel.
+       # 1.2 uses "1.2" for uname -r.
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+       exit ;;
+    Alpha\ *:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # Should we change UNAME_MACHINE based on the output of uname instead
+       # of the specific Alpha model?
+       echo alpha-pc-interix
+       exit ;;
+    21064:Windows_NT:50:3)
+       echo alpha-dec-winnt3.5
+       exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+       echo m68k-unknown-sysv4
+       exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-amigaos
+       exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-morphos
+       exit ;;
+    *:OS/390:*:*)
+       echo i370-ibm-openedition
+       exit ;;
+    *:z/VM:*:*)
+       echo s390-ibm-zvmoe
+       exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+       exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+       echo arm-acorn-riscix${UNAME_RELEASE}
+       exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+       echo arm-unknown-riscos
+       exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+       echo hppa1.1-hitachi-hiuxmpp
+       exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+       if test "`(/bin/universe) 2>/dev/null`" = att ; then
+               echo pyramid-pyramid-sysv3
+       else
+               echo pyramid-pyramid-bsd
+       fi
+       exit ;;
+    NILE*:*:*:dcosx)
+       echo pyramid-pyramid-svr4
+       exit ;;
+    DRS?6000:unix:4.0:6*)
+       echo sparc-icl-nx6
+       exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+       case `/usr/bin/uname -p` in
+           sparc) echo sparc-icl-nx7; exit ;;
+       esac ;;
+    s390x:SunOS:*:*)
+       echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4H:SunOS:5.*:*)
+       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+       echo i386-pc-auroraux${UNAME_RELEASE}
+       exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+       eval $set_cc_for_build
+       SUN_ARCH="i386"
+       # If there is a compiler, see if it is configured for 64-bit objects.
+       # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+       # This test works for both compilers.
+       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+           if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+               (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+               grep IS_64BIT_ARCH >/dev/null
+           then
+               SUN_ARCH="x86_64"
+           fi
+       fi
+       echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:6*:*)
+       # According to config.sub, this is the proper way to canonicalize
+       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+       # it's likely to be more like Solaris than SunOS4.
+       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:*:*)
+       case "`/usr/bin/arch -k`" in
+           Series*|S4*)
+               UNAME_RELEASE=`uname -v`
+               ;;
+       esac
+       # Japanese Language versions have a version number like `4.1.3-JL'.
+       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+       exit ;;
+    sun3*:SunOS:*:*)
+       echo m68k-sun-sunos${UNAME_RELEASE}
+       exit ;;
+    sun*:*:4.2BSD:*)
+       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+       case "`/bin/arch`" in
+           sun3)
+               echo m68k-sun-sunos${UNAME_RELEASE}
+               ;;
+           sun4)
+               echo sparc-sun-sunos${UNAME_RELEASE}
+               ;;
+       esac
+       exit ;;
+    aushp:SunOS:*:*)
+       echo sparc-auspex-sunos${UNAME_RELEASE}
+       exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+       echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+       echo m68k-apple-machten${UNAME_RELEASE}
+       exit ;;
+    powerpc:machten:*:*)
+       echo powerpc-apple-machten${UNAME_RELEASE}
+       exit ;;
+    RISC*:Mach:*:*)
+       echo mips-dec-mach_bsd4.3
+       exit ;;
+    RISC*:ULTRIX:*:*)
+       echo mips-dec-ultrix${UNAME_RELEASE}
+       exit ;;
+    VAX*:ULTRIX*:*:*)
+       echo vax-dec-ultrix${UNAME_RELEASE}
+       exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+       echo clipper-intergraph-clix${UNAME_RELEASE}
+       exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+       #if defined (host_mips) && defined (MIPSEB)
+       #if defined (SYSTYPE_SYSV)
+         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_SVR4)
+         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+       #endif
+       #endif
+         exit (-1);
+       }
+EOF
+       $CC_FOR_BUILD -o $dummy $dummy.c &&
+         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+         SYSTEM_NAME=`$dummy $dummyarg` &&
+           { echo "$SYSTEM_NAME"; exit; }
+       echo mips-mips-riscos${UNAME_RELEASE}
+       exit ;;
+    Motorola:PowerMAX_OS:*:*)
+       echo powerpc-motorola-powermax
+       exit ;;
+    Motorola:*:4.3:PL8-*)
+       echo powerpc-harris-powermax
+       exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+       echo powerpc-harris-powermax
+       exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+       echo powerpc-harris-powerunix
+       exit ;;
+    m88k:CX/UX:7*:*)
+       echo m88k-harris-cxux7
+       exit ;;
+    m88k:*:4*:R4*)
+       echo m88k-motorola-sysv4
+       exit ;;
+    m88k:*:3*:R3*)
+       echo m88k-motorola-sysv3
+       exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       then
+           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+              [ ${TARGET_BINARY_INTERFACE}x = x ]
+           then
+               echo m88k-dg-dgux${UNAME_RELEASE}
+           else
+               echo m88k-dg-dguxbcs${UNAME_RELEASE}
+           fi
+       else
+           echo i586-dg-dgux${UNAME_RELEASE}
+       fi
+       exit ;;
+    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
+       echo m88k-dolphin-sysv3
+       exit ;;
+    M88*:*:R3*:*)
+       # Delta 88k system running SVR3
+       echo m88k-motorola-sysv3
+       exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+       echo m88k-tektronix-sysv3
+       exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+       echo m68k-tektronix-bsd
+       exit ;;
+    *:IRIX*:*:*)
+       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+       exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+       echo i386-ibm-aix
+       exit ;;
+    ia64:AIX:*:*)
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+       exit ;;
+    *:AIX:2:3)
+       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+               eval $set_cc_for_build
+               sed 's/^                //' << EOF >$dummy.c
+               #include <sys/systemcfg.h>
+
+               main()
+                       {
+                       if (!__power_pc())
+                               exit(1);
+                       puts("powerpc-ibm-aix3.2.5");
+                       exit(0);
+                       }
+EOF
+               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+               then
+                       echo "$SYSTEM_NAME"
+               else
+                       echo rs6000-ibm-aix3.2.5
+               fi
+       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+               echo rs6000-ibm-aix3.2.4
+       else
+               echo rs6000-ibm-aix3.2
+       fi
+       exit ;;
+    *:AIX:*:[456])
+       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+               IBM_ARCH=rs6000
+       else
+               IBM_ARCH=powerpc
+       fi
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+       exit ;;
+    *:AIX:*:*)
+       echo rs6000-ibm-aix
+       exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+       echo romp-ibm-bsd4.4
+       exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+       exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+       echo rs6000-bull-bosx
+       exit ;;
+    DPX/2?00:B.O.S.:*:*)
+       echo m68k-bull-sysv3
+       exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+       echo m68k-hp-bsd
+       exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+       echo m68k-hp-bsd4.4
+       exit ;;
+    9000/[34678]??:HP-UX:*:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       case "${UNAME_MACHINE}" in
+           9000/31? )            HP_ARCH=m68000 ;;
+           9000/[34]?? )         HP_ARCH=m68k ;;
+           9000/[678][0-9][0-9])
+               if [ -x /usr/bin/getconf ]; then
+                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+               fi
+               if [ "${HP_ARCH}" = "" ]; then
+                   eval $set_cc_for_build
+                   sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+               {
+               case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+               case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+               case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+                   switch (bits)
+                       {
+                       case 64: puts ("hppa2.0w"); break;
+                       case 32: puts ("hppa2.0n"); break;
+                       default: puts ("hppa2.0"); break;
+                       } break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+                   puts ("hppa2.0"); break;
+              #endif
+               default: puts ("hppa1.0"); break;
+               }
+                  exit (0);
+              }
+EOF
+                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   test -z "$HP_ARCH" && HP_ARCH=hppa
+               fi ;;
+       esac
+       if [ ${HP_ARCH} = "hppa2.0w" ]
+       then
+           eval $set_cc_for_build
+
+           # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+           # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+           # generating 64-bit code.  GNU and HP use different nomenclature:
+           #
+           # $ CC_FOR_BUILD=cc ./config.guess
+           # => hppa2.0w-hp-hpux11.23
+           # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+           # => hppa64-hp-hpux11.23
+
+           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+               grep -q __LP64__
+           then
+               HP_ARCH="hppa2.0w"
+           else
+               HP_ARCH="hppa64"
+           fi
+       fi
+       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+       exit ;;
+    ia64:HP-UX:*:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       echo ia64-hp-hpux${HPUX_REV}
+       exit ;;
+    3050*:HI-UX:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #include <unistd.h>
+       int
+       main ()
+       {
+         long cpu = sysconf (_SC_CPU_VERSION);
+         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+            results, however.  */
+         if (CPU_IS_PA_RISC (cpu))
+           {
+             switch (cpu)
+               {
+                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+                 default: puts ("hppa-hitachi-hiuxwe2"); break;
+               }
+           }
+         else if (CPU_IS_HP_MC68K (cpu))
+           puts ("m68k-hitachi-hiuxwe2");
+         else puts ("unknown-hitachi-hiuxwe2");
+         exit (0);
+       }
+EOF
+       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+               { echo "$SYSTEM_NAME"; exit; }
+       echo unknown-hitachi-hiuxwe2
+       exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+       echo hppa1.1-hp-bsd
+       exit ;;
+    9000/8??:4.3bsd:*:*)
+       echo hppa1.0-hp-bsd
+       exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+       echo hppa1.0-hp-mpeix
+       exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+       echo hppa1.1-hp-osf
+       exit ;;
+    hp8??:OSF1:*:*)
+       echo hppa1.0-hp-osf
+       exit ;;
+    i*86:OSF1:*:*)
+       if [ -x /usr/sbin/sysversion ] ; then
+           echo ${UNAME_MACHINE}-unknown-osf1mk
+       else
+           echo ${UNAME_MACHINE}-unknown-osf1
+       fi
+       exit ;;
+    parisc*:Lites*:*:*)
+       echo hppa1.1-hp-lites
+       exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+       echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+       echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+       echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+       echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*[A-Z]90:*:*:*)
+       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+             -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*TS:*:*:*)
+       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*T3E:*:*:*)
+       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*SV1:*:*:*)
+       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    *:UNICOS/mp:*:*)
+       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+       exit ;;
+    sparc*:BSD/OS:*:*)
+       echo sparc-unknown-bsdi${UNAME_RELEASE}
+       exit ;;
+    *:BSD/OS:*:*)
+       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+       exit ;;
+    *:FreeBSD:*:*)
+       case ${UNAME_MACHINE} in
+           pc98)
+               echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+           amd64)
+               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+           *)
+               echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+       esac
+       exit ;;
+    i*:CYGWIN*:*)
+       echo ${UNAME_MACHINE}-pc-cygwin
+       exit ;;
+    *:MINGW*:*)
+       echo ${UNAME_MACHINE}-pc-mingw32
+       exit ;;
+    i*:windows32*:*)
+       # uname -m includes "-pc" on this system.
+       echo ${UNAME_MACHINE}-mingw32
+       exit ;;
+    i*:PW*:*)
+       echo ${UNAME_MACHINE}-pc-pw32
+       exit ;;
+    *:Interix*:*)
+       case ${UNAME_MACHINE} in
+           x86)
+               echo i586-pc-interix${UNAME_RELEASE}
+               exit ;;
+           authenticamd | genuineintel | EM64T)
+               echo x86_64-unknown-interix${UNAME_RELEASE}
+               exit ;;
+           IA64)
+               echo ia64-unknown-interix${UNAME_RELEASE}
+               exit ;;
+       esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+       echo i${UNAME_MACHINE}-pc-mks
+       exit ;;
+    8664:Windows_NT:*)
+       echo x86_64-pc-mks
+       exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+       # UNAME_MACHINE based on the output of uname instead of i386?
+       echo i586-pc-interix
+       exit ;;
+    i*:UWIN*:*)
+       echo ${UNAME_MACHINE}-pc-uwin
+       exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+       echo x86_64-unknown-cygwin
+       exit ;;
+    p*:CYGWIN*:*)
+       echo powerpcle-unknown-cygwin
+       exit ;;
+    prep*:SunOS:5.*:*)
+       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    *:GNU:*:*)
+       # the GNU system
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       exit ;;
+    *:GNU/*:*:*)
+       # other systems with GNU libc and userland
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       exit ;;
+    i*86:Minix:*:*)
+       echo ${UNAME_MACHINE}-pc-minix
+       exit ;;
+    alpha:Linux:*:*)
+       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+         EV5)   UNAME_MACHINE=alphaev5 ;;
+         EV56)  UNAME_MACHINE=alphaev56 ;;
+         PCA56) UNAME_MACHINE=alphapca56 ;;
+         PCA57) UNAME_MACHINE=alphapca56 ;;
+         EV6)   UNAME_MACHINE=alphaev6 ;;
+         EV67)  UNAME_MACHINE=alphaev67 ;;
+         EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+       objdump --private-headers /bin/sh | grep -q ld.so.1
+       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+       exit ;;
+    arm*:Linux:*:*)
+       eval $set_cc_for_build
+       if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+           | grep -q __ARM_EABI__
+       then
+           echo ${UNAME_MACHINE}-unknown-linux-gnu
+       else
+           echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+       fi
+       exit ;;
+    avr32*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    cris:Linux:*:*)
+       echo cris-axis-linux-gnu
+       exit ;;
+    crisv32:Linux:*:*)
+       echo crisv32-axis-linux-gnu
+       exit ;;
+    frv:Linux:*:*)
+       echo frv-unknown-linux-gnu
+       exit ;;
+    i*86:Linux:*:*)
+       LIBC=gnu
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #ifdef __dietlibc__
+       LIBC=dietlibc
+       #endif
+EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+       echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+       exit ;;
+    ia64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    m32r*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    m68*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    mips:Linux:*:* | mips64:Linux:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #undef CPU
+       #undef ${UNAME_MACHINE}
+       #undef ${UNAME_MACHINE}el
+       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+       CPU=${UNAME_MACHINE}el
+       #else
+       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+       CPU=${UNAME_MACHINE}
+       #else
+       CPU=
+       #endif
+       #endif
+EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       ;;
+    or32:Linux:*:*)
+       echo or32-unknown-linux-gnu
+       exit ;;
+    padre:Linux:*:*)
+       echo sparc-unknown-linux-gnu
+       exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+       echo hppa64-unknown-linux-gnu
+       exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+       # Look for CPU level
+       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+         PA7*) echo hppa1.1-unknown-linux-gnu ;;
+         PA8*) echo hppa2.0-unknown-linux-gnu ;;
+         *)    echo hppa-unknown-linux-gnu ;;
+       esac
+       exit ;;
+    ppc64:Linux:*:*)
+       echo powerpc64-unknown-linux-gnu
+       exit ;;
+    ppc:Linux:*:*)
+       echo powerpc-unknown-linux-gnu
+       exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+       echo ${UNAME_MACHINE}-ibm-linux
+       exit ;;
+    sh64*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    sh*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    vax:Linux:*:*)
+       echo ${UNAME_MACHINE}-dec-linux-gnu
+       exit ;;
+    x86_64:Linux:*:*)
+       echo x86_64-unknown-linux-gnu
+       exit ;;
+    xtensa*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    i*86:DYNIX/ptx:4*:*)
+       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+       # earlier versions are messed up and put the nodename in both
+       # sysname and nodename.
+       echo i386-sequent-sysv4
+       exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+       # I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       exit ;;
+    i*86:OS/2:*:*)
+       # If we were able to find `uname', then EMX Unix compatibility
+       # is probably installed.
+       echo ${UNAME_MACHINE}-pc-os2-emx
+       exit ;;
+    i*86:XTS-300:*:STOP)
+       echo ${UNAME_MACHINE}-unknown-stop
+       exit ;;
+    i*86:atheos:*:*)
+       echo ${UNAME_MACHINE}-unknown-atheos
+       exit ;;
+    i*86:syllable:*:*)
+       echo ${UNAME_MACHINE}-pc-syllable
+       exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+       echo i386-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    i*86:*DOS:*:*)
+       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+       else
+               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+       fi
+       exit ;;
+    i*86:*:5:[678]*)
+       # UnixWare 7.x, OpenUNIX and OpenServer 6.
+       case `/bin/uname -X | grep "^Machine"` in
+           *486*)           UNAME_MACHINE=i486 ;;
+           *Pentium)        UNAME_MACHINE=i586 ;;
+           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+       esac
+       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+       exit ;;
+    i*86:*:3.2:*)
+       if test -f /usr/options/cb.name; then
+               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+       elif /bin/uname -X 2>/dev/null >/dev/null ; then
+               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+                       && UNAME_MACHINE=i586
+               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+       else
+               echo ${UNAME_MACHINE}-pc-sysv32
+       fi
+       exit ;;
+    pc:*:*:*)
+       # Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i586.
+       # Note: whatever this is, it MUST be the same as what config.sub
+       # prints for the "djgpp" host, or else GDB configury will decide that
+       # this is a cross-build.
+       echo i586-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+       echo i386-pc-mach3
+       exit ;;
+    paragon:*:*:*)
+       echo i860-intel-osf1
+       exit ;;
+    i860:*:4.*:*) # i860-SVR4
+       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+       else # Add other i860-SVR4 vendors below as they are discovered.
+         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+       fi
+       exit ;;
+    mini*:CTIX:SYS*5:*)
+       # "miniframe"
+       echo m68010-convergent-sysv
+       exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+       echo m68k-convergent-sysv
+       exit ;;
+    M680?0:D-NIX:5.3:*)
+       echo m68k-diab-dnix
+       exit ;;
+    M68*:*:R3V[5678]*:*)
+       test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+       OS_REL=''
+       test -r /etc/.relid \
+       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+       OS_REL='.3'
+       test -r /etc/.relid \
+           && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+           && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+       /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+       echo m68k-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+       echo m68k-atari-sysv4
+       exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+       echo sparc-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    rs6000:LynxOS:2.*:*)
+       echo rs6000-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+       echo powerpc-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+       echo mips-dde-sysv${UNAME_RELEASE}
+       exit ;;
+    RM*:ReliantUNIX-*:*:*)
+       echo mips-sni-sysv4
+       exit ;;
+    RM*:SINIX-*:*:*)
+       echo mips-sni-sysv4
+       exit ;;
+    *:SINIX-*:*:*)
+       if uname -p 2>/dev/null >/dev/null ; then
+               UNAME_MACHINE=`(uname -p) 2>/dev/null`
+               echo ${UNAME_MACHINE}-sni-sysv4
+       else
+               echo ns32k-sni-sysv
+       fi
+       exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+       # From Gerald Hewes <hewes@openmarket.com>.
+       # How about differentiating between stratus architectures? -djm
+       echo hppa1.1-stratus-sysv4
+       exit ;;
+    *:*:*:FTX*)
+       # From seanf@swdc.stratus.com.
+       echo i860-stratus-sysv4
+       exit ;;
+    i*86:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo ${UNAME_MACHINE}-stratus-vos
+       exit ;;
+    *:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo hppa1.1-stratus-vos
+       exit ;;
+    mc68*:A/UX:*:*)
+       echo m68k-apple-aux${UNAME_RELEASE}
+       exit ;;
+    news*:NEWS-OS:6*:*)
+       echo mips-sony-newsos6
+       exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+       if [ -d /usr/nec ]; then
+               echo mips-nec-sysv${UNAME_RELEASE}
+       else
+               echo mips-unknown-sysv${UNAME_RELEASE}
+       fi
+        exit ;;
+    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
+       echo powerpc-be-beos
+       exit ;;
+    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
+       echo powerpc-apple-beos
+       exit ;;
+    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
+       echo i586-pc-beos
+       exit ;;
+    BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
+       echo i586-pc-haiku
+       exit ;;
+    SX-4:SUPER-UX:*:*)
+       echo sx4-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-5:SUPER-UX:*:*)
+       echo sx5-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-6:SUPER-UX:*:*)
+       echo sx6-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-7:SUPER-UX:*:*)
+       echo sx7-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-8:SUPER-UX:*:*)
+       echo sx8-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-8R:SUPER-UX:*:*)
+       echo sx8r-nec-superux${UNAME_RELEASE}
+       exit ;;
+    Power*:Rhapsody:*:*)
+       echo powerpc-apple-rhapsody${UNAME_RELEASE}
+       exit ;;
+    *:Rhapsody:*:*)
+       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+       exit ;;
+    *:Darwin:*:*)
+       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+       case $UNAME_PROCESSOR in
+           i386)
+               eval $set_cc_for_build
+               if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+                     grep IS_64BIT_ARCH >/dev/null
+                 then
+                     UNAME_PROCESSOR="x86_64"
+                 fi
+               fi ;;
+           unknown) UNAME_PROCESSOR=powerpc ;;
+       esac
+       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+       exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+       UNAME_PROCESSOR=`uname -p`
+       if test "$UNAME_PROCESSOR" = "x86"; then
+               UNAME_PROCESSOR=i386
+               UNAME_MACHINE=pc
+       fi
+       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+       exit ;;
+    *:QNX:*:4*)
+       echo i386-pc-qnx
+       exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+       echo nse-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+       echo nsr-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+    *:NonStop-UX:*:*)
+       echo mips-compaq-nonstopux
+       exit ;;
+    BS2000:POSIX*:*:*)
+       echo bs2000-siemens-sysv
+       exit ;;
+    DS/*:UNIX_System_V:*:*)
+       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+       exit ;;
+    *:Plan9:*:*)
+       # "uname -m" is not consistent, so use $cputype instead. 386
+       # is converted to i386 for consistency with other x86
+       # operating systems.
+       if test "$cputype" = "386"; then
+           UNAME_MACHINE=i386
+       else
+           UNAME_MACHINE="$cputype"
+       fi
+       echo ${UNAME_MACHINE}-unknown-plan9
+       exit ;;
+    *:TOPS-10:*:*)
+       echo pdp10-unknown-tops10
+       exit ;;
+    *:TENEX:*:*)
+       echo pdp10-unknown-tenex
+       exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+       echo pdp10-dec-tops20
+       exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+       echo pdp10-xkl-tops20
+       exit ;;
+    *:TOPS-20:*:*)
+       echo pdp10-unknown-tops20
+       exit ;;
+    *:ITS:*:*)
+       echo pdp10-unknown-its
+       exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+       exit ;;
+    *:DragonFly:*:*)
+       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit ;;
+    *:*VMS:*:*)
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       case "${UNAME_MACHINE}" in
+           A*) echo alpha-dec-vms ; exit ;;
+           I*) echo ia64-dec-vms ; exit ;;
+           V*) echo vax-dec-vms ; exit ;;
+       esac ;;
+    *:XENIX:*:SysV)
+       echo i386-pc-xenix
+       exit ;;
+    i*86:skyos:*:*)
+       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+       exit ;;
+    i*86:rdos:*:*)
+       echo ${UNAME_MACHINE}-pc-rdos
+       exit ;;
+    i*86:AROS:*:*)
+       echo ${UNAME_MACHINE}-pc-aros
+       exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+         ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+       printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+       printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+       { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+       echo c1-convex-bsd
+       exit ;;
+    c2*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+       exit ;;
+    c34*)
+       echo c34-convex-bsd
+       exit ;;
+    c38*)
+       echo c38-convex-bsd
+       exit ;;
+    c4*)
+       echo c4-convex-bsd
+       exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config.guess.cdbs-orig b/config.guess.cdbs-orig
new file mode 100755 (executable)
index 0000000..c2246a4
--- /dev/null
@@ -0,0 +1,1502 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+#   Free Software Foundation, Inc.
+
+timestamp='2009-12-30'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Originally written by Per Bothner.  Please send patches (context
+# diff format) to <config-patches@gnu.org> and include a ChangeLog
+# entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub.  If it succeeds, it prints the system name on stdout, and
+# exits with 0.  Otherwise, it exits with 1.
+#
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )        # Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help" >&2
+       exit 1 ;;
+    * )
+       break ;;
+  esac
+done
+
+if test $# != 0; then
+  echo "$me: too many arguments$help" >&2
+  exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,)    echo "int x;" > $dummy.c ;
+       for c in cc gcc c89 c99 ; do
+         if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+            CC_FOR_BUILD="$c"; break ;
+         fi ;
+       done ;
+       if test x"$CC_FOR_BUILD" = x ; then
+         CC_FOR_BUILD=no_compiler_found ;
+       fi
+       ;;
+ ,,*)   CC_FOR_BUILD=$CC ;;
+ ,*,*)  CC_FOR_BUILD=$HOST_CC ;;
+esac ; set_cc_for_build= ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+       PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+    *:NetBSD:*:*)
+       # NetBSD (nbsd) targets should (where applicable) match one or
+       # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+       # *-*-netbsdecoff* and *-*-netbsd*.  For targets that recently
+       # switched to ELF, *-*-netbsd* would select the old
+       # object file format.  This provides both forward
+       # compatibility and a consistent mechanism for selecting the
+       # object file format.
+       #
+       # Note: NetBSD doesn't particularly care about the vendor
+       # portion of the name.  We always set it to "unknown".
+       sysctl="sysctl -n hw.machine_arch"
+       UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+           /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+       case "${UNAME_MACHINE_ARCH}" in
+           armeb) machine=armeb-unknown ;;
+           arm*) machine=arm-unknown ;;
+           sh3el) machine=shl-unknown ;;
+           sh3eb) machine=sh-unknown ;;
+           sh5el) machine=sh5le-unknown ;;
+           *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+       esac
+       # The Operating System including object format, if it has switched
+       # to ELF recently, or will in the future.
+       case "${UNAME_MACHINE_ARCH}" in
+           arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+               eval $set_cc_for_build
+               if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+                       | grep -q __ELF__
+               then
+                   # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+                   # Return netbsd for either.  FIX?
+                   os=netbsd
+               else
+                   os=netbsdelf
+               fi
+               ;;
+           *)
+               os=netbsd
+               ;;
+       esac
+       # The OS release
+       # Debian GNU/NetBSD machines have a different userland, and
+       # thus, need a distinct triplet. However, they do not need
+       # kernel version information, so it can be replaced with a
+       # suitable tag, in the style of linux-gnu.
+       case "${UNAME_VERSION}" in
+           Debian*)
+               release='-gnu'
+               ;;
+           *)
+               release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+               ;;
+       esac
+       # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+       # contains redundant information, the shorter form:
+       # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+       echo "${machine}-${os}${release}"
+       exit ;;
+    *:OpenBSD:*:*)
+       UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+       echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
+       exit ;;
+    *:ekkoBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+       exit ;;
+    *:SolidBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
+       exit ;;
+    macppc:MirBSD:*:*)
+       echo powerpc-unknown-mirbsd${UNAME_RELEASE}
+       exit ;;
+    *:MirBSD:*:*)
+       echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+       exit ;;
+    alpha:OSF1:*:*)
+       case $UNAME_RELEASE in
+       *4.0)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+               ;;
+       *5.*)
+               UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+               ;;
+       esac
+       # According to Compaq, /usr/sbin/psrinfo has been available on
+       # OSF/1 and Tru64 systems produced since 1995.  I hope that
+       # covers most systems running today.  This code pipes the CPU
+       # types through head -n 1, so we only detect the type of CPU 0.
+       ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^  The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+       case "$ALPHA_CPU_TYPE" in
+           "EV4 (21064)")
+               UNAME_MACHINE="alpha" ;;
+           "EV4.5 (21064)")
+               UNAME_MACHINE="alpha" ;;
+           "LCA4 (21066/21068)")
+               UNAME_MACHINE="alpha" ;;
+           "EV5 (21164)")
+               UNAME_MACHINE="alphaev5" ;;
+           "EV5.6 (21164A)")
+               UNAME_MACHINE="alphaev56" ;;
+           "EV5.6 (21164PC)")
+               UNAME_MACHINE="alphapca56" ;;
+           "EV5.7 (21164PC)")
+               UNAME_MACHINE="alphapca57" ;;
+           "EV6 (21264)")
+               UNAME_MACHINE="alphaev6" ;;
+           "EV6.7 (21264A)")
+               UNAME_MACHINE="alphaev67" ;;
+           "EV6.8CB (21264C)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.8AL (21264B)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.8CX (21264D)")
+               UNAME_MACHINE="alphaev68" ;;
+           "EV6.9A (21264/EV69A)")
+               UNAME_MACHINE="alphaev69" ;;
+           "EV7 (21364)")
+               UNAME_MACHINE="alphaev7" ;;
+           "EV7.9 (21364A)")
+               UNAME_MACHINE="alphaev79" ;;
+       esac
+       # A Pn.n version is a patched version.
+       # A Vn.n version is a released version.
+       # A Tn.n version is a released field test version.
+       # A Xn.n version is an unreleased experimental baselevel.
+       # 1.2 uses "1.2" for uname -r.
+       echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+       exit ;;
+    Alpha\ *:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # Should we change UNAME_MACHINE based on the output of uname instead
+       # of the specific Alpha model?
+       echo alpha-pc-interix
+       exit ;;
+    21064:Windows_NT:50:3)
+       echo alpha-dec-winnt3.5
+       exit ;;
+    Amiga*:UNIX_System_V:4.0:*)
+       echo m68k-unknown-sysv4
+       exit ;;
+    *:[Aa]miga[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-amigaos
+       exit ;;
+    *:[Mm]orph[Oo][Ss]:*:*)
+       echo ${UNAME_MACHINE}-unknown-morphos
+       exit ;;
+    *:OS/390:*:*)
+       echo i370-ibm-openedition
+       exit ;;
+    *:z/VM:*:*)
+       echo s390-ibm-zvmoe
+       exit ;;
+    *:OS400:*:*)
+        echo powerpc-ibm-os400
+       exit ;;
+    arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+       echo arm-acorn-riscix${UNAME_RELEASE}
+       exit ;;
+    arm:riscos:*:*|arm:RISCOS:*:*)
+       echo arm-unknown-riscos
+       exit ;;
+    SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+       echo hppa1.1-hitachi-hiuxmpp
+       exit ;;
+    Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+       # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+       if test "`(/bin/universe) 2>/dev/null`" = att ; then
+               echo pyramid-pyramid-sysv3
+       else
+               echo pyramid-pyramid-bsd
+       fi
+       exit ;;
+    NILE*:*:*:dcosx)
+       echo pyramid-pyramid-svr4
+       exit ;;
+    DRS?6000:unix:4.0:6*)
+       echo sparc-icl-nx6
+       exit ;;
+    DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+       case `/usr/bin/uname -p` in
+           sparc) echo sparc-icl-nx7; exit ;;
+       esac ;;
+    s390x:SunOS:*:*)
+       echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4H:SunOS:5.*:*)
+       echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
+       echo i386-pc-auroraux${UNAME_RELEASE}
+       exit ;;
+    i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
+       eval $set_cc_for_build
+       SUN_ARCH="i386"
+       # If there is a compiler, see if it is configured for 64-bit objects.
+       # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
+       # This test works for both compilers.
+       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+           if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
+               (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+               grep IS_64BIT_ARCH >/dev/null
+           then
+               SUN_ARCH="x86_64"
+           fi
+       fi
+       echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:6*:*)
+       # According to config.sub, this is the proper way to canonicalize
+       # SunOS6.  Hard to guess exactly what SunOS6 will be like, but
+       # it's likely to be more like Solaris than SunOS4.
+       echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    sun4*:SunOS:*:*)
+       case "`/usr/bin/arch -k`" in
+           Series*|S4*)
+               UNAME_RELEASE=`uname -v`
+               ;;
+       esac
+       # Japanese Language versions have a version number like `4.1.3-JL'.
+       echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+       exit ;;
+    sun3*:SunOS:*:*)
+       echo m68k-sun-sunos${UNAME_RELEASE}
+       exit ;;
+    sun*:*:4.2BSD:*)
+       UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+       test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+       case "`/bin/arch`" in
+           sun3)
+               echo m68k-sun-sunos${UNAME_RELEASE}
+               ;;
+           sun4)
+               echo sparc-sun-sunos${UNAME_RELEASE}
+               ;;
+       esac
+       exit ;;
+    aushp:SunOS:*:*)
+       echo sparc-auspex-sunos${UNAME_RELEASE}
+       exit ;;
+    # The situation for MiNT is a little confusing.  The machine name
+    # can be virtually everything (everything which is not
+    # "atarist" or "atariste" at least should have a processor
+    # > m68000).  The system name ranges from "MiNT" over "FreeMiNT"
+    # to the lowercase version "mint" (or "freemint").  Finally
+    # the system name "TOS" denotes a system which is actually not
+    # MiNT.  But MiNT is downward compatible to TOS, so this should
+    # be no problem.
+    atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+    atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+       echo m68k-atari-mint${UNAME_RELEASE}
+        exit ;;
+    *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+        echo m68k-atari-mint${UNAME_RELEASE}
+       exit ;;
+    milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+        echo m68k-milan-mint${UNAME_RELEASE}
+        exit ;;
+    hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+        echo m68k-hades-mint${UNAME_RELEASE}
+        exit ;;
+    *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+        echo m68k-unknown-mint${UNAME_RELEASE}
+        exit ;;
+    m68k:machten:*:*)
+       echo m68k-apple-machten${UNAME_RELEASE}
+       exit ;;
+    powerpc:machten:*:*)
+       echo powerpc-apple-machten${UNAME_RELEASE}
+       exit ;;
+    RISC*:Mach:*:*)
+       echo mips-dec-mach_bsd4.3
+       exit ;;
+    RISC*:ULTRIX:*:*)
+       echo mips-dec-ultrix${UNAME_RELEASE}
+       exit ;;
+    VAX*:ULTRIX*:*:*)
+       echo vax-dec-ultrix${UNAME_RELEASE}
+       exit ;;
+    2020:CLIX:*:* | 2430:CLIX:*:*)
+       echo clipper-intergraph-clix${UNAME_RELEASE}
+       exit ;;
+    mips:*:*:UMIPS | mips:*:*:RISCos)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h>  /* for printf() prototype */
+       int main (int argc, char *argv[]) {
+#else
+       int main (argc, argv) int argc; char *argv[]; {
+#endif
+       #if defined (host_mips) && defined (MIPSEB)
+       #if defined (SYSTYPE_SYSV)
+         printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_SVR4)
+         printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+       #endif
+       #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+         printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+       #endif
+       #endif
+         exit (-1);
+       }
+EOF
+       $CC_FOR_BUILD -o $dummy $dummy.c &&
+         dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
+         SYSTEM_NAME=`$dummy $dummyarg` &&
+           { echo "$SYSTEM_NAME"; exit; }
+       echo mips-mips-riscos${UNAME_RELEASE}
+       exit ;;
+    Motorola:PowerMAX_OS:*:*)
+       echo powerpc-motorola-powermax
+       exit ;;
+    Motorola:*:4.3:PL8-*)
+       echo powerpc-harris-powermax
+       exit ;;
+    Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+       echo powerpc-harris-powermax
+       exit ;;
+    Night_Hawk:Power_UNIX:*:*)
+       echo powerpc-harris-powerunix
+       exit ;;
+    m88k:CX/UX:7*:*)
+       echo m88k-harris-cxux7
+       exit ;;
+    m88k:*:4*:R4*)
+       echo m88k-motorola-sysv4
+       exit ;;
+    m88k:*:3*:R3*)
+       echo m88k-motorola-sysv3
+       exit ;;
+    AViiON:dgux:*:*)
+        # DG/UX returns AViiON for all architectures
+        UNAME_PROCESSOR=`/usr/bin/uname -p`
+       if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+       then
+           if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+              [ ${TARGET_BINARY_INTERFACE}x = x ]
+           then
+               echo m88k-dg-dgux${UNAME_RELEASE}
+           else
+               echo m88k-dg-dguxbcs${UNAME_RELEASE}
+           fi
+       else
+           echo i586-dg-dgux${UNAME_RELEASE}
+       fi
+       exit ;;
+    M88*:DolphinOS:*:*)        # DolphinOS (SVR3)
+       echo m88k-dolphin-sysv3
+       exit ;;
+    M88*:*:R3*:*)
+       # Delta 88k system running SVR3
+       echo m88k-motorola-sysv3
+       exit ;;
+    XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+       echo m88k-tektronix-sysv3
+       exit ;;
+    Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+       echo m68k-tektronix-bsd
+       exit ;;
+    *:IRIX*:*:*)
+       echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+       exit ;;
+    ????????:AIX?:[12].1:2)   # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+       echo romp-ibm-aix     # uname -m gives an 8 hex-code CPU id
+       exit ;;               # Note that: echo "'`uname -s`'" gives 'AIX '
+    i*86:AIX:*:*)
+       echo i386-ibm-aix
+       exit ;;
+    ia64:AIX:*:*)
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+       exit ;;
+    *:AIX:2:3)
+       if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+               eval $set_cc_for_build
+               sed 's/^                //' << EOF >$dummy.c
+               #include <sys/systemcfg.h>
+
+               main()
+                       {
+                       if (!__power_pc())
+                               exit(1);
+                       puts("powerpc-ibm-aix3.2.5");
+                       exit(0);
+                       }
+EOF
+               if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
+               then
+                       echo "$SYSTEM_NAME"
+               else
+                       echo rs6000-ibm-aix3.2.5
+               fi
+       elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+               echo rs6000-ibm-aix3.2.4
+       else
+               echo rs6000-ibm-aix3.2
+       fi
+       exit ;;
+    *:AIX:*:[456])
+       IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+       if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+               IBM_ARCH=rs6000
+       else
+               IBM_ARCH=powerpc
+       fi
+       if [ -x /usr/bin/oslevel ] ; then
+               IBM_REV=`/usr/bin/oslevel`
+       else
+               IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+       fi
+       echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+       exit ;;
+    *:AIX:*:*)
+       echo rs6000-ibm-aix
+       exit ;;
+    ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+       echo romp-ibm-bsd4.4
+       exit ;;
+    ibmrt:*BSD:*|romp-ibm:BSD:*)            # covers RT/PC BSD and
+       echo romp-ibm-bsd${UNAME_RELEASE}   # 4.3 with uname added to
+       exit ;;                             # report: romp-ibm BSD 4.3
+    *:BOSX:*:*)
+       echo rs6000-bull-bosx
+       exit ;;
+    DPX/2?00:B.O.S.:*:*)
+       echo m68k-bull-sysv3
+       exit ;;
+    9000/[34]??:4.3bsd:1.*:*)
+       echo m68k-hp-bsd
+       exit ;;
+    hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+       echo m68k-hp-bsd4.4
+       exit ;;
+    9000/[34678]??:HP-UX:*:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       case "${UNAME_MACHINE}" in
+           9000/31? )            HP_ARCH=m68000 ;;
+           9000/[34]?? )         HP_ARCH=m68k ;;
+           9000/[678][0-9][0-9])
+               if [ -x /usr/bin/getconf ]; then
+                   sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+                    case "${sc_cpu_version}" in
+                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+                      532)                      # CPU_PA_RISC2_0
+                        case "${sc_kernel_bits}" in
+                          32) HP_ARCH="hppa2.0n" ;;
+                          64) HP_ARCH="hppa2.0w" ;;
+                         '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
+                        esac ;;
+                    esac
+               fi
+               if [ "${HP_ARCH}" = "" ]; then
+                   eval $set_cc_for_build
+                   sed 's/^              //' << EOF >$dummy.c
+
+              #define _HPUX_SOURCE
+              #include <stdlib.h>
+              #include <unistd.h>
+
+              int main ()
+              {
+              #if defined(_SC_KERNEL_BITS)
+                  long bits = sysconf(_SC_KERNEL_BITS);
+              #endif
+                  long cpu  = sysconf (_SC_CPU_VERSION);
+
+                  switch (cpu)
+               {
+               case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+               case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+               case CPU_PA_RISC2_0:
+              #if defined(_SC_KERNEL_BITS)
+                   switch (bits)
+                       {
+                       case 64: puts ("hppa2.0w"); break;
+                       case 32: puts ("hppa2.0n"); break;
+                       default: puts ("hppa2.0"); break;
+                       } break;
+              #else  /* !defined(_SC_KERNEL_BITS) */
+                   puts ("hppa2.0"); break;
+              #endif
+               default: puts ("hppa1.0"); break;
+               }
+                  exit (0);
+              }
+EOF
+                   (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+                   test -z "$HP_ARCH" && HP_ARCH=hppa
+               fi ;;
+       esac
+       if [ ${HP_ARCH} = "hppa2.0w" ]
+       then
+           eval $set_cc_for_build
+
+           # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
+           # 32-bit code.  hppa64-hp-hpux* has the same kernel and a compiler
+           # generating 64-bit code.  GNU and HP use different nomenclature:
+           #
+           # $ CC_FOR_BUILD=cc ./config.guess
+           # => hppa2.0w-hp-hpux11.23
+           # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
+           # => hppa64-hp-hpux11.23
+
+           if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
+               grep -q __LP64__
+           then
+               HP_ARCH="hppa2.0w"
+           else
+               HP_ARCH="hppa64"
+           fi
+       fi
+       echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+       exit ;;
+    ia64:HP-UX:*:*)
+       HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+       echo ia64-hp-hpux${HPUX_REV}
+       exit ;;
+    3050*:HI-UX:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #include <unistd.h>
+       int
+       main ()
+       {
+         long cpu = sysconf (_SC_CPU_VERSION);
+         /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+            true for CPU_PA_RISC1_0.  CPU_IS_PA_RISC returns correct
+            results, however.  */
+         if (CPU_IS_PA_RISC (cpu))
+           {
+             switch (cpu)
+               {
+                 case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+                 case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+                 default: puts ("hppa-hitachi-hiuxwe2"); break;
+               }
+           }
+         else if (CPU_IS_HP_MC68K (cpu))
+           puts ("m68k-hitachi-hiuxwe2");
+         else puts ("unknown-hitachi-hiuxwe2");
+         exit (0);
+       }
+EOF
+       $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
+               { echo "$SYSTEM_NAME"; exit; }
+       echo unknown-hitachi-hiuxwe2
+       exit ;;
+    9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+       echo hppa1.1-hp-bsd
+       exit ;;
+    9000/8??:4.3bsd:*:*)
+       echo hppa1.0-hp-bsd
+       exit ;;
+    *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+       echo hppa1.0-hp-mpeix
+       exit ;;
+    hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+       echo hppa1.1-hp-osf
+       exit ;;
+    hp8??:OSF1:*:*)
+       echo hppa1.0-hp-osf
+       exit ;;
+    i*86:OSF1:*:*)
+       if [ -x /usr/sbin/sysversion ] ; then
+           echo ${UNAME_MACHINE}-unknown-osf1mk
+       else
+           echo ${UNAME_MACHINE}-unknown-osf1
+       fi
+       exit ;;
+    parisc*:Lites*:*:*)
+       echo hppa1.1-hp-lites
+       exit ;;
+    C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+       echo c1-convex-bsd
+        exit ;;
+    C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+        exit ;;
+    C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+       echo c34-convex-bsd
+        exit ;;
+    C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+       echo c38-convex-bsd
+        exit ;;
+    C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+       echo c4-convex-bsd
+        exit ;;
+    CRAY*Y-MP:*:*:*)
+       echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*[A-Z]90:*:*:*)
+       echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+       | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+             -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+             -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*TS:*:*:*)
+       echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*T3E:*:*:*)
+       echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    CRAY*SV1:*:*:*)
+       echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    *:UNICOS/mp:*:*)
+       echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+       exit ;;
+    F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+       FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+        exit ;;
+    5000:UNIX_System_V:4.*:*)
+        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+       exit ;;
+    i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+       echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+       exit ;;
+    sparc*:BSD/OS:*:*)
+       echo sparc-unknown-bsdi${UNAME_RELEASE}
+       exit ;;
+    *:BSD/OS:*:*)
+       echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+       exit ;;
+    *:FreeBSD:*:*)
+       case ${UNAME_MACHINE} in
+           pc98)
+               echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+           amd64)
+               echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+           *)
+               echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
+       esac
+       exit ;;
+    i*:CYGWIN*:*)
+       echo ${UNAME_MACHINE}-pc-cygwin
+       exit ;;
+    *:MINGW*:*)
+       echo ${UNAME_MACHINE}-pc-mingw32
+       exit ;;
+    i*:windows32*:*)
+       # uname -m includes "-pc" on this system.
+       echo ${UNAME_MACHINE}-mingw32
+       exit ;;
+    i*:PW*:*)
+       echo ${UNAME_MACHINE}-pc-pw32
+       exit ;;
+    *:Interix*:*)
+       case ${UNAME_MACHINE} in
+           x86)
+               echo i586-pc-interix${UNAME_RELEASE}
+               exit ;;
+           authenticamd | genuineintel | EM64T)
+               echo x86_64-unknown-interix${UNAME_RELEASE}
+               exit ;;
+           IA64)
+               echo ia64-unknown-interix${UNAME_RELEASE}
+               exit ;;
+       esac ;;
+    [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+       echo i${UNAME_MACHINE}-pc-mks
+       exit ;;
+    8664:Windows_NT:*)
+       echo x86_64-pc-mks
+       exit ;;
+    i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+       # How do we know it's Interix rather than the generic POSIX subsystem?
+       # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+       # UNAME_MACHINE based on the output of uname instead of i386?
+       echo i586-pc-interix
+       exit ;;
+    i*:UWIN*:*)
+       echo ${UNAME_MACHINE}-pc-uwin
+       exit ;;
+    amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
+       echo x86_64-unknown-cygwin
+       exit ;;
+    p*:CYGWIN*:*)
+       echo powerpcle-unknown-cygwin
+       exit ;;
+    prep*:SunOS:5.*:*)
+       echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+       exit ;;
+    *:GNU:*:*)
+       # the GNU system
+       echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+       exit ;;
+    *:GNU/*:*:*)
+       # other systems with GNU libc and userland
+       echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+       exit ;;
+    i*86:Minix:*:*)
+       echo ${UNAME_MACHINE}-pc-minix
+       exit ;;
+    alpha:Linux:*:*)
+       case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+         EV5)   UNAME_MACHINE=alphaev5 ;;
+         EV56)  UNAME_MACHINE=alphaev56 ;;
+         PCA56) UNAME_MACHINE=alphapca56 ;;
+         PCA57) UNAME_MACHINE=alphapca56 ;;
+         EV6)   UNAME_MACHINE=alphaev6 ;;
+         EV67)  UNAME_MACHINE=alphaev67 ;;
+         EV68*) UNAME_MACHINE=alphaev68 ;;
+        esac
+       objdump --private-headers /bin/sh | grep -q ld.so.1
+       if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+       echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+       exit ;;
+    arm*:Linux:*:*)
+       eval $set_cc_for_build
+       if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
+           | grep -q __ARM_EABI__
+       then
+           echo ${UNAME_MACHINE}-unknown-linux-gnu
+       else
+           echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+       fi
+       exit ;;
+    avr32*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    cris:Linux:*:*)
+       echo cris-axis-linux-gnu
+       exit ;;
+    crisv32:Linux:*:*)
+       echo crisv32-axis-linux-gnu
+       exit ;;
+    frv:Linux:*:*)
+       echo frv-unknown-linux-gnu
+       exit ;;
+    i*86:Linux:*:*)
+       LIBC=gnu
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #ifdef __dietlibc__
+       LIBC=dietlibc
+       #endif
+EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+       echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+       exit ;;
+    ia64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    m32r*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    m68*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    mips:Linux:*:* | mips64:Linux:*:*)
+       eval $set_cc_for_build
+       sed 's/^        //' << EOF >$dummy.c
+       #undef CPU
+       #undef ${UNAME_MACHINE}
+       #undef ${UNAME_MACHINE}el
+       #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+       CPU=${UNAME_MACHINE}el
+       #else
+       #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+       CPU=${UNAME_MACHINE}
+       #else
+       CPU=
+       #endif
+       #endif
+EOF
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+       ;;
+    or32:Linux:*:*)
+       echo or32-unknown-linux-gnu
+       exit ;;
+    padre:Linux:*:*)
+       echo sparc-unknown-linux-gnu
+       exit ;;
+    parisc64:Linux:*:* | hppa64:Linux:*:*)
+       echo hppa64-unknown-linux-gnu
+       exit ;;
+    parisc:Linux:*:* | hppa:Linux:*:*)
+       # Look for CPU level
+       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+         PA7*) echo hppa1.1-unknown-linux-gnu ;;
+         PA8*) echo hppa2.0-unknown-linux-gnu ;;
+         *)    echo hppa-unknown-linux-gnu ;;
+       esac
+       exit ;;
+    ppc64:Linux:*:*)
+       echo powerpc64-unknown-linux-gnu
+       exit ;;
+    ppc:Linux:*:*)
+       echo powerpc-unknown-linux-gnu
+       exit ;;
+    s390:Linux:*:* | s390x:Linux:*:*)
+       echo ${UNAME_MACHINE}-ibm-linux
+       exit ;;
+    sh64*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    sh*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    sparc:Linux:*:* | sparc64:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    vax:Linux:*:*)
+       echo ${UNAME_MACHINE}-dec-linux-gnu
+       exit ;;
+    x86_64:Linux:*:*)
+       echo x86_64-unknown-linux-gnu
+       exit ;;
+    xtensa*:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-gnu
+       exit ;;
+    i*86:DYNIX/ptx:4*:*)
+       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+       # earlier versions are messed up and put the nodename in both
+       # sysname and nodename.
+       echo i386-sequent-sysv4
+       exit ;;
+    i*86:UNIX_SV:4.2MP:2.*)
+        # Unixware is an offshoot of SVR4, but it has its own version
+        # number series starting with 2...
+        # I am not positive that other SVR4 systems won't match this,
+       # I just have to hope.  -- rms.
+        # Use sysv4.2uw... so that sysv4* matches it.
+       echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+       exit ;;
+    i*86:OS/2:*:*)
+       # If we were able to find `uname', then EMX Unix compatibility
+       # is probably installed.
+       echo ${UNAME_MACHINE}-pc-os2-emx
+       exit ;;
+    i*86:XTS-300:*:STOP)
+       echo ${UNAME_MACHINE}-unknown-stop
+       exit ;;
+    i*86:atheos:*:*)
+       echo ${UNAME_MACHINE}-unknown-atheos
+       exit ;;
+    i*86:syllable:*:*)
+       echo ${UNAME_MACHINE}-pc-syllable
+       exit ;;
+    i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
+       echo i386-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    i*86:*DOS:*:*)
+       echo ${UNAME_MACHINE}-pc-msdosdjgpp
+       exit ;;
+    i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+       UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+       if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+               echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+       else
+               echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+       fi
+       exit ;;
+    i*86:*:5:[678]*)
+       # UnixWare 7.x, OpenUNIX and OpenServer 6.
+       case `/bin/uname -X | grep "^Machine"` in
+           *486*)           UNAME_MACHINE=i486 ;;
+           *Pentium)        UNAME_MACHINE=i586 ;;
+           *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+       esac
+       echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+       exit ;;
+    i*86:*:3.2:*)
+       if test -f /usr/options/cb.name; then
+               UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+               echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+       elif /bin/uname -X 2>/dev/null >/dev/null ; then
+               UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+               (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+               (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+                       && UNAME_MACHINE=i586
+               (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+                       && UNAME_MACHINE=i686
+               echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+       else
+               echo ${UNAME_MACHINE}-pc-sysv32
+       fi
+       exit ;;
+    pc:*:*:*)
+       # Left here for compatibility:
+        # uname -m prints for DJGPP always 'pc', but it prints nothing about
+        # the processor, so we play safe by assuming i586.
+       # Note: whatever this is, it MUST be the same as what config.sub
+       # prints for the "djgpp" host, or else GDB configury will decide that
+       # this is a cross-build.
+       echo i586-pc-msdosdjgpp
+        exit ;;
+    Intel:Mach:3*:*)
+       echo i386-pc-mach3
+       exit ;;
+    paragon:*:*:*)
+       echo i860-intel-osf1
+       exit ;;
+    i860:*:4.*:*) # i860-SVR4
+       if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+         echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+       else # Add other i860-SVR4 vendors below as they are discovered.
+         echo i860-unknown-sysv${UNAME_RELEASE}  # Unknown i860-SVR4
+       fi
+       exit ;;
+    mini*:CTIX:SYS*5:*)
+       # "miniframe"
+       echo m68010-convergent-sysv
+       exit ;;
+    mc68k:UNIX:SYSTEM5:3.51m)
+       echo m68k-convergent-sysv
+       exit ;;
+    M680?0:D-NIX:5.3:*)
+       echo m68k-diab-dnix
+       exit ;;
+    M68*:*:R3V[5678]*:*)
+       test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
+    3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+       OS_REL=''
+       test -r /etc/.relid \
+       && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+         && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+         && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+          && { echo i486-ncr-sysv4; exit; } ;;
+    NCR*:*:4.2:* | MPRAS*:*:4.2:*)
+       OS_REL='.3'
+       test -r /etc/.relid \
+           && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+       /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+           && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
+       /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+           && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
+       /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
+           && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
+    m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+       echo m68k-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    mc68030:UNIX_System_V:4.*:*)
+       echo m68k-atari-sysv4
+       exit ;;
+    TSUNAMI:LynxOS:2.*:*)
+       echo sparc-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    rs6000:LynxOS:2.*:*)
+       echo rs6000-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
+       echo powerpc-unknown-lynxos${UNAME_RELEASE}
+       exit ;;
+    SM[BE]S:UNIX_SV:*:*)
+       echo mips-dde-sysv${UNAME_RELEASE}
+       exit ;;
+    RM*:ReliantUNIX-*:*:*)
+       echo mips-sni-sysv4
+       exit ;;
+    RM*:SINIX-*:*:*)
+       echo mips-sni-sysv4
+       exit ;;
+    *:SINIX-*:*:*)
+       if uname -p 2>/dev/null >/dev/null ; then
+               UNAME_MACHINE=`(uname -p) 2>/dev/null`
+               echo ${UNAME_MACHINE}-sni-sysv4
+       else
+               echo ns32k-sni-sysv
+       fi
+       exit ;;
+    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+                      # says <Richard.M.Bartel@ccMail.Census.GOV>
+        echo i586-unisys-sysv4
+        exit ;;
+    *:UNIX_System_V:4*:FTX*)
+       # From Gerald Hewes <hewes@openmarket.com>.
+       # How about differentiating between stratus architectures? -djm
+       echo hppa1.1-stratus-sysv4
+       exit ;;
+    *:*:*:FTX*)
+       # From seanf@swdc.stratus.com.
+       echo i860-stratus-sysv4
+       exit ;;
+    i*86:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo ${UNAME_MACHINE}-stratus-vos
+       exit ;;
+    *:VOS:*:*)
+       # From Paul.Green@stratus.com.
+       echo hppa1.1-stratus-vos
+       exit ;;
+    mc68*:A/UX:*:*)
+       echo m68k-apple-aux${UNAME_RELEASE}
+       exit ;;
+    news*:NEWS-OS:6*:*)
+       echo mips-sony-newsos6
+       exit ;;
+    R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+       if [ -d /usr/nec ]; then
+               echo mips-nec-sysv${UNAME_RELEASE}
+       else
+               echo mips-unknown-sysv${UNAME_RELEASE}
+       fi
+        exit ;;
+    BeBox:BeOS:*:*)    # BeOS running on hardware made by Be, PPC only.
+       echo powerpc-be-beos
+       exit ;;
+    BeMac:BeOS:*:*)    # BeOS running on Mac or Mac clone, PPC only.
+       echo powerpc-apple-beos
+       exit ;;
+    BePC:BeOS:*:*)     # BeOS running on Intel PC compatible.
+       echo i586-pc-beos
+       exit ;;
+    BePC:Haiku:*:*)    # Haiku running on Intel PC compatible.
+       echo i586-pc-haiku
+       exit ;;
+    SX-4:SUPER-UX:*:*)
+       echo sx4-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-5:SUPER-UX:*:*)
+       echo sx5-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-6:SUPER-UX:*:*)
+       echo sx6-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-7:SUPER-UX:*:*)
+       echo sx7-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-8:SUPER-UX:*:*)
+       echo sx8-nec-superux${UNAME_RELEASE}
+       exit ;;
+    SX-8R:SUPER-UX:*:*)
+       echo sx8r-nec-superux${UNAME_RELEASE}
+       exit ;;
+    Power*:Rhapsody:*:*)
+       echo powerpc-apple-rhapsody${UNAME_RELEASE}
+       exit ;;
+    *:Rhapsody:*:*)
+       echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+       exit ;;
+    *:Darwin:*:*)
+       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+       case $UNAME_PROCESSOR in
+           i386)
+               eval $set_cc_for_build
+               if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+                 if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+                     (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+                     grep IS_64BIT_ARCH >/dev/null
+                 then
+                     UNAME_PROCESSOR="x86_64"
+                 fi
+               fi ;;
+           unknown) UNAME_PROCESSOR=powerpc ;;
+       esac
+       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+       exit ;;
+    *:procnto*:*:* | *:QNX:[0123456789]*:*)
+       UNAME_PROCESSOR=`uname -p`
+       if test "$UNAME_PROCESSOR" = "x86"; then
+               UNAME_PROCESSOR=i386
+               UNAME_MACHINE=pc
+       fi
+       echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+       exit ;;
+    *:QNX:*:4*)
+       echo i386-pc-qnx
+       exit ;;
+    NSE-?:NONSTOP_KERNEL:*:*)
+       echo nse-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+    NSR-?:NONSTOP_KERNEL:*:*)
+       echo nsr-tandem-nsk${UNAME_RELEASE}
+       exit ;;
+    *:NonStop-UX:*:*)
+       echo mips-compaq-nonstopux
+       exit ;;
+    BS2000:POSIX*:*:*)
+       echo bs2000-siemens-sysv
+       exit ;;
+    DS/*:UNIX_System_V:*:*)
+       echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+       exit ;;
+    *:Plan9:*:*)
+       # "uname -m" is not consistent, so use $cputype instead. 386
+       # is converted to i386 for consistency with other x86
+       # operating systems.
+       if test "$cputype" = "386"; then
+           UNAME_MACHINE=i386
+       else
+           UNAME_MACHINE="$cputype"
+       fi
+       echo ${UNAME_MACHINE}-unknown-plan9
+       exit ;;
+    *:TOPS-10:*:*)
+       echo pdp10-unknown-tops10
+       exit ;;
+    *:TENEX:*:*)
+       echo pdp10-unknown-tenex
+       exit ;;
+    KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+       echo pdp10-dec-tops20
+       exit ;;
+    XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+       echo pdp10-xkl-tops20
+       exit ;;
+    *:TOPS-20:*:*)
+       echo pdp10-unknown-tops20
+       exit ;;
+    *:ITS:*:*)
+       echo pdp10-unknown-its
+       exit ;;
+    SEI:*:*:SEIUX)
+        echo mips-sei-seiux${UNAME_RELEASE}
+       exit ;;
+    *:DragonFly:*:*)
+       echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+       exit ;;
+    *:*VMS:*:*)
+       UNAME_MACHINE=`(uname -p) 2>/dev/null`
+       case "${UNAME_MACHINE}" in
+           A*) echo alpha-dec-vms ; exit ;;
+           I*) echo ia64-dec-vms ; exit ;;
+           V*) echo vax-dec-vms ; exit ;;
+       esac ;;
+    *:XENIX:*:SysV)
+       echo i386-pc-xenix
+       exit ;;
+    i*86:skyos:*:*)
+       echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
+       exit ;;
+    i*86:rdos:*:*)
+       echo ${UNAME_MACHINE}-pc-rdos
+       exit ;;
+    i*86:AROS:*:*)
+       echo ${UNAME_MACHINE}-pc-aros
+       exit ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+          "4"
+#else
+         ""
+#endif
+         ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+       printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+       printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+       { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+       echo c1-convex-bsd
+       exit ;;
+    c2*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+       exit ;;
+    c34*)
+       echo c34-convex-bsd
+       exit ;;
+    c38*)
+       echo c38-convex-bsd
+       exit ;;
+    c4*)
+       echo c4-convex-bsd
+       exit ;;
+    esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+and
+  http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo               = `(hostinfo) 2>/dev/null`
+/bin/universe          = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch              = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM  = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config.h b/config.h
new file mode 100644 (file)
index 0000000..f2e083a
--- /dev/null
+++ b/config.h
@@ -0,0 +1,623 @@
+/* config.h.  Generated from config.h.in by configure.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+
+#ifndef EFL_CONFIG_H__
+#define EFL_CONFIG_H__
+
+
+/* Define if building universal (internal helper macro) */
+/* #undef AC_APPLE_UNIVERSAL_BUILD */
+
+/* Build Altivec Code */
+/* #undef BUILD_ALTIVEC */
+
+/* Build async events support */
+#define BUILD_ASYNC_EVENTS 1
+
+/* Build async image preload support */
+#define BUILD_ASYNC_PRELOAD 1
+
+/* Build plain C code */
+#define BUILD_C 1
+
+/* 16bpp BGR 565 Converter Support */
+#define BUILD_CONVERT_16_BGR_565 1
+
+/* 16bpp RGB 444 Converter Support */
+#define BUILD_CONVERT_16_RGB_444 1
+
+/* 16bpp 565 (444 ipaq) Converter Support */
+#define BUILD_CONVERT_16_RGB_454645 1
+
+/* 16bpp RGB 555 Converter Support */
+#define BUILD_CONVERT_16_RGB_555 1
+
+/* 16bpp RGB 565 Converter Support */
+#define BUILD_CONVERT_16_RGB_565 1
+
+/* 16bpp RGB Rotation 0 Converter Support */
+#define BUILD_CONVERT_16_RGB_ROT0 1
+
+/* 16bpp RGB Rotation 180 Converter Support */
+#define BUILD_CONVERT_16_RGB_ROT180 1
+
+/* 16bpp RGB Rotation 270 Converter Support */
+#define BUILD_CONVERT_16_RGB_ROT270 1
+
+/* 16bpp RGB Rotation 90 Converter Support */
+#define BUILD_CONVERT_16_RGB_ROT90 1
+
+/* 24bpp BGR 888 Converter Support */
+#define BUILD_CONVERT_24_BGR_888 1
+
+/* 24bpp 666 (666 ezx) Converter Support */
+#define BUILD_CONVERT_24_RGB_666 1
+
+/* 24bpp RGB 888 Converter Support */
+#define BUILD_CONVERT_24_RGB_888 1
+
+/* 32bpp BGRX 8888 Converter Support */
+#define BUILD_CONVERT_32_BGRX_8888 1
+
+/* 32bpp BGR 8888 Converter Support */
+#define BUILD_CONVERT_32_BGR_8888 1
+
+/* 32bpp RGBX 8888 Converter Support */
+#define BUILD_CONVERT_32_RGBX_8888 1
+
+/* 32bpp 666 (666 ezx) Converter Support */
+#define BUILD_CONVERT_32_RGB_666 1
+
+/* 32bpp RGB 8888 Converter Support */
+#define BUILD_CONVERT_32_RGB_8888 1
+
+/* 32bpp RGB Rotation 0 Converter Support */
+#define BUILD_CONVERT_32_RGB_ROT0 1
+
+/* 32bpp RGB Rotation 180 Converter Support */
+#define BUILD_CONVERT_32_RGB_ROT180 1
+
+/* 32bpp RGB Rotation 270 Converter Support */
+#define BUILD_CONVERT_32_RGB_ROT270 1
+
+/* 32bpp RGB Rotation 90 Converter Support */
+#define BUILD_CONVERT_32_RGB_ROT90 1
+
+/* 32bpp Grayscale 64-palette Converter Support */
+#define BUILD_CONVERT_8_GRAYSCALE_64 1
+
+/* 8bpp GRY 1 Converter Support */
+#define BUILD_CONVERT_8_GRY_1 1
+
+/* 8bpp GRY 16 Converter Support */
+#define BUILD_CONVERT_8_GRY_16 1
+
+/* 8bpp RGB 111 Converter Support */
+#define BUILD_CONVERT_8_RGB_111 1
+
+/* 8bpp RGB 121 Converter Support */
+#define BUILD_CONVERT_8_RGB_121 1
+
+/* 8bpp RGB 221 Converter Support */
+#define BUILD_CONVERT_8_RGB_221 1
+
+/* 8bpp RGB 222 Converter Support */
+#define BUILD_CONVERT_8_RGB_222 1
+
+/* 8bpp RGB 232 Converter Support */
+#define BUILD_CONVERT_8_RGB_232 1
+
+/* 8bpp RGB 332 Converter Support */
+#define BUILD_CONVERT_8_RGB_332 1
+
+/* 8bpp RGB 666 Converter Support */
+#define BUILD_CONVERT_8_RGB_666 1
+
+/* YUV Converter Support */
+#define BUILD_CONVERT_YUV 1
+
+/* Buffer rendering backend */
+#define BUILD_ENGINE_BUFFER 1
+
+/* Direct3D rendering backend */
+/* #undef BUILD_ENGINE_DIRECT3D */
+
+/* DirectFB rendering backend */
+/* #undef BUILD_ENGINE_DIRECTFB */
+
+/* Framebuffer rendering backend */
+#define BUILD_ENGINE_FB 1
+
+/* Generic OpenGL Rendering Support */
+#define BUILD_ENGINE_GL_COMMON 1
+
+/* OpenGL Glew rendering backend */
+/* #undef BUILD_ENGINE_GL_GLEW */
+
+/* OpenGL SDL rendering backend */
+/* #undef BUILD_ENGINE_GL_SDL */
+
+/* OpenGL X11 rendering backend */
+#define BUILD_ENGINE_GL_X11 1
+
+/* Quartz rendering backend */
+/* #undef BUILD_ENGINE_QUARTZ */
+
+/* Software DirectDraw 16 bits rendering backend */
+/* #undef BUILD_ENGINE_SOFTWARE_16_DDRAW */
+
+/* Software Windows CE 16 bits rendering backend */
+/* #undef BUILD_ENGINE_SOFTWARE_16_WINCE */
+
+/* Software X11 16 bits rendering backend */
+/* #undef BUILD_ENGINE_SOFTWARE_16_X11 */
+
+/* Software X11 8 bits grayscale rendering backend */
+/* #undef BUILD_ENGINE_SOFTWARE_8_X11 */
+
+/* Software DirectDraw rendering backend */
+/* #undef BUILD_ENGINE_SOFTWARE_DDRAW */
+
+/* Software GDI rendering backend */
+/* #undef BUILD_ENGINE_SOFTWARE_GDI */
+
+/* Software SDL rendering backend */
+/* #undef BUILD_ENGINE_SOFTWARE_SDL */
+
+/* Build software X11 engines */
+#define BUILD_ENGINE_SOFTWARE_X11 1
+
+/* Software XCB rendering backend */
+/* #undef BUILD_ENGINE_SOFTWARE_XCB */
+
+/* Software Xlib rendering backend */
+#define BUILD_ENGINE_SOFTWARE_XLIB 1
+
+/* XRender X11 rendering backend */
+#define BUILD_ENGINE_XRENDER_X11 1
+
+/* XRender XCB rendering backend */
+/* #undef BUILD_ENGINE_XRENDER_XCB */
+
+/* EET Font Loader Support */
+#define BUILD_FONT_LOADER_EET 1
+
+/* define to 1 if you have the line dither mask support */
+#define BUILD_LINE_DITHER_MASK 1
+
+/* UP Image Loader Support */
+#define BUILD_LOADER_BMP 1
+
+/* UP Image Loader Support */
+/* #undef BUILD_LOADER_EDB */
+
+/* UP Image Loader Support */
+#define BUILD_LOADER_EET 1
+
+/* UP Image Loader Support */
+#define BUILD_LOADER_GIF 1
+
+/* UP Image Loader Support */
+#define BUILD_LOADER_ICO 1
+
+/* UP Image Loader Support */
+#define BUILD_LOADER_JPEG 1
+
+/* JPEG Region Decode Support */
+#define BUILD_LOADER_JPEG_REGION 1
+
+/* UP Image Loader Support */
+#define BUILD_LOADER_PMAPS 1
+
+/* UP Image Loader Support */
+#define BUILD_LOADER_PNG 1
+
+/* UP Image Loader Support */
+/* #undef BUILD_LOADER_SVG */
+
+/* UP Image Loader Support */
+#define BUILD_LOADER_TGA 1
+
+/* UP Image Loader Support */
+/* #undef BUILD_LOADER_TIFF */
+
+/* UP Image Loader Support */
+#define BUILD_LOADER_WBMP 1
+
+/* UP Image Loader Support */
+#define BUILD_LOADER_XPM 1
+
+/* Build MMX Code */
+/* #undef BUILD_MMX */
+
+/* Build NEON Code */
+#define BUILD_NEON 1
+
+/* define to 1 if you have the conversion to 16bpp without dither mask support
+   */
+/* #undef BUILD_NO_DITHER_MASK */
+
+/* Build pipe render support */
+/* #undef BUILD_PIPE_RENDER */
+
+/* Build Threaded Rendering */
+#define BUILD_PTHREAD 1
+
+/* define to 1 if you have the sampling scaler support */
+#define BUILD_SCALE_SAMPLE 1
+
+/* define to 1 if you have the smooth scaler support */
+#define BUILD_SCALE_SMOOTH 1
+
+/* define to 1 if you have the small dither mask support */
+/* #undef BUILD_SMALL_DITHER_MASK */
+
+/* Build SSE Code */
+/* #undef BUILD_SSE */
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+/* #undef CRAY_STACKSEG_END */
+
+/* Define to 1 if using `alloca.c'. */
+/* #undef C_ALLOCA */
+
+/* Define to mention that evas is built */
+/* #undef EFL_EVAS_BUILD */
+
+/* Use SDL primitive when possible */
+/* #undef ENGINE_SDL_PRIMITIVE */
+
+/* Build JPEG saver */
+#define EVAS_BUILD_SAVER_JPEG 1
+
+/* Shared caceh server. */
+#define EVAS_CSERVE 1
+
+/* Build async render support */
+/* #undef EVAS_FRAME_QUEUING */
+
+/* complain when people pass in wrong object types etc. */
+#define EVAS_MAGIC_DEBUG 1
+
+/* Build BMP image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_BMP */
+
+/* Build buffer engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_BUFFER */
+
+/* Build direct3d engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_DIRECT3D */
+
+/* Build directfb engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_DIRECTFB */
+
+/* Build Edb image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_EDB */
+
+/* Build Eet image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_EET */
+
+/* Build fb engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_FB */
+
+/* Build Gif image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_GIF */
+
+/* Build GL generic engine as part of libevas */
+/* #undef EVAS_STATIC_BUILD_GL_COMMON */
+
+/* Build gl-glew engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_GL_GLEW */
+
+/* Build gl-sdl engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_GL_SDL */
+
+/* Build gl-x11 engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_GL_X11 */
+
+/* Build ICO image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_ICO */
+
+/* Build Jpeg image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_JPEG */
+
+/* Build PMAPS image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_PMAPS */
+
+/* Build PNG image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_PNG */
+
+/* Build quartz engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_QUARTZ */
+
+/* Build software 16 engine as part of libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_16 */
+
+/* Build software-16-ddraw engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW */
+
+/* Build software-16-wince engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_16_WINCE */
+
+/* Build software-16-x11 engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_16_X11 */
+
+/* Build software 8 engine as part of libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_8 */
+
+/* Build software-8-x11 engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_8_X11 */
+
+/* Build software-ddraw engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_DDRAW */
+
+/* Build software-gdi engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_GDI */
+
+/* Build software generic engine as part of libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_GENERIC */
+
+/* Build software-sdl engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_SDL */
+
+/* Build software X11 engines as part of libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_X11 */
+
+/* Build software-xcb engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_XCB */
+
+/* Build software-xlib engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_SOFTWARE_XLIB */
+
+/* Build SVG image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_SVG */
+
+/* Build TGA image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_TGA */
+
+/* Build Tiff image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_TIFF */
+
+/* Build WBMP image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_WBMP */
+
+/* Build XPM image loader inside libevas */
+/* #undef EVAS_STATIC_BUILD_XPM */
+
+/* Build xrender-x11 engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_XRENDER_X11 */
+
+/* Build xrender-xcb engine inside libevas */
+/* #undef EVAS_STATIC_BUILD_XRENDER_XCB */
+
+/* Samsung S3c6410 GLES2 support */
+/* #undef GLES_VARIETY_S3C6410 */
+
+/* Imagination SGX GLES2 support */
+#define GLES_VARIETY_SGX 1
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#define HAVE_ALLOCA 1
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#define HAVE_ALLOCA_H 1
+
+/* Have altivec.h header file */
+/* #undef HAVE_ALTIVEC_H */
+
+/* Define to 1 if you have the <d3d9.h> header file. */
+/* #undef HAVE_D3D9_H */
+
+/* Define to 1 if you have the <d3dx9.h> header file. */
+/* #undef HAVE_D3DX9_H */
+
+/* Define to 1 if you have the `dladdr' function. */
+#define HAVE_DLADDR 1
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the `dlopen' function. */
+/* #undef HAVE_DLOPEN */
+
+/* Set to 1 if evil package is installed */
+/* #undef HAVE_EVIL */
+
+/* have fontconfig searching capabilities */
+#define HAVE_FONTCONFIG 1
+
+/* have fribidi support */
+#define HAVE_FRIBIDI 1
+
+/* Define to 1 if you have the <GL/glew.h> header file. */
+/* #undef HAVE_GL_GLEW_H */
+
+/* Define to 1 if you have the <GL/gl.h> header file. */
+/* #undef HAVE_GL_GL_H */
+
+/* have harfbuzz support */
+/* #undef HAVE_HARFBUZZ */
+
+/* have harfbuzz glib support */
+/* #undef HAVE_HARFBUZZ_GLIB */
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#define HAVE_PTHREAD_H 1
+
+/* Define to 1 if you have the <sched.h> header file. */
+#define HAVE_SCHED_H 1
+
+/* SDL_OPENGLES flag is present */
+/* #undef HAVE_SDL_FLAG_OPENGLES */
+
+/* SDL_GL version attributes present */
+/* #undef HAVE_SDL_GL_CONTEXT_VERSION */
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#define HAVE_SYS_PARAM_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Valgrind support */
+/* #undef HAVE_VALGRIND */
+
+/* Define to 1 if you have the <X11/extensions/Xrender.h> header file. */
+#define HAVE_X11_EXTENSIONS_XRENDER_H 1
+
+/* Define to 1 if you have the <X11/Xlib.h> header file. */
+#define HAVE_X11_XLIB_H 1
+
+/* Define to 1 if your compiler has __attribute__ */
+#define HAVE___ATTRIBUTE__ 1
+
+/* To avoid bug on old libXext version */
+/* #undef LIBXEXT_VERSION_LOW */
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#define LT_OBJDIR ".libs/"
+
+/* Experimental metric caching to speed up text rendering. */
+/* #undef METRIC_CACHE */
+
+/* "Module architecture" */
+#define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+
+/* Name of package */
+#define PACKAGE "evas"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "evas"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "evas 1.0.999.0"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "evas"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "1.0.999.0"
+
+/* default value since PATH_MAX is not defined */
+/* #undef PATH_MAX */
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+       STACK_DIRECTION > 0 => grows toward higher addresses
+       STACK_DIRECTION < 0 => grows toward lower addresses
+       STACK_DIRECTION = 0 => direction of growth unknown */
+/* #undef STACK_DIRECTION */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# define _ALL_SOURCE 1
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# define _GNU_SOURCE 1
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# define _POSIX_PTHREAD_SEMANTICS 1
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# define _TANDEM_SOURCE 1
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# define __EXTENSIONS__ 1
+#endif
+
+
+/* Version number of package */
+#define VERSION "1.0.999.0"
+
+/* Major version */
+#define VMAJ 1
+
+/* Micro version */
+#define VMIC 999
+
+/* Minor version */
+#define VMIN 0
+
+/* Revison */
+#define VREV 0
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+/* #  undef WORDS_BIGENDIAN */
+# endif
+#endif
+
+/* Experimental word caching to speed up text rendering. */
+/* #undef WORD_CACHE */
+
+/* Define to 1 if the X Window System is missing or not being used. */
+/* #undef X_DISPLAY_MISSING */
+
+/* Define to 1 if on MINIX. */
+/* #undef _MINIX */
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+/* #undef _POSIX_1_SOURCE */
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+/* #undef _POSIX_SOURCE */
+
+/* Macro declaring a function argument to be unused */
+#define __UNUSED__ __attribute__((unused))
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+
+#endif /* EFL_CONFIG_H__ */
+
diff --git a/config.h.in b/config.h.in
new file mode 100644 (file)
index 0000000..ed36c7f
--- /dev/null
@@ -0,0 +1,622 @@
+/* config.h.in.  Generated from configure.ac by autoheader.  */
+
+
+#ifndef EFL_CONFIG_H__
+#define EFL_CONFIG_H__
+
+
+/* Define if building universal (internal helper macro) */
+#undef AC_APPLE_UNIVERSAL_BUILD
+
+/* Build Altivec Code */
+#undef BUILD_ALTIVEC
+
+/* Build async events support */
+#undef BUILD_ASYNC_EVENTS
+
+/* Build async image preload support */
+#undef BUILD_ASYNC_PRELOAD
+
+/* Build plain C code */
+#undef BUILD_C
+
+/* 16bpp BGR 565 Converter Support */
+#undef BUILD_CONVERT_16_BGR_565
+
+/* 16bpp RGB 444 Converter Support */
+#undef BUILD_CONVERT_16_RGB_444
+
+/* 16bpp 565 (444 ipaq) Converter Support */
+#undef BUILD_CONVERT_16_RGB_454645
+
+/* 16bpp RGB 555 Converter Support */
+#undef BUILD_CONVERT_16_RGB_555
+
+/* 16bpp RGB 565 Converter Support */
+#undef BUILD_CONVERT_16_RGB_565
+
+/* 16bpp RGB Rotation 0 Converter Support */
+#undef BUILD_CONVERT_16_RGB_ROT0
+
+/* 16bpp RGB Rotation 180 Converter Support */
+#undef BUILD_CONVERT_16_RGB_ROT180
+
+/* 16bpp RGB Rotation 270 Converter Support */
+#undef BUILD_CONVERT_16_RGB_ROT270
+
+/* 16bpp RGB Rotation 90 Converter Support */
+#undef BUILD_CONVERT_16_RGB_ROT90
+
+/* 24bpp BGR 888 Converter Support */
+#undef BUILD_CONVERT_24_BGR_888
+
+/* 24bpp 666 (666 ezx) Converter Support */
+#undef BUILD_CONVERT_24_RGB_666
+
+/* 24bpp RGB 888 Converter Support */
+#undef BUILD_CONVERT_24_RGB_888
+
+/* 32bpp BGRX 8888 Converter Support */
+#undef BUILD_CONVERT_32_BGRX_8888
+
+/* 32bpp BGR 8888 Converter Support */
+#undef BUILD_CONVERT_32_BGR_8888
+
+/* 32bpp RGBX 8888 Converter Support */
+#undef BUILD_CONVERT_32_RGBX_8888
+
+/* 32bpp 666 (666 ezx) Converter Support */
+#undef BUILD_CONVERT_32_RGB_666
+
+/* 32bpp RGB 8888 Converter Support */
+#undef BUILD_CONVERT_32_RGB_8888
+
+/* 32bpp RGB Rotation 0 Converter Support */
+#undef BUILD_CONVERT_32_RGB_ROT0
+
+/* 32bpp RGB Rotation 180 Converter Support */
+#undef BUILD_CONVERT_32_RGB_ROT180
+
+/* 32bpp RGB Rotation 270 Converter Support */
+#undef BUILD_CONVERT_32_RGB_ROT270
+
+/* 32bpp RGB Rotation 90 Converter Support */
+#undef BUILD_CONVERT_32_RGB_ROT90
+
+/* 32bpp Grayscale 64-palette Converter Support */
+#undef BUILD_CONVERT_8_GRAYSCALE_64
+
+/* 8bpp GRY 1 Converter Support */
+#undef BUILD_CONVERT_8_GRY_1
+
+/* 8bpp GRY 16 Converter Support */
+#undef BUILD_CONVERT_8_GRY_16
+
+/* 8bpp RGB 111 Converter Support */
+#undef BUILD_CONVERT_8_RGB_111
+
+/* 8bpp RGB 121 Converter Support */
+#undef BUILD_CONVERT_8_RGB_121
+
+/* 8bpp RGB 221 Converter Support */
+#undef BUILD_CONVERT_8_RGB_221
+
+/* 8bpp RGB 222 Converter Support */
+#undef BUILD_CONVERT_8_RGB_222
+
+/* 8bpp RGB 232 Converter Support */
+#undef BUILD_CONVERT_8_RGB_232
+
+/* 8bpp RGB 332 Converter Support */
+#undef BUILD_CONVERT_8_RGB_332
+
+/* 8bpp RGB 666 Converter Support */
+#undef BUILD_CONVERT_8_RGB_666
+
+/* YUV Converter Support */
+#undef BUILD_CONVERT_YUV
+
+/* Buffer rendering backend */
+#undef BUILD_ENGINE_BUFFER
+
+/* Direct3D rendering backend */
+#undef BUILD_ENGINE_DIRECT3D
+
+/* DirectFB rendering backend */
+#undef BUILD_ENGINE_DIRECTFB
+
+/* Framebuffer rendering backend */
+#undef BUILD_ENGINE_FB
+
+/* Generic OpenGL Rendering Support */
+#undef BUILD_ENGINE_GL_COMMON
+
+/* OpenGL Glew rendering backend */
+#undef BUILD_ENGINE_GL_GLEW
+
+/* OpenGL SDL rendering backend */
+#undef BUILD_ENGINE_GL_SDL
+
+/* OpenGL X11 rendering backend */
+#undef BUILD_ENGINE_GL_X11
+
+/* Quartz rendering backend */
+#undef BUILD_ENGINE_QUARTZ
+
+/* Software DirectDraw 16 bits rendering backend */
+#undef BUILD_ENGINE_SOFTWARE_16_DDRAW
+
+/* Software Windows CE 16 bits rendering backend */
+#undef BUILD_ENGINE_SOFTWARE_16_WINCE
+
+/* Software X11 16 bits rendering backend */
+#undef BUILD_ENGINE_SOFTWARE_16_X11
+
+/* Software X11 8 bits grayscale rendering backend */
+#undef BUILD_ENGINE_SOFTWARE_8_X11
+
+/* Software DirectDraw rendering backend */
+#undef BUILD_ENGINE_SOFTWARE_DDRAW
+
+/* Software GDI rendering backend */
+#undef BUILD_ENGINE_SOFTWARE_GDI
+
+/* Software SDL rendering backend */
+#undef BUILD_ENGINE_SOFTWARE_SDL
+
+/* Build software X11 engines */
+#undef BUILD_ENGINE_SOFTWARE_X11
+
+/* Software XCB rendering backend */
+#undef BUILD_ENGINE_SOFTWARE_XCB
+
+/* Software Xlib rendering backend */
+#undef BUILD_ENGINE_SOFTWARE_XLIB
+
+/* XRender X11 rendering backend */
+#undef BUILD_ENGINE_XRENDER_X11
+
+/* XRender XCB rendering backend */
+#undef BUILD_ENGINE_XRENDER_XCB
+
+/* EET Font Loader Support */
+#undef BUILD_FONT_LOADER_EET
+
+/* define to 1 if you have the line dither mask support */
+#undef BUILD_LINE_DITHER_MASK
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_BMP
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_EDB
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_EET
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_GIF
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_ICO
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_JPEG
+
+/* JPEG Region Decode Support */
+#undef BUILD_LOADER_JPEG_REGION
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_PMAPS
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_PNG
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_SVG
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_TGA
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_TIFF
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_WBMP
+
+/* UP Image Loader Support */
+#undef BUILD_LOADER_XPM
+
+/* Build MMX Code */
+#undef BUILD_MMX
+
+/* Build NEON Code */
+#undef BUILD_NEON
+
+/* define to 1 if you have the conversion to 16bpp without dither mask support
+   */
+#undef BUILD_NO_DITHER_MASK
+
+/* Build pipe render support */
+#undef BUILD_PIPE_RENDER
+
+/* Build Threaded Rendering */
+#undef BUILD_PTHREAD
+
+/* define to 1 if you have the sampling scaler support */
+#undef BUILD_SCALE_SAMPLE
+
+/* define to 1 if you have the smooth scaler support */
+#undef BUILD_SCALE_SMOOTH
+
+/* define to 1 if you have the small dither mask support */
+#undef BUILD_SMALL_DITHER_MASK
+
+/* Build SSE Code */
+#undef BUILD_SSE
+
+/* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP
+   systems. This function is required for `alloca.c' support on those systems.
+   */
+#undef CRAY_STACKSEG_END
+
+/* Define to 1 if using `alloca.c'. */
+#undef C_ALLOCA
+
+/* Define to mention that evas is built */
+#undef EFL_EVAS_BUILD
+
+/* Use SDL primitive when possible */
+#undef ENGINE_SDL_PRIMITIVE
+
+/* Build JPEG saver */
+#undef EVAS_BUILD_SAVER_JPEG
+
+/* Shared caceh server. */
+#undef EVAS_CSERVE
+
+/* Build async render support */
+#undef EVAS_FRAME_QUEUING
+
+/* complain when people pass in wrong object types etc. */
+#undef EVAS_MAGIC_DEBUG
+
+/* Build BMP image loader inside libevas */
+#undef EVAS_STATIC_BUILD_BMP
+
+/* Build buffer engine inside libevas */
+#undef EVAS_STATIC_BUILD_BUFFER
+
+/* Build direct3d engine inside libevas */
+#undef EVAS_STATIC_BUILD_DIRECT3D
+
+/* Build directfb engine inside libevas */
+#undef EVAS_STATIC_BUILD_DIRECTFB
+
+/* Build Edb image loader inside libevas */
+#undef EVAS_STATIC_BUILD_EDB
+
+/* Build Eet image loader inside libevas */
+#undef EVAS_STATIC_BUILD_EET
+
+/* Build fb engine inside libevas */
+#undef EVAS_STATIC_BUILD_FB
+
+/* Build Gif image loader inside libevas */
+#undef EVAS_STATIC_BUILD_GIF
+
+/* Build GL generic engine as part of libevas */
+#undef EVAS_STATIC_BUILD_GL_COMMON
+
+/* Build gl-glew engine inside libevas */
+#undef EVAS_STATIC_BUILD_GL_GLEW
+
+/* Build gl-sdl engine inside libevas */
+#undef EVAS_STATIC_BUILD_GL_SDL
+
+/* Build gl-x11 engine inside libevas */
+#undef EVAS_STATIC_BUILD_GL_X11
+
+/* Build ICO image loader inside libevas */
+#undef EVAS_STATIC_BUILD_ICO
+
+/* Build Jpeg image loader inside libevas */
+#undef EVAS_STATIC_BUILD_JPEG
+
+/* Build PMAPS image loader inside libevas */
+#undef EVAS_STATIC_BUILD_PMAPS
+
+/* Build PNG image loader inside libevas */
+#undef EVAS_STATIC_BUILD_PNG
+
+/* Build quartz engine inside libevas */
+#undef EVAS_STATIC_BUILD_QUARTZ
+
+/* Build software 16 engine as part of libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_16
+
+/* Build software-16-ddraw engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW
+
+/* Build software-16-wince engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_16_WINCE
+
+/* Build software-16-x11 engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_16_X11
+
+/* Build software 8 engine as part of libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_8
+
+/* Build software-8-x11 engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_8_X11
+
+/* Build software-ddraw engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_DDRAW
+
+/* Build software-gdi engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_GDI
+
+/* Build software generic engine as part of libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_GENERIC
+
+/* Build software-sdl engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_SDL
+
+/* Build software X11 engines as part of libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_X11
+
+/* Build software-xcb engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_XCB
+
+/* Build software-xlib engine inside libevas */
+#undef EVAS_STATIC_BUILD_SOFTWARE_XLIB
+
+/* Build SVG image loader inside libevas */
+#undef EVAS_STATIC_BUILD_SVG
+
+/* Build TGA image loader inside libevas */
+#undef EVAS_STATIC_BUILD_TGA
+
+/* Build Tiff image loader inside libevas */
+#undef EVAS_STATIC_BUILD_TIFF
+
+/* Build WBMP image loader inside libevas */
+#undef EVAS_STATIC_BUILD_WBMP
+
+/* Build XPM image loader inside libevas */
+#undef EVAS_STATIC_BUILD_XPM
+
+/* Build xrender-x11 engine inside libevas */
+#undef EVAS_STATIC_BUILD_XRENDER_X11
+
+/* Build xrender-xcb engine inside libevas */
+#undef EVAS_STATIC_BUILD_XRENDER_XCB
+
+/* Samsung S3c6410 GLES2 support */
+#undef GLES_VARIETY_S3C6410
+
+/* Imagination SGX GLES2 support */
+#undef GLES_VARIETY_SGX
+
+/* Define to 1 if you have `alloca', as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
+   */
+#undef HAVE_ALLOCA_H
+
+/* Have altivec.h header file */
+#undef HAVE_ALTIVEC_H
+
+/* Define to 1 if you have the <d3d9.h> header file. */
+#undef HAVE_D3D9_H
+
+/* Define to 1 if you have the <d3dx9.h> header file. */
+#undef HAVE_D3DX9_H
+
+/* Define to 1 if you have the `dladdr' function. */
+#undef HAVE_DLADDR
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#undef HAVE_DLFCN_H
+
+/* Define to 1 if you have the `dlopen' function. */
+#undef HAVE_DLOPEN
+
+/* Set to 1 if evil package is installed */
+#undef HAVE_EVIL
+
+/* have fontconfig searching capabilities */
+#undef HAVE_FONTCONFIG
+
+/* have fribidi support */
+#undef HAVE_FRIBIDI
+
+/* Define to 1 if you have the <GL/glew.h> header file. */
+#undef HAVE_GL_GLEW_H
+
+/* Define to 1 if you have the <GL/gl.h> header file. */
+#undef HAVE_GL_GL_H
+
+/* have harfbuzz support */
+#undef HAVE_HARFBUZZ
+
+/* have harfbuzz glib support */
+#undef HAVE_HARFBUZZ_GLIB
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the <pthread.h> header file. */
+#undef HAVE_PTHREAD_H
+
+/* Define to 1 if you have the <sched.h> header file. */
+#undef HAVE_SCHED_H
+
+/* SDL_OPENGLES flag is present */
+#undef HAVE_SDL_FLAG_OPENGLES
+
+/* SDL_GL version attributes present */
+#undef HAVE_SDL_GL_CONTEXT_VERSION
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/param.h> header file. */
+#undef HAVE_SYS_PARAM_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Valgrind support */
+#undef HAVE_VALGRIND
+
+/* Define to 1 if you have the <X11/extensions/Xrender.h> header file. */
+#undef HAVE_X11_EXTENSIONS_XRENDER_H
+
+/* Define to 1 if you have the <X11/Xlib.h> header file. */
+#undef HAVE_X11_XLIB_H
+
+/* Define to 1 if your compiler has __attribute__ */
+#undef HAVE___ATTRIBUTE__
+
+/* To avoid bug on old libXext version */
+#undef LIBXEXT_VERSION_LOW
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+   */
+#undef LT_OBJDIR
+
+/* Experimental metric caching to speed up text rendering. */
+#undef METRIC_CACHE
+
+/* "Module architecture" */
+#undef MODULE_ARCH
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* default value since PATH_MAX is not defined */
+#undef PATH_MAX
+
+/* If using the C implementation of alloca, define if you know the
+   direction of stack growth for your system; otherwise it will be
+   automatically deduced at runtime.
+       STACK_DIRECTION > 0 => grows toward higher addresses
+       STACK_DIRECTION < 0 => grows toward lower addresses
+       STACK_DIRECTION = 0 => direction of growth unknown */
+#undef STACK_DIRECTION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* Enable extensions on AIX 3, Interix.  */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them.  */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris.  */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop.  */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris.  */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
+/* Version number of package */
+#undef VERSION
+
+/* Major version */
+#undef VMAJ
+
+/* Micro version */
+#undef VMIC
+
+/* Minor version */
+#undef VMIN
+
+/* Revison */
+#undef VREV
+
+/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
+   significant byte first (like Motorola and SPARC, unlike Intel). */
+#if defined AC_APPLE_UNIVERSAL_BUILD
+# if defined __BIG_ENDIAN__
+#  define WORDS_BIGENDIAN 1
+# endif
+#else
+# ifndef WORDS_BIGENDIAN
+#  undef WORDS_BIGENDIAN
+# endif
+#endif
+
+/* Experimental word caching to speed up text rendering. */
+#undef WORD_CACHE
+
+/* Define to 1 if the X Window System is missing or not being used. */
+#undef X_DISPLAY_MISSING
+
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+   this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
+/* Macro declaring a function argument to be unused */
+#undef __UNUSED__
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+
+#endif /* EFL_CONFIG_H__ */
+
diff --git a/config.log b/config.log
new file mode 100644 (file)
index 0000000..ee3741f
--- /dev/null
@@ -0,0 +1,3081 @@
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by evas configure 1.0.999.0, which was
+generated by GNU Autoconf 2.67.  Invocation command line was
+
+  $ ./configure -C --build=arm-linux-gnueabi --prefix=/usr --includedir=${prefix}/include --mandir=${prefix}/share/man --infodir=${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --libexecdir=${prefix}/lib/evas --disable-maintainer-mode --disable-dependency-tracking --disable-silent-rules --srcdir=. --disable-image-loader-svg --enable-simple-x11 --with-x --enable-fb --enable-xrender-x11 --enable-line-dither-mask --disable-image-loader-edb --disable-rpath --enable-pthreads --enable-cpu-neon --enable-winkcodec=yes --enable-gl-x11 --enable-gl-flavor-gles --enable-gles-variety-sgx
+
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = jaehwan-desktop
+uname -m = arm
+uname -r = 2.6.32-30-generic
+uname -s = Linux
+uname -v = #59-Ubuntu SMP Tue Mar 1 21:30:21 UTC 2011
+
+/usr/bin/uname -p = unknown
+/bin/uname -X     = unknown
+
+/bin/arch              = unknown
+/usr/bin/arch -k       = unknown
+/usr/convex/getsysinfo = unknown
+/usr/bin/hostinfo      = unknown
+/bin/machine           = unknown
+/usr/bin/oslevel       = unknown
+/bin/universe          = unknown
+
+PATH: /sb2/wrappers
+PATH: /sb2/scripts
+PATH: /usr/lib/ccache
+PATH: /home/jaehwan/.scratchbox2/sbs-armel_home_jaehwan_sbs/bin
+PATH: /home/jaehwan/sbs-install/bin
+PATH: /home/jaehwan/sbs-install/bin
+PATH: /usr/local/sbin
+PATH: /usr/local/bin
+PATH: /usr/sbin
+PATH: /usr/bin
+PATH: /sbin
+PATH: /bin
+PATH: /usr/games
+PATH: /home/jaehwan/sbs-install/bin
+PATH: /home/jaehwan/sbs/target-i386/opt/apps/com.samsung.elm-demo-slp/bin
+PATH: /usr/local/sbin
+PATH: /usr/sbin
+PATH: /sbin
+PATH: /sbin
+PATH: /usr/sbin
+PATH: /home/jaehwan/sbs/target-armel/bin
+PATH: /home/jaehwan/sbs/target-armel/usr/bin
+PATH: /home/jaehwan/sbs/target-armel/usr/local/bin
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+configure:3294: creating cache config.cache
+configure:3421: checking for a BSD-compatible install
+configure:3489: result: /usr/bin/install -c
+configure:3500: checking whether build environment is sane
+configure:3550: result: yes
+configure:3691: checking for a thread-safe mkdir -p
+configure:3730: result: /bin/mkdir -p
+configure:3743: checking for gawk
+configure:3759: found /usr/bin/gawk
+configure:3770: result: gawk
+configure:3781: checking whether make sets $(MAKE)
+configure:3803: result: yes
+configure:3908: checking for style of include used by make
+configure:3936: result: GNU
+configure:4006: checking for gcc
+configure:4022: found /usr/bin/gcc
+configure:4033: result: gcc
+configure:4262: checking for C compiler version
+configure:4271: gcc --version >&5
+arm-linux-gnueabi-gcc (SLP 4.5.2-6ubuntu1slp2+s2) 4.5.2
+Copyright (C) 2010 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+configure:4282: $? = 0
+configure:4271: gcc -v >&5
+Using built-in specs.
+Reading specs from /home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2
+rename spec cpp to old_cpp
+rename spec cc1_options to old_cc1_options
+rename spec link_libgcc to old_link_libgcc
+COLLECT_GCC=/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.5.2/lto-wrapper
+Target: arm-linux-gnueabi
+Configured with: ../src/configure -v --with-pkgversion='SLP 4.5.2-6ubuntu1slp2+s2' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.5.2 --libdir=/usr/lib --enable-nls --disable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --disable-sjlj-exceptions --with-arch=armv6 --with-tune=cortex-a8 --with-float=softfp --with-fpu=vfp --enable-checking=release --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnueabi --with-headers=/usr/arm-linux-gnueabi/include --with-libs=/usr/arm-linux-gnueabi/lib
+Thread model: posix
+... rest of stderr output deleted ...
+configure:4282: $? = 0
+configure:4271: gcc -V >&5
+/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc: error trying to exec '/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc--specs=/home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2': execvp: No such file or directory
+configure:4282: $? = 0
+configure:4271: gcc -qversion >&5
+arm-linux-gnueabi-gcc: unrecognized option '-qversion'
+arm-linux-gnueabi-gcc: no input files
+configure:4282: $? = 1
+configure:4302: checking whether the C compiler works
+configure:4324: gcc -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:4328: $? = 0
+configure:4376: result: yes
+configure:4379: checking for C compiler default output file name
+configure:4381: result: a.out
+configure:4387: checking for suffix of executables
+configure:4394: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:4398: $? = 0
+configure:4420: result: 
+configure:4442: checking whether we are cross compiling
+configure:4450: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:4454: $? = 0
+configure:4461: ./conftest
+configure:4465: $? = 0
+configure:4480: result: no
+configure:4485: checking for suffix of object files
+configure:4507: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:4511: $? = 0
+configure:4532: result: o
+configure:4536: checking whether we are using the GNU C compiler
+configure:4555: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:4555: $? = 0
+configure:4564: result: yes
+configure:4573: checking whether gcc accepts -g
+configure:4593: gcc -c -g  conftest.c >&5
+configure:4593: $? = 0
+configure:4634: result: yes
+configure:4651: checking for gcc option to accept ISO C89
+configure:4715: gcc  -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:4715: $? = 0
+configure:4728: result: none needed
+configure:4750: checking dependency style of gcc
+configure:4860: result: none
+configure:4881: checking how to run the C preprocessor
+configure:4912: gcc -E  conftest.c
+configure:4912: $? = 0
+configure:4926: gcc -E  conftest.c
+conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
+compilation terminated.
+configure:4926: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| /* end confdefs.h.  */
+| #include <ac_nonexistent.h>
+configure:4951: result: gcc -E
+configure:4971: gcc -E  conftest.c
+configure:4971: $? = 0
+configure:4985: gcc -E  conftest.c
+conftest.c:11:28: fatal error: ac_nonexistent.h: No such file or directory
+compilation terminated.
+configure:4985: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| /* end confdefs.h.  */
+| #include <ac_nonexistent.h>
+configure:5014: checking for grep that handles long lines and -e
+configure:5072: result: /bin/grep
+configure:5077: checking for egrep
+configure:5139: result: /bin/grep -E
+configure:5144: checking for ANSI C header files
+configure:5164: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5164: $? = 0
+configure:5237: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:5237: $? = 0
+configure:5237: ./conftest
+configure:5237: $? = 0
+configure:5248: result: yes
+configure:5261: checking for sys/types.h
+configure:5261: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5261: $? = 0
+configure:5261: result: yes
+configure:5261: checking for sys/stat.h
+configure:5261: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5261: $? = 0
+configure:5261: result: yes
+configure:5261: checking for stdlib.h
+configure:5261: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5261: $? = 0
+configure:5261: result: yes
+configure:5261: checking for string.h
+configure:5261: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5261: $? = 0
+configure:5261: result: yes
+configure:5261: checking for memory.h
+configure:5261: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5261: $? = 0
+configure:5261: result: yes
+configure:5261: checking for strings.h
+configure:5261: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5261: $? = 0
+configure:5261: result: yes
+configure:5261: checking for inttypes.h
+configure:5261: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5261: $? = 0
+configure:5261: result: yes
+configure:5261: checking for stdint.h
+configure:5261: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5261: $? = 0
+configure:5261: result: yes
+configure:5261: checking for unistd.h
+configure:5261: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5261: $? = 0
+configure:5261: result: yes
+configure:5274: checking minix/config.h usability
+configure:5274: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+conftest.c:54:26: fatal error: minix/config.h: No such file or directory
+compilation terminated.
+configure:5274: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| /* end confdefs.h.  */
+| #include <stdio.h>
+| #ifdef HAVE_SYS_TYPES_H
+| # include <sys/types.h>
+| #endif
+| #ifdef HAVE_SYS_STAT_H
+| # include <sys/stat.h>
+| #endif
+| #ifdef STDC_HEADERS
+| # include <stdlib.h>
+| # include <stddef.h>
+| #else
+| # ifdef HAVE_STDLIB_H
+| #  include <stdlib.h>
+| # endif
+| #endif
+| #ifdef HAVE_STRING_H
+| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+| #  include <memory.h>
+| # endif
+| # include <string.h>
+| #endif
+| #ifdef HAVE_STRINGS_H
+| # include <strings.h>
+| #endif
+| #ifdef HAVE_INTTYPES_H
+| # include <inttypes.h>
+| #endif
+| #ifdef HAVE_STDINT_H
+| # include <stdint.h>
+| #endif
+| #ifdef HAVE_UNISTD_H
+| # include <unistd.h>
+| #endif
+| #include <minix/config.h>
+configure:5274: result: no
+configure:5274: checking minix/config.h presence
+configure:5274: gcc -E  conftest.c
+conftest.c:21:26: fatal error: minix/config.h: No such file or directory
+compilation terminated.
+configure:5274: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| /* end confdefs.h.  */
+| #include <minix/config.h>
+configure:5274: result: no
+configure:5274: checking for minix/config.h
+configure:5274: result: no
+configure:5295: checking whether it is safe to define __EXTENSIONS__
+configure:5313: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:5313: $? = 0
+configure:5320: result: yes
+configure:5340: checking build system type
+configure:5354: result: arm-unknown-linux-gnueabi
+configure:5374: checking host system type
+configure:5387: result: arm-unknown-linux-gnueabi
+configure:5735: checking for a sed that does not truncate output
+configure:5799: result: /bin/sed
+configure:5817: checking for fgrep
+configure:5879: result: /bin/grep -F
+configure:5914: checking for ld used by gcc
+configure:5981: result: /usr/arm-linux-gnueabi/bin/ld
+configure:5988: checking if the linker (/usr/arm-linux-gnueabi/bin/ld) is GNU ld
+configure:6003: result: yes
+configure:6015: checking for BSD- or MS-compatible name lister (nm)
+configure:6064: result: /usr/bin/nm -B
+configure:6182: checking the name lister (/usr/bin/nm -B) interface
+configure:6189: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:6192: /usr/bin/nm -B "conftest.o"
+configure:6195: output
+00000000 B some_variable
+configure:6202: result: BSD nm
+configure:6205: checking whether ln -s works
+configure:6209: result: yes
+configure:6217: checking the maximum length of command line arguments
+configure:6337: result: 1572864
+configure:6354: checking whether the shell understands some XSI constructs
+configure:6364: result: yes
+configure:6368: checking whether the shell understands "+="
+configure:6374: result: yes
+configure:6409: checking for /usr/arm-linux-gnueabi/bin/ld option to reload object files
+configure:6416: result: -r
+configure:6485: checking for objdump
+configure:6512: result: objdump
+configure:6541: checking how to recognize dependent libraries
+configure:6737: result: pass_all
+configure:6797: checking for ar
+configure:6813: found /usr/bin/ar
+configure:6824: result: ar
+configure:6902: checking for strip
+configure:6918: found /usr/bin/strip
+configure:6929: result: strip
+configure:7001: checking for ranlib
+configure:7017: found /usr/bin/ranlib
+configure:7028: result: ranlib
+configure:7118: checking command to parse /usr/bin/nm -B output from gcc object
+configure:7236: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:7239: $? = 0
+configure:7243: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[  ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm
+configure:7246: $? = 0
+configure:7300: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c conftstm.o >&5
+configure:7303: $? = 0
+configure:7341: result: ok
+configure:8146: checking for dlfcn.h
+configure:8146: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:8146: $? = 0
+configure:8146: result: yes
+configure:8328: checking for objdir
+configure:8343: result: .libs
+configure:8635: checking if gcc supports -fno-rtti -fno-exceptions
+configure:8653: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  -fno-rtti -fno-exceptions conftest.c >&5
+cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C
+configure:8657: $? = 0
+configure:8670: result: no
+configure:8690: checking for gcc option to produce PIC
+configure:8962: result: -fPIC -DPIC
+configure:8974: checking if gcc PIC flag -fPIC -DPIC works
+configure:8992: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  -fPIC -DPIC -DPIC conftest.c >&5
+configure:8996: $? = 0
+configure:9009: result: yes
+configure:9033: checking if gcc static flag -static works
+configure:9061: result: yes
+configure:9076: checking if gcc supports -c -o file.o
+configure:9097: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  -o out/conftest2.o conftest.c >&5
+configure:9101: $? = 0
+configure:9123: result: yes
+configure:9131: checking if gcc supports -c -o file.o
+configure:9178: result: yes
+configure:9211: checking whether the gcc linker (/usr/arm-linux-gnueabi/bin/ld) supports shared libraries
+configure:10202: result: yes
+configure:10239: checking whether -lc should be explicitly linked in
+configure:10244: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:10247: $? = 0
+configure:10262: gcc -shared conftest.o  -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| /bin/grep  -lc  \>/dev/null 2\>\&1
+configure:10265: $? = 0
+configure:10277: result: no
+configure:10441: checking dynamic linker characteristics
+configure:10874: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed -Wl,-rpath -Wl,/foo conftest.c  >&5
+configure:10874: $? = 0
+configure:11104: result: GNU/Linux ld.so
+configure:11206: checking how to hardcode library paths into programs
+configure:11231: result: immediate
+configure:11751: checking whether stripping libraries is possible
+configure:11756: result: yes
+configure:11791: checking if libtool supports shared libraries
+configure:11793: result: yes
+configure:11796: checking whether to build shared libraries
+configure:11817: result: yes
+configure:11820: checking whether to build static libraries
+configure:11824: result: yes
+configure:12075: checking for gcc
+configure:12091: found /usr/bin/gcc
+configure:12102: result: gcc
+configure:12127: checking for Objective C compiler version
+configure:12136: gcc --version >&5
+arm-linux-gnueabi-gcc (SLP 4.5.2-6ubuntu1slp2+s2) 4.5.2
+Copyright (C) 2010 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+configure:12147: $? = 0
+configure:12136: gcc -v >&5
+Using built-in specs.
+Reading specs from /home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2
+rename spec cpp to old_cpp
+rename spec cc1_options to old_cc1_options
+rename spec link_libgcc to old_link_libgcc
+COLLECT_GCC=/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.5.2/lto-wrapper
+Target: arm-linux-gnueabi
+Configured with: ../src/configure -v --with-pkgversion='SLP 4.5.2-6ubuntu1slp2+s2' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.5.2 --libdir=/usr/lib --enable-nls --disable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --disable-sjlj-exceptions --with-arch=armv6 --with-tune=cortex-a8 --with-float=softfp --with-fpu=vfp --enable-checking=release --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnueabi --with-headers=/usr/arm-linux-gnueabi/include --with-libs=/usr/arm-linux-gnueabi/lib
+Thread model: posix
+... rest of stderr output deleted ...
+configure:12147: $? = 0
+configure:12136: gcc -V >&5
+/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc: error trying to exec '/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc--specs=/home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2': execvp: No such file or directory
+configure:12147: $? = 0
+configure:12136: gcc -qversion >&5
+arm-linux-gnueabi-gcc: unrecognized option '-qversion'
+arm-linux-gnueabi-gcc: no input files
+configure:12147: $? = 1
+configure:12151: checking whether we are using the GNU Objective C compiler
+configure:12170: gcc -c   conftest.m >&5
+arm-linux-gnueabi-gcc: conftest.m: Objective-C compiler not installed on this system
+configure:12170: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| /* end confdefs.h.  */
+| 
+| int
+| main ()
+| {
+| #ifndef __GNUC__
+|        choke me
+| #endif
+| 
+|   ;
+|   return 0;
+| }
+configure:12179: result: no
+configure:12188: checking whether gcc accepts -g
+configure:12208: gcc -c -g  conftest.m >&5
+arm-linux-gnueabi-gcc: conftest.m: Objective-C compiler not installed on this system
+configure:12208: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| /* end confdefs.h.  */
+| 
+| int
+| main ()
+| {
+| 
+|   ;
+|   return 0;
+| }
+configure:12223: gcc -c   conftest.m >&5
+arm-linux-gnueabi-gcc: conftest.m: Objective-C compiler not installed on this system
+configure:12223: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| /* end confdefs.h.  */
+| 
+| int
+| main ()
+| {
+| 
+|   ;
+|   return 0;
+| }
+configure:12239: gcc -c -g  conftest.m >&5
+arm-linux-gnueabi-gcc: conftest.m: Objective-C compiler not installed on this system
+configure:12239: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| /* end confdefs.h.  */
+| 
+| int
+| main ()
+| {
+| 
+|   ;
+|   return 0;
+| }
+configure:12249: result: no
+configure:12274: checking dependency style of gcc
+configure:12382: result: none
+configure:12400: checking dependency style of gcc
+configure:12508: result: none
+configure:12526: checking whether the Objective C compiler works
+configure:12548: gcc -o conftest    -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.m  >&5
+arm-linux-gnueabi-gcc: conftest.m: Objective-C compiler not installed on this system
+configure:12548: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| /* end confdefs.h.  */
+| 
+| int
+| main ()
+| {
+| 
+|   ;
+|   return 0;
+| }
+configure:12562: result: no
+configure:12624: checking for g++
+configure:12640: found /usr/bin/g++
+configure:12651: result: g++
+configure:12678: checking for C++ compiler version
+configure:12687: g++ --version >&5
+arm-linux-gnueabi-g++ (SLP 4.5.2-6ubuntu1slp2+s2) 4.5.2
+Copyright (C) 2010 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+configure:12698: $? = 0
+configure:12687: g++ -v >&5
+Using built-in specs.
+Reading specs from /home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2
+rename spec cpp to old_cpp
+rename spec cc1_options to old_cc1_options
+rename spec link_libgcc to old_link_libgcc
+COLLECT_GCC=/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-g++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.5.2/lto-wrapper
+Target: arm-linux-gnueabi
+Configured with: ../src/configure -v --with-pkgversion='SLP 4.5.2-6ubuntu1slp2+s2' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.5.2 --libdir=/usr/lib --enable-nls --disable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --disable-sjlj-exceptions --with-arch=armv6 --with-tune=cortex-a8 --with-float=softfp --with-fpu=vfp --enable-checking=release --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnueabi --with-headers=/usr/arm-linux-gnueabi/include --with-libs=/usr/arm-linux-gnueabi/lib
+Thread model: posix
+... rest of stderr output deleted ...
+configure:12698: $? = 0
+configure:12687: g++ -V >&5
+/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-g++: error trying to exec '/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc--specs=/home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2': execvp: No such file or directory
+configure:12698: $? = 0
+configure:12687: g++ -qversion >&5
+arm-linux-gnueabi-g++: unrecognized option '-qversion'
+arm-linux-gnueabi-g++: no input files
+configure:12698: $? = 1
+configure:12702: checking whether we are using the GNU C++ compiler
+configure:12721: g++ -c -g -O2 -g -Wall -O2  conftest.cpp >&5
+configure:12721: $? = 0
+configure:12730: result: yes
+configure:12739: checking whether g++ accepts -g
+configure:12759: g++ -c -g  conftest.cpp >&5
+configure:12759: $? = 0
+configure:12800: result: yes
+configure:12825: checking dependency style of g++
+configure:12935: result: none
+configure:13063: checking for C++ compiler version
+configure:13072: g++ --version >&5
+arm-linux-gnueabi-g++ (SLP 4.5.2-6ubuntu1slp2+s2) 4.5.2
+Copyright (C) 2010 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+configure:13083: $? = 0
+configure:13072: g++ -v >&5
+Using built-in specs.
+Reading specs from /home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2
+rename spec cpp to old_cpp
+rename spec cc1_options to old_cc1_options
+rename spec link_libgcc to old_link_libgcc
+COLLECT_GCC=/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-g++
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.5.2/lto-wrapper
+Target: arm-linux-gnueabi
+Configured with: ../src/configure -v --with-pkgversion='SLP 4.5.2-6ubuntu1slp2+s2' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.5.2 --libdir=/usr/lib --enable-nls --disable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --disable-sjlj-exceptions --with-arch=armv6 --with-tune=cortex-a8 --with-float=softfp --with-fpu=vfp --enable-checking=release --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnueabi --with-headers=/usr/arm-linux-gnueabi/include --with-libs=/usr/arm-linux-gnueabi/lib
+Thread model: posix
+... rest of stderr output deleted ...
+configure:13083: $? = 0
+configure:13072: g++ -V >&5
+/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-g++: error trying to exec '/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc--specs=/home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2': execvp: No such file or directory
+configure:13083: $? = 0
+configure:13072: g++ -qversion >&5
+arm-linux-gnueabi-g++: unrecognized option '-qversion'
+arm-linux-gnueabi-g++: no input files
+configure:13083: $? = 1
+configure:13087: checking whether we are using the GNU C++ compiler
+configure:13115: result: yes
+configure:13124: checking whether g++ accepts -g
+configure:13185: result: yes
+configure:13210: checking dependency style of g++
+configure:13320: result: none
+configure:13343: checking how to run the C++ preprocessor
+configure:13370: g++ -E  conftest.cpp
+configure:13370: $? = 0
+configure:13384: g++ -E  conftest.cpp
+conftest.cpp:33:28: fatal error: ac_nonexistent.h: No such file or directory
+compilation terminated.
+configure:13384: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| /* end confdefs.h.  */
+| #include <ac_nonexistent.h>
+configure:13409: result: g++ -E
+configure:13429: g++ -E  conftest.cpp
+configure:13429: $? = 0
+configure:13443: g++ -E  conftest.cpp
+conftest.cpp:33:28: fatal error: ac_nonexistent.h: No such file or directory
+compilation terminated.
+configure:13443: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| /* end confdefs.h.  */
+| #include <ac_nonexistent.h>
+configure:13611: checking for ld used by g++
+configure:13678: result: /usr/arm-linux-gnueabi/bin/ld
+configure:13685: checking if the linker (/usr/arm-linux-gnueabi/bin/ld) is GNU ld
+configure:13700: result: yes
+configure:13755: checking whether the g++ linker (/usr/arm-linux-gnueabi/bin/ld) supports shared libraries
+configure:14668: result: yes
+configure:14696: g++ -c -g -O2 -g -Wall -O2  conftest.cpp >&5
+configure:14699: $? = 0
+configure:14881: checking for g++ option to produce PIC
+configure:15198: result: -fPIC -DPIC
+configure:15207: checking if g++ PIC flag -fPIC -DPIC works
+configure:15225: g++ -c -g -O2 -g -Wall -O2  -fPIC -DPIC -DPIC conftest.cpp >&5
+configure:15229: $? = 0
+configure:15242: result: yes
+configure:15263: checking if g++ static flag -static works
+configure:15291: result: yes
+configure:15303: checking if g++ supports -c -o file.o
+configure:15324: g++ -c -g -O2 -g -Wall -O2  -o out/conftest2.o conftest.cpp >&5
+configure:15328: $? = 0
+configure:15350: result: yes
+configure:15355: checking if g++ supports -c -o file.o
+configure:15402: result: yes
+configure:15432: checking whether the g++ linker (/usr/arm-linux-gnueabi/bin/ld) supports shared libraries
+configure:15461: result: yes
+configure:15598: checking dynamic linker characteristics
+configure:15979: g++ -o conftest -g -O2 -g -Wall -O2   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed -Wl,-rpath -Wl,/foo conftest.cpp  >&5
+configure:15979: $? = 0
+configure:16209: result: GNU/Linux ld.so
+configure:16260: checking how to hardcode library paths into programs
+configure:16285: result: immediate
+configure:16372: checking for gcc
+configure:16399: result: gcc
+configure:16628: checking for C compiler version
+configure:16637: gcc --version >&5
+arm-linux-gnueabi-gcc (SLP 4.5.2-6ubuntu1slp2+s2) 4.5.2
+Copyright (C) 2010 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+configure:16648: $? = 0
+configure:16637: gcc -v >&5
+Using built-in specs.
+Reading specs from /home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2
+rename spec cpp to old_cpp
+rename spec cc1_options to old_cc1_options
+rename spec link_libgcc to old_link_libgcc
+COLLECT_GCC=/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.5.2/lto-wrapper
+Target: arm-linux-gnueabi
+Configured with: ../src/configure -v --with-pkgversion='SLP 4.5.2-6ubuntu1slp2+s2' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.5.2 --libdir=/usr/lib --enable-nls --disable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --disable-sjlj-exceptions --with-arch=armv6 --with-tune=cortex-a8 --with-float=softfp --with-fpu=vfp --enable-checking=release --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnueabi --with-headers=/usr/arm-linux-gnueabi/include --with-libs=/usr/arm-linux-gnueabi/lib
+Thread model: posix
+... rest of stderr output deleted ...
+configure:16648: $? = 0
+configure:16637: gcc -V >&5
+/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc: error trying to exec '/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc--specs=/home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2': execvp: No such file or directory
+configure:16648: $? = 0
+configure:16637: gcc -qversion >&5
+arm-linux-gnueabi-gcc: unrecognized option '-qversion'
+arm-linux-gnueabi-gcc: no input files
+configure:16648: $? = 1
+configure:16652: checking whether we are using the GNU C compiler
+configure:16680: result: yes
+configure:16689: checking whether gcc accepts -g
+configure:16750: result: yes
+configure:16767: checking for gcc option to accept ISO C89
+configure:16844: result: none needed
+configure:16866: checking dependency style of gcc
+configure:16976: result: none
+configure:17046: checking for pkg-config
+configure:17064: found /usr/bin/pkg-config
+configure:17076: result: /usr/bin/pkg-config
+configure:17101: checking pkg-config is at least version 0.9.0
+configure:17104: result: yes
+configure:17138: checking whether to build documentation
+configure:17140: result: yes
+configure:17204: checking for doxygen
+configure:17220: found /usr/bin/doxygen
+configure:17232: result: yes
+configure:17388: checking for EINA
+configure:17395: $PKG_CONFIG --exists --print-errors "eina >= 1.0.0"
+configure:17398: $? = 0
+configure:17411: $PKG_CONFIG --exists --print-errors "eina >= 1.0.0"
+configure:17414: $? = 0
+configure:17471: result: yes
+configure:17479: checking for FREETYPE
+configure:17486: $PKG_CONFIG --exists --print-errors "freetype2 >= 9.3.0"
+configure:17489: $? = 0
+configure:17502: $PKG_CONFIG --exists --print-errors "freetype2 >= 9.3.0"
+configure:17505: $? = 0
+configure:17562: result: yes
+configure:17589: checking for FONTCONFIG
+configure:17596: $PKG_CONFIG --exists --print-errors "fontconfig"
+configure:17599: $? = 0
+configure:17612: $PKG_CONFIG --exists --print-errors "fontconfig"
+configure:17615: $? = 0
+configure:17660: result: yes
+configure:17689: checking for FRIBIDI
+configure:17696: $PKG_CONFIG --exists --print-errors "fribidi >= 0.19.2"
+configure:17699: $? = 0
+configure:17712: $PKG_CONFIG --exists --print-errors "fribidi >= 0.19.2"
+configure:17715: $? = 0
+configure:17760: result: yes
+configure:17795: checking for HARFBUZZ
+configure:17802: $PKG_CONFIG --exists --print-errors "harfbuzz >= 0.2"
+configure:17805: $? = 0
+configure:17818: $PKG_CONFIG --exists --print-errors "harfbuzz >= 0.2"
+configure:17821: $? = 0
+configure:17866: result: yes
+configure:17879: checking hb-ft.h usability
+configure:17879: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  -I/usr/include/harfbuzz   -I/usr/include/freetype2   conftest.c >&5
+conftest.c:68:19: fatal error: hb-ft.h: No such file or directory
+compilation terminated.
+configure:17879: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| #define HAVE_FONTCONFIG 1
+| #define HAVE_FRIBIDI 1
+| /* end confdefs.h.  */
+| #include <stdio.h>
+| #ifdef HAVE_SYS_TYPES_H
+| # include <sys/types.h>
+| #endif
+| #ifdef HAVE_SYS_STAT_H
+| # include <sys/stat.h>
+| #endif
+| #ifdef STDC_HEADERS
+| # include <stdlib.h>
+| # include <stddef.h>
+| #else
+| # ifdef HAVE_STDLIB_H
+| #  include <stdlib.h>
+| # endif
+| #endif
+| #ifdef HAVE_STRING_H
+| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+| #  include <memory.h>
+| # endif
+| # include <string.h>
+| #endif
+| #ifdef HAVE_STRINGS_H
+| # include <strings.h>
+| #endif
+| #ifdef HAVE_INTTYPES_H
+| # include <inttypes.h>
+| #endif
+| #ifdef HAVE_STDINT_H
+| # include <stdint.h>
+| #endif
+| #ifdef HAVE_UNISTD_H
+| # include <unistd.h>
+| #endif
+| #include <hb-ft.h>
+configure:17879: result: no
+configure:17879: checking hb-ft.h presence
+configure:17879: gcc -E  -I/usr/include/harfbuzz   -I/usr/include/freetype2   conftest.c
+conftest.c:35:19: fatal error: hb-ft.h: No such file or directory
+compilation terminated.
+configure:17879: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| #define HAVE_FONTCONFIG 1
+| #define HAVE_FRIBIDI 1
+| /* end confdefs.h.  */
+| #include <hb-ft.h>
+configure:17879: result: no
+configure:17879: checking for hb-ft.h
+configure:17879: result: no
+configure:17899: checking hb-glib.h usability
+configure:17899: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  -I/usr/include/harfbuzz   -I/usr/include/freetype2   conftest.c >&5
+conftest.c:68:21: fatal error: hb-glib.h: No such file or directory
+compilation terminated.
+configure:17899: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| #define HAVE_FONTCONFIG 1
+| #define HAVE_FRIBIDI 1
+| /* end confdefs.h.  */
+| #include <stdio.h>
+| #ifdef HAVE_SYS_TYPES_H
+| # include <sys/types.h>
+| #endif
+| #ifdef HAVE_SYS_STAT_H
+| # include <sys/stat.h>
+| #endif
+| #ifdef STDC_HEADERS
+| # include <stdlib.h>
+| # include <stddef.h>
+| #else
+| # ifdef HAVE_STDLIB_H
+| #  include <stdlib.h>
+| # endif
+| #endif
+| #ifdef HAVE_STRING_H
+| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+| #  include <memory.h>
+| # endif
+| # include <string.h>
+| #endif
+| #ifdef HAVE_STRINGS_H
+| # include <strings.h>
+| #endif
+| #ifdef HAVE_INTTYPES_H
+| # include <inttypes.h>
+| #endif
+| #ifdef HAVE_STDINT_H
+| # include <stdint.h>
+| #endif
+| #ifdef HAVE_UNISTD_H
+| # include <unistd.h>
+| #endif
+| #include <hb-glib.h>
+configure:17899: result: no
+configure:17899: checking hb-glib.h presence
+configure:17899: gcc -E  -I/usr/include/harfbuzz   -I/usr/include/freetype2   conftest.c
+conftest.c:35:21: fatal error: hb-glib.h: No such file or directory
+compilation terminated.
+configure:17899: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| #define HAVE_FONTCONFIG 1
+| #define HAVE_FRIBIDI 1
+| /* end confdefs.h.  */
+| #include <hb-glib.h>
+configure:17899: result: no
+configure:17899: checking for hb-glib.h
+configure:17899: result: no
+configure:17923: checking for ANSI C header files
+configure:18027: result: yes
+configure:18038: checking for unistd.h
+configure:18038: result: yes
+configure:18038: checking for stdint.h
+configure:18038: result: yes
+configure:18038: checking sys/param.h usability
+configure:18038: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:18038: $? = 0
+configure:18038: result: yes
+configure:18038: checking sys/param.h presence
+configure:18038: gcc -E  conftest.c
+configure:18038: $? = 0
+configure:18038: result: yes
+configure:18038: checking for sys/param.h
+configure:18038: result: yes
+configure:18059: checking for PATH_MAX in limits.h
+configure:18076: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+conftest.c: In function 'main':
+conftest.c:46:5: warning: unused variable 'i'
+configure:18076: $? = 0
+configure:18077: result: yes
+configure:18109: checking for an ANSI C-conforming const
+configure:18174: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+conftest.c: In function 'main':
+conftest.c:68:10: warning: 't' is used uninitialized in this function
+configure:18174: $? = 0
+configure:18181: result: yes
+configure:18189: checking whether byte ordering is bigendian
+configure:18204: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+conftest.c:40:13: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'a'
+configure:18204: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| #define HAVE_FONTCONFIG 1
+| #define HAVE_FRIBIDI 1
+| #define STDC_HEADERS 1
+| #define HAVE_UNISTD_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_SYS_PARAM_H 1
+| /* end confdefs.h.  */
+| #ifndef __APPLE_CC__
+|             not a universal capable compiler
+|           #endif
+|           typedef int dummy;
+| 
+configure:18249: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:18249: $? = 0
+configure:18267: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+conftest.c: In function 'main':
+conftest.c:46:4: error: 'not' undeclared (first use in this function)
+conftest.c:46:4: note: each undeclared identifier is reported only once for each function it appears in
+conftest.c:46:8: error: expected ';' before 'big'
+configure:18267: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| #define HAVE_FONTCONFIG 1
+| #define HAVE_FRIBIDI 1
+| #define STDC_HEADERS 1
+| #define HAVE_UNISTD_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_SYS_PARAM_H 1
+| /* end confdefs.h.  */
+| #include <sys/types.h>
+|              #include <sys/param.h>
+| 
+| int
+| main ()
+| {
+| #if BYTE_ORDER != BIG_ENDIAN
+|               not big endian
+|              #endif
+| 
+|   ;
+|   return 0;
+| }
+configure:18395: result: no
+configure:18415: checking for __attribute__
+configure:18440: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:18440: $? = 0
+configure:18450: result: yes
+configure:18515: checking for gcc
+configure:18542: result: gcc
+configure:18771: checking for C compiler version
+configure:18780: gcc --version >&5
+arm-linux-gnueabi-gcc (SLP 4.5.2-6ubuntu1slp2+s2) 4.5.2
+Copyright (C) 2010 Free Software Foundation, Inc.
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+configure:18791: $? = 0
+configure:18780: gcc -v >&5
+Using built-in specs.
+Reading specs from /home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2
+rename spec cpp to old_cpp
+rename spec cc1_options to old_cc1_options
+rename spec link_libgcc to old_link_libgcc
+COLLECT_GCC=/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc
+COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.5.2/lto-wrapper
+Target: arm-linux-gnueabi
+Configured with: ../src/configure -v --with-pkgversion='SLP 4.5.2-6ubuntu1slp2+s2' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.5.2 --libdir=/usr/lib --enable-nls --disable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --disable-sjlj-exceptions --with-arch=armv6 --with-tune=cortex-a8 --with-float=softfp --with-fpu=vfp --enable-checking=release --program-prefix=arm-linux-gnueabi- --includedir=/usr/arm-linux-gnueabi/include --build=i486-linux-gnu --host=i486-linux-gnu --target=arm-linux-gnueabi --with-headers=/usr/arm-linux-gnueabi/include --with-libs=/usr/arm-linux-gnueabi/lib
+Thread model: posix
+... rest of stderr output deleted ...
+configure:18791: $? = 0
+configure:18780: gcc -V >&5
+/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc: error trying to exec '/home/jaehwan/sbs/tools/usr/bin/arm-linux-gnueabi-gcc--specs=/home/jaehwan/sbs-install/share/scratchbox2/../../share/scratchbox2/modeconf/gcc-specs.slp2': execvp: No such file or directory
+configure:18791: $? = 0
+configure:18780: gcc -qversion >&5
+arm-linux-gnueabi-gcc: unrecognized option '-qversion'
+arm-linux-gnueabi-gcc: no input files
+configure:18791: $? = 1
+configure:18795: checking whether we are using the GNU C compiler
+configure:18823: result: yes
+configure:18832: checking whether gcc accepts -g
+configure:18893: result: yes
+configure:18910: checking for gcc option to accept ISO C89
+configure:18987: result: none needed
+configure:19009: checking dependency style of gcc
+configure:19119: result: none
+configure:19173: checking for library containing strerror
+configure:19204: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:19204: $? = 0
+configure:19221: result: none required
+configure:19233: checking for working alloca.h
+configure:19250: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:19250: $? = 0
+configure:19258: result: yes
+configure:19266: checking for alloca
+configure:19303: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:19303: $? = 0
+configure:19311: result: yes
+configure:19424: checking fnmatch.h usability
+configure:19424: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:19424: $? = 0
+configure:19424: result: yes
+configure:19424: checking fnmatch.h presence
+configure:19424: gcc -E  conftest.c
+configure:19424: $? = 0
+configure:19424: result: yes
+configure:19424: checking for fnmatch.h
+configure:19424: result: yes
+configure:19434: checking for library containing fnmatch
+configure:19465: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:19465: $? = 0
+configure:19482: result: none required
+configure:19524: checking for dlopen
+configure:19524: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+/tmp/ccQc6oN4.o: In function `main':
+/home/jaehwan/slp/tmp2/efl/evas/conftest.c:77: undefined reference to `dlopen'
+collect2: ld returned 1 exit status
+configure:19524: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| #define HAVE_FONTCONFIG 1
+| #define HAVE_FRIBIDI 1
+| #define STDC_HEADERS 1
+| #define HAVE_UNISTD_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_SYS_PARAM_H 1
+| #define HAVE___ATTRIBUTE__ 1
+| #define __UNUSED__ __attribute__((unused))
+| #define HAVE_ALLOCA_H 1
+| #define HAVE_ALLOCA 1
+| /* end confdefs.h.  */
+| /* Define dlopen to an innocuous variant, in case <limits.h> declares dlopen.
+|    For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+| #define dlopen innocuous_dlopen
+| 
+| /* System header to define __stub macros and hopefully few prototypes,
+|     which can conflict with char dlopen (); below.
+|     Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+|     <limits.h> exists even on freestanding compilers.  */
+| 
+| #ifdef __STDC__
+| # include <limits.h>
+| #else
+| # include <assert.h>
+| #endif
+| 
+| #undef dlopen
+| 
+| /* Override any GCC internal prototype to avoid an error.
+|    Use char because int might match the return type of a GCC
+|    builtin and then its argument prototype would still apply.  */
+| #ifdef __cplusplus
+| extern "C"
+| #endif
+| char dlopen ();
+| /* The GNU C library defines this for functions which it implements
+|     to always fail with ENOSYS.  Some functions are actually named
+|     something starting with __ and the normal name is an alias.  */
+| #if defined __stub_dlopen || defined __stub___dlopen
+| choke me
+| #endif
+| 
+| int
+| main ()
+| {
+| return dlopen ();
+|   ;
+|   return 0;
+| }
+configure:19524: result: no
+configure:19549: checking for dlopen in -ldl
+configure:19574: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -ldl   >&5
+configure:19574: $? = 0
+configure:19583: result: yes
+configure:19592: checking for dladdr in -ldl
+configure:19617: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -ldl   >&5
+configure:19617: $? = 0
+configure:19626: result: yes
+configure:19653: checking whether to build shared cache server and support
+configure:19655: result: yes
+configure:19659: checking whether shm_open() is present
+configure:19682: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  -lrt >&5
+configure:19682: $? = 0
+configure:19690: result: yes
+configure:19714: checking whether to build GLES flavor of GL
+configure:19720: result: yes
+configure:19742: checking whether to build GLES variety for SGX
+configure:19748: result: yes
+configure:19773: checking whether to build GLES variety for s3c6410
+configure:19793: result: no
+configure:19844: checking whether to enable Buffer rendering backend
+configure:19846: result: yes
+configure:19872: checking whether Buffer rendering backend will be built
+configure:19874: result: yes
+configure:19946: checking whether to enable Software Xlib rendering backend
+configure:19948: result: auto
+configure:19958: checking for X
+configure:20066: gcc -E  conftest.c
+configure:20066: $? = 0
+configure:20097: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -lX11  >&5
+configure:20097: $? = 0
+configure:20147: result: libraries , headers 
+configure:20246: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c   -lX11 >&5
+configure:20246: $? = 0
+configure:20344: checking for gethostbyname
+configure:20344: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:20344: $? = 0
+configure:20344: result: yes
+configure:20441: checking for connect
+configure:20441: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:20441: $? = 0
+configure:20441: result: yes
+configure:20490: checking for remove
+configure:20490: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:20490: $? = 0
+configure:20490: result: yes
+configure:20539: checking for shmat
+configure:20539: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c  >&5
+configure:20539: $? = 0
+configure:20539: result: yes
+configure:20597: checking for IceConnectionNumber in -lICE
+configure:20622: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -lICE   >&5
+configure:20622: $? = 0
+configure:20631: result: yes
+configure:20642: checking X11/X.h usability
+configure:20642: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:20642: $? = 0
+configure:20642: result: yes
+configure:20642: checking X11/X.h presence
+configure:20642: gcc -E  conftest.c
+configure:20642: $? = 0
+configure:20642: result: yes
+configure:20642: checking for X11/X.h
+configure:20642: result: yes
+configure:20650: checking for XCreateImage in -lX11
+configure:20675: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -lX11   >&5
+configure:20675: $? = 0
+configure:20684: result: yes
+configure:20695: checking for XShmCreateImage in -lXext
+configure:20720: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -lXext   >&5
+configure:20720: $? = 0
+configure:20729: result: yes
+configure:20767: checking whether Software Xlib rendering backend will be built
+configure:20769: result: yes
+configure:20841: checking whether to enable XRender X11 rendering backend
+configure:20843: result: yes
+configure:20852: checking for X
+configure:21041: result: libraries , headers 
+configure:21140: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c   -lX11 >&5
+configure:21140: $? = 0
+configure:21238: checking for gethostbyname
+configure:21238: result: yes
+configure:21335: checking for connect
+configure:21335: result: yes
+configure:21384: checking for remove
+configure:21384: result: yes
+configure:21433: checking for shmat
+configure:21433: result: yes
+configure:21491: checking for IceConnectionNumber in -lICE
+configure:21525: result: yes
+configure:21539: checking X11/Xlib.h usability
+configure:21539: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:21539: $? = 0
+configure:21539: result: yes
+configure:21539: checking X11/Xlib.h presence
+configure:21539: gcc -E  conftest.c
+configure:21539: $? = 0
+configure:21539: result: yes
+configure:21539: checking for X11/Xlib.h
+configure:21539: result: yes
+configure:21539: checking X11/extensions/Xrender.h usability
+configure:21539: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:21539: $? = 0
+configure:21539: result: yes
+configure:21539: checking X11/extensions/Xrender.h presence
+configure:21539: gcc -E  conftest.c
+configure:21539: $? = 0
+configure:21539: result: yes
+configure:21539: checking for X11/extensions/Xrender.h
+configure:21539: result: yes
+configure:21553: checking for XCreateImage in -lX11
+configure:21587: result: yes
+configure:21598: checking for XShmCreateImage in -lXext
+configure:21632: result: yes
+configure:21643: checking for XRenderCreatePicture in -lXrender
+configure:21668: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -lXrender   >&5
+configure:21668: $? = 0
+configure:21677: result: yes
+configure:21715: checking whether XRender X11 rendering backend will be built
+configure:21717: result: yes
+configure:21789: checking whether to enable OpenGL X11 rendering backend
+configure:21791: result: yes
+configure:21800: checking for X
+configure:21989: result: libraries , headers 
+configure:22088: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c   -lX11 >&5
+configure:22088: $? = 0
+configure:22186: checking for gethostbyname
+configure:22186: result: yes
+configure:22283: checking for connect
+configure:22283: result: yes
+configure:22332: checking for remove
+configure:22332: result: yes
+configure:22381: checking for shmat
+configure:22381: result: yes
+configure:22439: checking for IceConnectionNumber in -lICE
+configure:22473: result: yes
+configure:22484: checking for GL/gl.h
+configure:22484: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+conftest.c:52:19: fatal error: GL/gl.h: No such file or directory
+compilation terminated.
+configure:22484: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| #define HAVE_FONTCONFIG 1
+| #define HAVE_FRIBIDI 1
+| #define STDC_HEADERS 1
+| #define HAVE_UNISTD_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_SYS_PARAM_H 1
+| #define HAVE___ATTRIBUTE__ 1
+| #define __UNUSED__ __attribute__((unused))
+| #define HAVE_ALLOCA_H 1
+| #define HAVE_ALLOCA 1
+| #define HAVE_DLADDR 1
+| #define EVAS_CSERVE 1
+| #define GLES_VARIETY_SGX 1
+| #define BUILD_ENGINE_BUFFER 1
+| #define BUILD_ENGINE_SOFTWARE_XLIB 1
+| #define HAVE_X11_XLIB_H 1
+| #define HAVE_X11_EXTENSIONS_XRENDER_H 1
+| #define BUILD_ENGINE_XRENDER_X11 1
+| /* end confdefs.h.  */
+| 
+| #include <GL/gl.h>
+| #include <GL/glext.h>
+| #include <GL/glx.h>
+| #include <X11/Xlib.h>
+| #include <X11/Xatom.h>
+| #include <X11/Xutil.h>
+| #include <X11/extensions/Xrender.h>
+| #include <X11/Xresource.h>
+| 
+| 
+| #include <GL/gl.h>
+configure:22484: result: no
+configure:22505: checking for pthread_create in -lpthread
+configure:22530: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -lpthread   >&5
+configure:22530: $? = 0
+configure:22539: result: yes
+configure:22709: checking for GLES2/gl2.h
+configure:22709: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:22709: $? = 0
+configure:22709: result: yes
+configure:22728: checking for glTexImage2D in -lGLESv2
+configure:22753: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -lGLESv2 -lEGL  -lX11 -lXext -lX11 -lXext -lX11 -lXext -lXrender -lm  -lpthread  >&5
+configure:22753: $? = 0
+configure:22762: result: yes
+configure:22799: checking whether OpenGL X11 rendering backend will be built
+configure:22801: result: yes
+configure:22876: checking whether to enable Software XCB rendering backend
+configure:22878: result: no
+configure:22990: checking whether Software XCB rendering backend will be built
+configure:22992: result: no
+configure:23064: checking whether to enable XRender XCB rendering backend
+configure:23066: result: no
+configure:23178: checking whether XRender XCB rendering backend will be built
+configure:23180: result: no
+configure:23252: checking whether to enable Software GDI rendering backend
+configure:23254: result: no
+configure:23291: checking whether Software GDI rendering backend will be built
+configure:23293: result: no
+configure:23365: checking whether to enable Software DirectDraw rendering backend
+configure:23367: result: no
+configure:23404: checking whether Software DirectDraw rendering backend will be built
+configure:23406: result: no
+configure:23478: checking whether to enable Direct3D rendering backend
+configure:23480: result: no
+configure:23525: checking whether Direct3D rendering backend will be built
+configure:23527: result: no
+configure:23736: checking whether to enable Quartz rendering backend
+configure:23738: result: no
+configure:23795: checking whether Quartz rendering backend will be built
+configure:23797: result: no
+configure:23869: checking whether to enable OpenGL Glew rendering backend
+configure:23871: result: no
+configure:23916: checking whether OpenGL Glew rendering backend will be built
+configure:23918: result: no
+configure:23990: checking whether to enable Software SDL rendering backend
+configure:23992: result: no
+configure:24119: checking whether Software SDL rendering backend will be built
+configure:24121: result: no
+configure:24193: checking whether to enable OpenGL SDL rendering backend
+configure:24195: result: no
+configure:24459: checking whether OpenGL SDL rendering backend will be built
+configure:24461: result: no
+configure:24533: checking whether to enable Framebuffer rendering backend
+configure:24535: result: yes
+configure:24545: checking linux/fb.h usability
+configure:24545: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:24545: $? = 0
+configure:24545: result: yes
+configure:24545: checking linux/fb.h presence
+configure:24545: gcc -E  conftest.c
+configure:24545: $? = 0
+configure:24545: result: yes
+configure:24545: checking for linux/fb.h
+configure:24545: result: yes
+configure:24568: checking whether Framebuffer rendering backend will be built
+configure:24570: result: yes
+configure:24642: checking whether to enable DirectFB rendering backend
+configure:24644: result: no
+configure:24771: checking whether DirectFB rendering backend will be built
+configure:24773: result: no
+configure:24848: checking whether to enable Software X11 8 bits grayscale rendering backend
+configure:24850: result: no
+configure:24961: checking whether Software X11 8 bits grayscale rendering backend will be built
+configure:24963: result: no
+configure:25035: checking whether to enable Software X11 16 bits rendering backend
+configure:25037: result: no
+configure:25856: checking whether Software X11 16 bits rendering backend will be built
+configure:25858: result: no
+configure:25930: checking whether to enable Software DirectDraw 16 bits rendering backend
+configure:25932: result: no
+configure:25969: checking whether Software DirectDraw 16 bits rendering backend will be built
+configure:25971: result: no
+configure:26043: checking whether to enable Software Windows CE 16 bits rendering backend
+configure:26045: result: no
+configure:26071: checking whether Software Windows CE 16 bits rendering backend will be built
+configure:26073: result: no
+configure:26208: checking whether to use SDL primitive when possible
+configure:26210: result: no
+configure:26227: checking Whether to build software generic engine as part of libevas
+configure:26229: result: no
+configure:26334: checking Whether to build software 16 engine as part of libevas
+configure:26336: result: no
+configure:26376: checking Whether to build software 8 engine as part of libevas
+configure:26378: result: no
+configure:26425: checking whether to enable Edb image loader
+configure:26427: result: no
+configure:26530: checking whether Edb image loader will be built
+configure:26532: result: no
+configure:26607: checking whether to enable Eet image loader
+configure:26609: result: yes
+configure:26622: checking for EET
+configure:26629: $PKG_CONFIG --exists --print-errors "eet >= 1.4.0"
+configure:26632: $? = 0
+configure:26645: $PKG_CONFIG --exists --print-errors "eet >= 1.4.0"
+configure:26648: $? = 0
+configure:26685: result: yes
+configure:26712: checking whether Eet image loader will be built
+configure:26714: result: yes
+configure:26774: checking whether to enable Eet font loader
+configure:26776: result: yes
+configure:26782: checking for EET
+configure:26845: result: yes
+configure:26894: checking whether to enable Gif image loader
+configure:26896: result: yes
+configure:26906: checking gif_lib.h usability
+configure:26906: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:26906: $? = 0
+configure:26906: result: yes
+configure:26906: checking gif_lib.h presence
+configure:26906: gcc -E  conftest.c
+configure:26906: $? = 0
+configure:26906: result: yes
+configure:26906: checking for gif_lib.h
+configure:26906: result: yes
+configure:26914: checking for DGifOpenFileName in -lgif
+configure:26939: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -lgif   >&5
+configure:26939: $? = 0
+configure:26948: result: yes
+configure:27024: checking whether Gif image loader will be built
+configure:27026: result: yes
+configure:27102: checking whether to enable Jpeg image loader
+configure:27104: result: yes
+configure:27114: checking jpeglib.h usability
+configure:27114: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:27114: $? = 0
+configure:27114: result: yes
+configure:27114: checking jpeglib.h presence
+configure:27114: gcc -E  conftest.c
+configure:27114: $? = 0
+configure:27114: result: yes
+configure:27114: checking for jpeglib.h
+configure:27114: result: yes
+configure:27122: checking for jpeg_CreateDecompress in -ljpeg
+configure:27147: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -ljpeg   >&5
+configure:27147: $? = 0
+configure:27156: result: yes
+configure:27179: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:27179: $? = 0
+configure:27214: checking whether Jpeg image loader will be built
+configure:27216: result: yes
+configure:27312: checking whether to enable PMAPS image loader
+configure:27314: result: yes
+configure:27340: checking whether PMAPS image loader will be built
+configure:27342: result: yes
+configure:27417: checking whether to enable PNG image loader
+configure:27419: result: yes
+configure:27431: $PKG_CONFIG --exists --print-errors "libpng14"
+Package libpng14 was not found in the pkg-config search path.
+Perhaps you should add the directory containing `libpng14.pc'
+to the PKG_CONFIG_PATH environment variable
+No package 'libpng14' found
+configure:27434: $? = 1
+configure:27507: $PKG_CONFIG --exists --print-errors "libpng12"
+configure:27510: $? = 0
+configure:27514: checking for PNG
+configure:27521: $PKG_CONFIG --exists --print-errors "libpng12"
+configure:27524: $? = 0
+configure:27537: $PKG_CONFIG --exists --print-errors "libpng12"
+configure:27540: $? = 0
+configure:27577: result: yes
+configure:27757: checking whether PNG image loader will be built
+configure:27759: result: yes
+configure:27834: checking whether to enable SVG image loader
+configure:27836: result: no
+configure:27952: checking whether SVG image loader will be built
+configure:27954: result: no
+configure:28029: checking whether to enable Tiff image loader
+configure:28031: result: yes
+configure:28041: checking tiffio.h usability
+configure:28041: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+conftest.c:97:20: fatal error: tiffio.h: No such file or directory
+compilation terminated.
+configure:28041: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| #define HAVE_FONTCONFIG 1
+| #define HAVE_FRIBIDI 1
+| #define STDC_HEADERS 1
+| #define HAVE_UNISTD_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_SYS_PARAM_H 1
+| #define HAVE___ATTRIBUTE__ 1
+| #define __UNUSED__ __attribute__((unused))
+| #define HAVE_ALLOCA_H 1
+| #define HAVE_ALLOCA 1
+| #define HAVE_DLADDR 1
+| #define EVAS_CSERVE 1
+| #define GLES_VARIETY_SGX 1
+| #define BUILD_ENGINE_BUFFER 1
+| #define BUILD_ENGINE_SOFTWARE_XLIB 1
+| #define HAVE_X11_XLIB_H 1
+| #define HAVE_X11_EXTENSIONS_XRENDER_H 1
+| #define BUILD_ENGINE_XRENDER_X11 1
+| #define GLES_VARIETY_SGX 1
+| #define BUILD_ENGINE_GL_X11 1
+| #define BUILD_ENGINE_FB 1
+| #define BUILD_ENGINE_GL_COMMON 1
+| #define BUILD_ENGINE_SOFTWARE_X11 1
+| #define BUILD_LOADER_EET 1
+| #define BUILD_FONT_LOADER_EET 1
+| #define BUILD_LOADER_GIF 1
+| #define BUILD_LOADER_JPEG_REGION 1
+| #define BUILD_LOADER_JPEG 1
+| #define EVAS_BUILD_SAVER_JPEG 1
+| #define BUILD_LOADER_PMAPS 1
+| #define BUILD_LOADER_PNG 1
+| /* end confdefs.h.  */
+| #include <stdio.h>
+| #ifdef HAVE_SYS_TYPES_H
+| # include <sys/types.h>
+| #endif
+| #ifdef HAVE_SYS_STAT_H
+| # include <sys/stat.h>
+| #endif
+| #ifdef STDC_HEADERS
+| # include <stdlib.h>
+| # include <stddef.h>
+| #else
+| # ifdef HAVE_STDLIB_H
+| #  include <stdlib.h>
+| # endif
+| #endif
+| #ifdef HAVE_STRING_H
+| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+| #  include <memory.h>
+| # endif
+| # include <string.h>
+| #endif
+| #ifdef HAVE_STRINGS_H
+| # include <strings.h>
+| #endif
+| #ifdef HAVE_INTTYPES_H
+| # include <inttypes.h>
+| #endif
+| #ifdef HAVE_STDINT_H
+| # include <stdint.h>
+| #endif
+| #ifdef HAVE_UNISTD_H
+| # include <unistd.h>
+| #endif
+| #include <tiffio.h>
+configure:28041: result: no
+configure:28041: checking tiffio.h presence
+configure:28041: gcc -E  conftest.c
+conftest.c:64:20: fatal error: tiffio.h: No such file or directory
+compilation terminated.
+configure:28041: $? = 1
+configure: failed program was:
+| /* confdefs.h */
+| #define PACKAGE_NAME "evas"
+| #define PACKAGE_TARNAME "evas"
+| #define PACKAGE_VERSION "1.0.999.0"
+| #define PACKAGE_STRING "evas 1.0.999.0"
+| #define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+| #define PACKAGE_URL ""
+| #define PACKAGE "evas"
+| #define VERSION "1.0.999.0"
+| #define STDC_HEADERS 1
+| #define HAVE_SYS_TYPES_H 1
+| #define HAVE_SYS_STAT_H 1
+| #define HAVE_STDLIB_H 1
+| #define HAVE_STRING_H 1
+| #define HAVE_MEMORY_H 1
+| #define HAVE_STRINGS_H 1
+| #define HAVE_INTTYPES_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_UNISTD_H 1
+| #define __EXTENSIONS__ 1
+| #define _ALL_SOURCE 1
+| #define _GNU_SOURCE 1
+| #define _POSIX_PTHREAD_SEMANTICS 1
+| #define _TANDEM_SOURCE 1
+| #define HAVE_DLFCN_H 1
+| #define LT_OBJDIR ".libs/"
+| #define VMAJ 1
+| #define VMIN 0
+| #define VMIC 999
+| #define VREV 0
+| #define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+| #define HAVE_FONTCONFIG 1
+| #define HAVE_FRIBIDI 1
+| #define STDC_HEADERS 1
+| #define HAVE_UNISTD_H 1
+| #define HAVE_STDINT_H 1
+| #define HAVE_SYS_PARAM_H 1
+| #define HAVE___ATTRIBUTE__ 1
+| #define __UNUSED__ __attribute__((unused))
+| #define HAVE_ALLOCA_H 1
+| #define HAVE_ALLOCA 1
+| #define HAVE_DLADDR 1
+| #define EVAS_CSERVE 1
+| #define GLES_VARIETY_SGX 1
+| #define BUILD_ENGINE_BUFFER 1
+| #define BUILD_ENGINE_SOFTWARE_XLIB 1
+| #define HAVE_X11_XLIB_H 1
+| #define HAVE_X11_EXTENSIONS_XRENDER_H 1
+| #define BUILD_ENGINE_XRENDER_X11 1
+| #define GLES_VARIETY_SGX 1
+| #define BUILD_ENGINE_GL_X11 1
+| #define BUILD_ENGINE_FB 1
+| #define BUILD_ENGINE_GL_COMMON 1
+| #define BUILD_ENGINE_SOFTWARE_X11 1
+| #define BUILD_LOADER_EET 1
+| #define BUILD_FONT_LOADER_EET 1
+| #define BUILD_LOADER_GIF 1
+| #define BUILD_LOADER_JPEG_REGION 1
+| #define BUILD_LOADER_JPEG 1
+| #define EVAS_BUILD_SAVER_JPEG 1
+| #define BUILD_LOADER_PMAPS 1
+| #define BUILD_LOADER_PNG 1
+| /* end confdefs.h.  */
+| #include <tiffio.h>
+configure:28041: result: no
+configure:28041: checking for tiffio.h
+configure:28041: result: no
+configure:28206: checking whether Tiff image loader will be built
+configure:28208: result: no
+configure:28283: checking whether to enable XPM image loader
+configure:28285: result: yes
+configure:28311: checking whether XPM image loader will be built
+configure:28313: result: yes
+configure:28388: checking whether to enable BMP image loader
+configure:28390: result: yes
+configure:28416: checking whether BMP image loader will be built
+configure:28418: result: yes
+configure:28493: checking whether to enable TGA image loader
+configure:28495: result: yes
+configure:28521: checking whether TGA image loader will be built
+configure:28523: result: yes
+configure:28598: checking whether to enable WBMP image loader
+configure:28600: result: yes
+configure:28626: checking whether WBMP image loader will be built
+configure:28628: result: yes
+configure:28703: checking whether to enable ICO image loader
+configure:28705: result: yes
+configure:28731: checking whether ICO image loader will be built
+configure:28733: result: yes
+configure:28792: checking pthread.h usability
+configure:28792: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:28792: $? = 0
+configure:28792: result: yes
+configure:28792: checking pthread.h presence
+configure:28792: gcc -E  conftest.c
+configure:28792: $? = 0
+configure:28792: result: yes
+configure:28792: checking for pthread.h
+configure:28792: result: yes
+configure:28810: checking for pthread.h
+configure:28810: result: yes
+configure:28816: checking for pthread_attr_setaffinity_np in -lpthread
+configure:28841: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -lpthread   >&5
+configure:28841: $? = 0
+configure:28850: result: yes
+configure:28854: checking for pthread_barrier_wait in -lpthread
+configure:28879: gcc -o conftest -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC   -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed conftest.c -lpthread   >&5
+configure:28879: $? = 0
+configure:28888: result: yes
+configure:28810: checking sched.h usability
+configure:28810: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:28810: $? = 0
+configure:28810: result: yes
+configure:28810: checking sched.h presence
+configure:28810: gcc -E  conftest.c
+configure:28810: $? = 0
+configure:28810: result: yes
+configure:28810: checking for sched.h
+configure:28810: result: yes
+configure:28816: checking for pthread_attr_setaffinity_np in -lpthread
+configure:28850: result: yes
+configure:28854: checking for pthread_barrier_wait in -lpthread
+configure:28888: result: yes
+configure:28914: checking whether to build pthread code
+configure:28921: result: yes
+configure:28961: checking whether to build Threaded Pipe Rendering support
+configure:28969: result: no
+configure:28972: checking whether we can build Threaded Pipe Rendering support
+configure:28983: result: no
+configure:28992: checking whether to build Asynchronously Threaded Pipe Rendering support
+configure:29000: result: no
+configure:29003: checking whether we can build Asynchronously Threaded Pipe Rendering support
+configure:29095: result: no
+configure:29103: checking whether to build Async Events support
+configure:29111: result: auto
+configure:29114: checking whether we can build Async Events support
+configure:29117: result: yes
+configure:29132: checking whether to build Async Image Preload support
+configure:29140: result: auto
+configure:29143: checking whether we can build Async Image Preload support
+configure:29146: result: yes
+configure:29161: checking whether we should link with pthread
+configure:29164: result: yes
+configure:29187: checking whether to build mmx code
+configure:29207: result: no
+configure:29233: checking whether to build sse code
+configure:29253: result: no
+configure:29274: checking whether to build altivec code
+configure:29288: result: no
+configure:29370: checking whether to build neon code
+configure:29387: gcc -c -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC  conftest.c >&5
+configure:29387: $? = 0
+configure:29389: result: yes
+configure:29450: checking whether to build c code
+configure:29470: result: yes
+configure:29485: checking whether to check magic for evas object
+configure:29493: result: yes
+configure:29514: checking whether to enable caching of rendered words
+configure:29522: result: no
+configure:29542: checking whether to enable caching of rendered metrics
+configure:29550: result: no
+configure:29590: checking whether to build sampling scaler
+configure:29592: result: yes
+configure:29627: checking whether to build smooth scaler
+configure:29629: result: yes
+configure:29652: checking whether to build yuv converter code
+configure:29672: result: yes
+configure:29705: checking whether to build small dither mask
+configure:29707: result: no
+configure:29742: checking whether to build line dither mask
+configure:29744: result: yes
+configure:29779: checking whether to build conversion to 16bpp without dither mask
+configure:29781: result: no
+configure:29817: checking whether to build 8bpp RGB 332 converter code
+configure:29819: result: yes
+configure:29848: checking whether to build 8bpp RGB 666 converter code
+configure:29850: result: yes
+configure:29879: checking whether to build 8bpp RGB 232 converter code
+configure:29881: result: yes
+configure:29910: checking whether to build 8bpp RGB 222 converter code
+configure:29912: result: yes
+configure:29941: checking whether to build 8bpp RGB 221 converter code
+configure:29943: result: yes
+configure:29972: checking whether to build 8bpp RGB 121 converter code
+configure:29974: result: yes
+configure:30003: checking whether to build 8bpp RGB 111 converter code
+configure:30005: result: yes
+configure:30034: checking whether to build 16bpp RGB 565 converter code
+configure:30036: result: yes
+configure:30065: checking whether to build 16bpp BGR 565 converter code
+configure:30067: result: yes
+configure:30096: checking whether to build 16bpp RGB 555 converter code
+configure:30098: result: yes
+configure:30127: checking whether to build 16bpp RGB 444 converter code
+configure:30129: result: yes
+configure:30146: checking whether to build 16bpp 565 (444 ipaq) converter code
+configure:30171: result: yes
+configure:30191: checking whether to build 16bpp RGB rotation 0 converter code
+configure:30193: result: yes
+configure:30222: checking whether to build 16bpp RGB rotation 180 converter code
+configure:30224: result: yes
+configure:30253: checking whether to build 16bpp RGB rotation 270 converter code
+configure:30255: result: yes
+configure:30284: checking whether to build 16bpp RGB rotation 90 converter code
+configure:30286: result: yes
+configure:30317: checking whether to build 24bpp RGB 888 converter code
+configure:30319: result: yes
+configure:30348: checking whether to build 24bpp BGR 888 converter code
+configure:30350: result: yes
+configure:30379: checking whether to build 32bpp RGB 8888 converter code
+configure:30381: result: yes
+configure:30410: checking whether to build 32bpp RGBX 8888 converter code
+configure:30412: result: yes
+configure:30441: checking whether to build 32bpp BGR 8888 converter code
+configure:30443: result: yes
+configure:30472: checking whether to build 32bpp BGRX 8888 converter code
+configure:30474: result: yes
+configure:30491: checking whether to build 24bpp 666 (666 ezx) converter code
+configure:30516: result: yes
+configure:30522: checking whether to build 32bpp 666 (666 ezx) converter code
+configure:30547: result: yes
+configure:30567: checking whether to build 32bpp RGB rotation 0 converter code
+configure:30569: result: yes
+configure:30598: checking whether to build 32bpp RGB rotation 180 converter code
+configure:30600: result: yes
+configure:30629: checking whether to build 32bpp RGB rotation 270 converter code
+configure:30631: result: yes
+configure:30660: checking whether to build 32bpp RGB rotation 90 converter code
+configure:30662: result: yes
+configure:30693: checking whether to build 8bpp GRY 1 converter code
+configure:30695: result: yes
+configure:30724: checking whether to build 8bpp GRY 16 converter code
+configure:30726: result: yes
+configure:30743: checking whether to build 8bpp grayscale 64-palette converter code
+configure:30768: result: yes
+configure:30775: checking whether to enable build with valgrind
+configure:30783: result: no
+configure:31002: updating cache config.cache
+configure:31405: creating ./config.status
+
+## ---------------------- ##
+## Running config.status. ##
+## ---------------------- ##
+
+This file was extended by evas config.status 1.0.999.0, which was
+generated by GNU Autoconf 2.67.  Invocation command line was
+
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  $ ./config.status 
+
+on jaehwan-desktop
+
+config.status:1604: creating Makefile
+config.status:1604: creating evas-directfb.pc
+config.status:1604: creating evas-fb.pc
+config.status:1604: creating evas-opengl-glew.pc
+config.status:1604: creating evas-opengl-x11.pc
+config.status:1604: creating evas-opengl-sdl.pc
+config.status:1604: creating evas-quartz.pc
+config.status:1604: creating evas-software-buffer.pc
+config.status:1604: creating evas-software-x11.pc
+config.status:1604: creating evas-software-8-x11.pc
+config.status:1604: creating evas-software-16-x11.pc
+config.status:1604: creating evas-xrender-x11.pc
+config.status:1604: creating evas-xrender-xcb.pc
+config.status:1604: creating evas-software-gdi.pc
+config.status:1604: creating evas-software-ddraw.pc
+config.status:1604: creating evas-software-16-ddraw.pc
+config.status:1604: creating evas-direct3d.pc
+config.status:1604: creating evas-software-16-wince.pc
+config.status:1604: creating evas-software-sdl.pc
+config.status:1604: creating evas.pc
+config.status:1604: creating doc/evas.dox
+config.status:1604: creating doc/Makefile
+config.status:1604: creating src/Makefile
+config.status:1604: creating src/bin/Makefile
+config.status:1604: creating src/lib/Makefile
+config.status:1604: creating src/lib/canvas/Makefile
+config.status:1604: creating src/lib/file/Makefile
+config.status:1604: creating src/lib/cache/Makefile
+config.status:1604: creating src/lib/cserve/Makefile
+config.status:1604: creating src/lib/engines/Makefile
+config.status:1604: creating src/lib/engines/common/Makefile
+config.status:1604: creating src/lib/engines/common/evas_op_add/Makefile
+config.status:1604: creating src/lib/engines/common/evas_op_blend/Makefile
+config.status:1604: creating src/lib/engines/common/evas_op_copy/Makefile
+config.status:1604: creating src/lib/engines/common/evas_op_mask/Makefile
+config.status:1604: creating src/lib/engines/common/evas_op_mul/Makefile
+config.status:1604: creating src/lib/engines/common/evas_op_sub/Makefile
+config.status:1604: creating src/lib/engines/common_8/Makefile
+config.status:1604: creating src/lib/engines/common_16/Makefile
+config.status:1604: creating src/modules/Makefile
+config.status:1604: creating src/modules/engines/Makefile
+config.status:1604: creating src/modules/engines/software_generic/Makefile
+config.status:1604: creating src/modules/engines/software_gdi/Makefile
+config.status:1604: creating src/modules/engines/software_ddraw/Makefile
+config.status:1604: creating src/modules/engines/direct3d/Makefile
+config.status:1604: creating src/modules/engines/software_16_wince/Makefile
+config.status:1604: creating src/modules/engines/software_x11/Makefile
+config.status:1604: creating src/modules/engines/fb/Makefile
+config.status:1604: creating src/modules/engines/buffer/Makefile
+config.status:1604: creating src/modules/engines/directfb/Makefile
+config.status:1604: creating src/modules/engines/gl_common/Makefile
+config.status:1604: creating src/modules/engines/gl_glew/Makefile
+config.status:1604: creating src/modules/engines/gl_x11/Makefile
+config.status:1604: creating src/modules/engines/gl_sdl/Makefile
+config.status:1604: creating src/modules/engines/quartz/Makefile
+config.status:1604: creating src/modules/engines/xrender_x11/Makefile
+config.status:1604: creating src/modules/engines/software_sdl/Makefile
+config.status:1604: creating src/modules/engines/software_8/Makefile
+config.status:1604: creating src/modules/engines/software_8_x11/Makefile
+config.status:1604: creating src/modules/engines/software_16/Makefile
+config.status:1604: creating src/modules/engines/software_16_x11/Makefile
+config.status:1604: creating src/modules/engines/software_16_ddraw/Makefile
+config.status:1604: creating src/modules/engines/software_16_sdl/Makefile
+config.status:1604: creating src/modules/loaders/Makefile
+config.status:1604: creating src/modules/loaders/edb/Makefile
+config.status:1604: creating src/modules/loaders/eet/Makefile
+config.status:1604: creating src/modules/loaders/gif/Makefile
+config.status:1604: creating src/modules/loaders/jpeg/Makefile
+config.status:1604: creating src/modules/loaders/png/Makefile
+config.status:1604: creating src/modules/loaders/tiff/Makefile
+config.status:1604: creating src/modules/loaders/xpm/Makefile
+config.status:1604: creating src/modules/loaders/bmp/Makefile
+config.status:1604: creating src/modules/loaders/ico/Makefile
+config.status:1604: creating src/modules/loaders/tga/Makefile
+config.status:1604: creating src/modules/loaders/svg/Makefile
+config.status:1604: creating src/modules/loaders/pmaps/Makefile
+config.status:1604: creating src/modules/loaders/wbmp/Makefile
+config.status:1604: creating src/modules/savers/Makefile
+config.status:1604: creating src/modules/savers/edb/Makefile
+config.status:1604: creating src/modules/savers/eet/Makefile
+config.status:1604: creating src/modules/savers/jpeg/Makefile
+config.status:1604: creating src/modules/savers/png/Makefile
+config.status:1604: creating src/modules/savers/tiff/Makefile
+config.status:1604: creating src/lib/include/Makefile
+config.status:1604: creating src/examples/Makefile
+config.status:1604: creating README
+config.status:1604: creating evas.spec
+config.status:1604: creating config.h
+config.status:1832: executing depfiles commands
+config.status:1832: executing libtool commands
+configure:33974: WARNING: unrecognized options: --disable-maintainer-mode, --disable-rpath, --enable-winkcodec
+
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+
+ac_cv___attribute__=yes
+ac_cv_build=arm-unknown-linux-gnueabi
+ac_cv_c_bigendian=no
+ac_cv_c_compiler_gnu=yes
+ac_cv_c_const=yes
+ac_cv_cxx_compiler_gnu=yes
+ac_cv_env_CCC_set=
+ac_cv_env_CCC_value=
+ac_cv_env_CC_set=
+ac_cv_env_CC_value=
+ac_cv_env_CFLAGS_set=set
+ac_cv_env_CFLAGS_value='-g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC'
+ac_cv_env_CPPFLAGS_set=set
+ac_cv_env_CPPFLAGS_value=
+ac_cv_env_CPP_set=
+ac_cv_env_CPP_value=
+ac_cv_env_CXXCPP_set=
+ac_cv_env_CXXCPP_value=
+ac_cv_env_CXXFLAGS_set=set
+ac_cv_env_CXXFLAGS_value='-g -O2 -g -Wall -O2'
+ac_cv_env_CXX_set=
+ac_cv_env_CXX_value=
+ac_cv_env_DIRECTFB_CFLAGS_set=
+ac_cv_env_DIRECTFB_CFLAGS_value=
+ac_cv_env_DIRECTFB_LIBS_set=
+ac_cv_env_DIRECTFB_LIBS_value=
+ac_cv_env_EDB_CFLAGS_set=
+ac_cv_env_EDB_CFLAGS_value=
+ac_cv_env_EDB_LIBS_set=
+ac_cv_env_EDB_LIBS_value=
+ac_cv_env_EET_CFLAGS_set=
+ac_cv_env_EET_CFLAGS_value=
+ac_cv_env_EET_LIBS_set=
+ac_cv_env_EET_LIBS_value=
+ac_cv_env_EINA_CFLAGS_set=
+ac_cv_env_EINA_CFLAGS_value=
+ac_cv_env_EINA_LIBS_set=
+ac_cv_env_EINA_LIBS_value=
+ac_cv_env_EVIL_CFLAGS_set=
+ac_cv_env_EVIL_CFLAGS_value=
+ac_cv_env_EVIL_LIBS_set=
+ac_cv_env_EVIL_LIBS_value=
+ac_cv_env_FONTCONFIG_CFLAGS_set=
+ac_cv_env_FONTCONFIG_CFLAGS_value=
+ac_cv_env_FONTCONFIG_LIBS_set=
+ac_cv_env_FONTCONFIG_LIBS_value=
+ac_cv_env_FREETYPE_CFLAGS_set=
+ac_cv_env_FREETYPE_CFLAGS_value=
+ac_cv_env_FREETYPE_LIBS_set=
+ac_cv_env_FREETYPE_LIBS_value=
+ac_cv_env_FRIBIDI_CFLAGS_set=
+ac_cv_env_FRIBIDI_CFLAGS_value=
+ac_cv_env_FRIBIDI_LIBS_set=
+ac_cv_env_FRIBIDI_LIBS_value=
+ac_cv_env_HARFBUZZ_CFLAGS_set=
+ac_cv_env_HARFBUZZ_CFLAGS_value=
+ac_cv_env_HARFBUZZ_LIBS_set=
+ac_cv_env_HARFBUZZ_LIBS_value=
+ac_cv_env_LDFLAGS_set=set
+ac_cv_env_LDFLAGS_value=' -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed'
+ac_cv_env_LIBS_set=
+ac_cv_env_LIBS_value=
+ac_cv_env_OBJCFLAGS_set=
+ac_cv_env_OBJCFLAGS_value=
+ac_cv_env_OBJCPP_set=
+ac_cv_env_OBJCPP_value=
+ac_cv_env_OBJC_set=
+ac_cv_env_OBJC_value=
+ac_cv_env_PKG_CONFIG_LIBDIR_set=
+ac_cv_env_PKG_CONFIG_LIBDIR_value=
+ac_cv_env_PKG_CONFIG_PATH_set=set
+ac_cv_env_PKG_CONFIG_PATH_value=/home/jaehwan/sbs/target-armel/usr/lib/pkgconfig:/home/jaehwan/sbs/target-armel/usr/share/pkgconfig:/home/jaehwan/sbs/tools/usr/share/pkgconfig
+ac_cv_env_PKG_CONFIG_set=
+ac_cv_env_PKG_CONFIG_value=
+ac_cv_env_PNG_CFLAGS_set=
+ac_cv_env_PNG_CFLAGS_value=
+ac_cv_env_PNG_LIBS_set=
+ac_cv_env_PNG_LIBS_value=
+ac_cv_env_SDL_CFLAGS_set=
+ac_cv_env_SDL_CFLAGS_value=
+ac_cv_env_SDL_LIBS_set=
+ac_cv_env_SDL_LIBS_value=
+ac_cv_env_SVG_CFLAGS_set=
+ac_cv_env_SVG_CFLAGS_value=
+ac_cv_env_SVG_LIBS_set=
+ac_cv_env_SVG_LIBS_value=
+ac_cv_env_VALGRIND_CFLAGS_set=
+ac_cv_env_VALGRIND_CFLAGS_value=
+ac_cv_env_VALGRIND_LIBS_set=
+ac_cv_env_VALGRIND_LIBS_value=
+ac_cv_env_XCBRENDER_CFLAGS_set=
+ac_cv_env_XCBRENDER_CFLAGS_value=
+ac_cv_env_XCBRENDER_LIBS_set=
+ac_cv_env_XCBRENDER_LIBS_value=
+ac_cv_env_XCB_CFLAGS_set=
+ac_cv_env_XCB_CFLAGS_value=
+ac_cv_env_XCB_LIBS_set=
+ac_cv_env_XCB_LIBS_value=
+ac_cv_env_XEXT_CFLAGS_set=
+ac_cv_env_XEXT_CFLAGS_value=
+ac_cv_env_XEXT_LIBS_set=
+ac_cv_env_XEXT_LIBS_value=
+ac_cv_env_XMKMF_set=
+ac_cv_env_XMKMF_value=
+ac_cv_env_build_alias_set=set
+ac_cv_env_build_alias_value=arm-linux-gnueabi
+ac_cv_env_host_alias_set=
+ac_cv_env_host_alias_value=
+ac_cv_env_target_alias_set=
+ac_cv_env_target_alias_value=
+ac_cv_func_alloca_works=yes
+ac_cv_func_connect=yes
+ac_cv_func_dlopen=no
+ac_cv_func_gethostbyname=yes
+ac_cv_func_remove=yes
+ac_cv_func_shmat=yes
+ac_cv_have_x='have_x=yes       ac_x_includes='\'''\''  ac_x_libraries='\'''\'''
+ac_cv_header_GLES2_gl2_h=yes
+ac_cv_header_GL_gl_h=no
+ac_cv_header_X11_X_h=yes
+ac_cv_header_X11_Xlib_h=yes
+ac_cv_header_X11_extensions_Xrender_h=yes
+ac_cv_header_dlfcn_h=yes
+ac_cv_header_fnmatch_h=yes
+ac_cv_header_gif_lib_h=yes
+ac_cv_header_hb_ft_h=no
+ac_cv_header_hb_glib_h=no
+ac_cv_header_inttypes_h=yes
+ac_cv_header_jpeglib_h=yes
+ac_cv_header_linux_fb_h=yes
+ac_cv_header_memory_h=yes
+ac_cv_header_minix_config_h=no
+ac_cv_header_pthread_h=yes
+ac_cv_header_sched_h=yes
+ac_cv_header_stdc=yes
+ac_cv_header_stdint_h=yes
+ac_cv_header_stdlib_h=yes
+ac_cv_header_string_h=yes
+ac_cv_header_strings_h=yes
+ac_cv_header_sys_param_h=yes
+ac_cv_header_sys_stat_h=yes
+ac_cv_header_sys_types_h=yes
+ac_cv_header_tiffio_h=no
+ac_cv_header_unistd_h=yes
+ac_cv_host=arm-unknown-linux-gnueabi
+ac_cv_lib_GLESv2_glTexImage2D=yes
+ac_cv_lib_ICE_IceConnectionNumber=yes
+ac_cv_lib_X11_XCreateImage=yes
+ac_cv_lib_Xext_XShmCreateImage=yes
+ac_cv_lib_Xrender_XRenderCreatePicture=yes
+ac_cv_lib_dl_dladdr=yes
+ac_cv_lib_dl_dlopen=yes
+ac_cv_lib_gif_DGifOpenFileName=yes
+ac_cv_lib_jpeg_jpeg_CreateDecompress=yes
+ac_cv_lib_pthread_pthread_attr_setaffinity_np=yes
+ac_cv_lib_pthread_pthread_barrier_wait=yes
+ac_cv_lib_pthread_pthread_create=yes
+ac_cv_objc_compiler_gnu=no
+ac_cv_objext=o
+ac_cv_path_EGREP='/bin/grep -E'
+ac_cv_path_FGREP='/bin/grep -F'
+ac_cv_path_GREP=/bin/grep
+ac_cv_path_SED=/bin/sed
+ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config
+ac_cv_path_install='/usr/bin/install -c'
+ac_cv_path_mkdir=/bin/mkdir
+ac_cv_prog_AWK=gawk
+ac_cv_prog_CPP='gcc -E'
+ac_cv_prog_CXXCPP='g++ -E'
+ac_cv_prog_ac_ct_AR=ar
+ac_cv_prog_ac_ct_CC=gcc
+ac_cv_prog_ac_ct_CXX=g++
+ac_cv_prog_ac_ct_OBJC=gcc
+ac_cv_prog_ac_ct_OBJDUMP=objdump
+ac_cv_prog_ac_ct_RANLIB=ranlib
+ac_cv_prog_ac_ct_STRIP=strip
+ac_cv_prog_cc_c89=
+ac_cv_prog_cc_g=yes
+ac_cv_prog_cxx_g=yes
+ac_cv_prog_efl_have_doxygen=yes
+ac_cv_prog_make_make_set=yes
+ac_cv_prog_objc_g=no
+ac_cv_safe_to_define___extensions__=yes
+ac_cv_search_fnmatch='none required'
+ac_cv_search_strerror='none required'
+ac_cv_working_alloca_h=yes
+am_cv_CC_dependencies_compiler_type=none
+am_cv_CXX_dependencies_compiler_type=none
+am_cv_OBJC_dependencies_compiler_type=none
+am_cv_prog_cc_stdc=
+lt_cv_deplibs_check_method=pass_all
+lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_ld_reload_flag=-r
+lt_cv_nm_interface='BSD nm'
+lt_cv_objdir=.libs
+lt_cv_path_LD=/usr/arm-linux-gnueabi/bin/ld
+lt_cv_path_LDCXX=/usr/arm-linux-gnueabi/bin/ld
+lt_cv_path_NM='/usr/bin/nm -B'
+lt_cv_prog_compiler_c_o=yes
+lt_cv_prog_compiler_c_o_CXX=yes
+lt_cv_prog_compiler_pic_works=yes
+lt_cv_prog_compiler_pic_works_CXX=yes
+lt_cv_prog_compiler_rtti_exceptions=no
+lt_cv_prog_compiler_static_works=yes
+lt_cv_prog_compiler_static_works_CXX=yes
+lt_cv_prog_gnu_ld=yes
+lt_cv_prog_gnu_ldcxx=yes
+lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[      ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'''
+lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"\2", (void *) \&\2},/p'\'''
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/  {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"lib\2", (void *) \&\2},/p'\'''
+lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
+lt_cv_sys_max_cmd_len=1572864
+pkg_cv_EET_CFLAGS='-I/usr/include/eet-1 -I/usr/include/eina-1 -I/usr/include/eina-1/eina  '
+pkg_cv_EET_LIBS='-leet  '
+pkg_cv_EINA_CFLAGS='-I/usr/include/eina-1 -I/usr/include/eina-1/eina  '
+pkg_cv_EINA_LIBS='-leina  '
+pkg_cv_FONTCONFIG_CFLAGS='-I//usr/include  '
+pkg_cv_FONTCONFIG_LIBS='-L//usr/lib -lfontconfig  '
+pkg_cv_FREETYPE_CFLAGS='-I/usr/include/freetype2  '
+pkg_cv_FREETYPE_LIBS='-lfreetype  '
+pkg_cv_FRIBIDI_CFLAGS='-I/usr/include/fribidi  '
+pkg_cv_FRIBIDI_LIBS='-lfribidi  '
+pkg_cv_HARFBUZZ_CFLAGS='-I/usr/include/harfbuzz  '
+pkg_cv_HARFBUZZ_LIBS='-lharfbuzz  '
+pkg_cv_PNG_CFLAGS='-I/usr/include/libpng12  '
+pkg_cv_PNG_LIBS='-lpng12  '
+rw_cv_prog_objc_works=no
+
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+
+ACLOCAL='${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run aclocal-1.11'
+ALLOCA=''
+AMDEPBACKSLASH=''
+AMDEP_FALSE=''
+AMDEP_TRUE='#'
+AMTAR='${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run tar'
+AM_BACKSLASH='\'
+AM_DEFAULT_VERBOSITY='1'
+AR='ar'
+AS='as'
+AUTOCONF='${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run autoconf'
+AUTOHEADER='${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run autoheader'
+AUTOMAKE='${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run automake-1.11'
+AWK='gawk'
+BUILD_ENGINE_BUFFER_FALSE='#'
+BUILD_ENGINE_BUFFER_TRUE=''
+BUILD_ENGINE_DIRECT3D_FALSE=''
+BUILD_ENGINE_DIRECT3D_TRUE='#'
+BUILD_ENGINE_DIRECTFB_FALSE=''
+BUILD_ENGINE_DIRECTFB_TRUE='#'
+BUILD_ENGINE_FB_FALSE='#'
+BUILD_ENGINE_FB_TRUE=''
+BUILD_ENGINE_GL_COMMON_FALSE='#'
+BUILD_ENGINE_GL_COMMON_TRUE=''
+BUILD_ENGINE_GL_GLEW_FALSE=''
+BUILD_ENGINE_GL_GLEW_TRUE='#'
+BUILD_ENGINE_GL_SDL_FALSE=''
+BUILD_ENGINE_GL_SDL_TRUE='#'
+BUILD_ENGINE_GL_X11_FALSE='#'
+BUILD_ENGINE_GL_X11_TRUE=''
+BUILD_ENGINE_QUARTZ_FALSE=''
+BUILD_ENGINE_QUARTZ_TRUE='#'
+BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE=''
+BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE='#'
+BUILD_ENGINE_SOFTWARE_16_FALSE=''
+BUILD_ENGINE_SOFTWARE_16_TRUE='#'
+BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE=''
+BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE='#'
+BUILD_ENGINE_SOFTWARE_16_X11_FALSE=''
+BUILD_ENGINE_SOFTWARE_16_X11_TRUE='#'
+BUILD_ENGINE_SOFTWARE_8_FALSE=''
+BUILD_ENGINE_SOFTWARE_8_TRUE='#'
+BUILD_ENGINE_SOFTWARE_8_X11_FALSE=''
+BUILD_ENGINE_SOFTWARE_8_X11_TRUE='#'
+BUILD_ENGINE_SOFTWARE_DDRAW_FALSE=''
+BUILD_ENGINE_SOFTWARE_DDRAW_TRUE='#'
+BUILD_ENGINE_SOFTWARE_GDI_FALSE=''
+BUILD_ENGINE_SOFTWARE_GDI_TRUE='#'
+BUILD_ENGINE_SOFTWARE_SDL_FALSE=''
+BUILD_ENGINE_SOFTWARE_SDL_TRUE='#'
+BUILD_ENGINE_SOFTWARE_X11_FALSE='#'
+BUILD_ENGINE_SOFTWARE_X11_TRUE=''
+BUILD_ENGINE_SOFTWARE_XCB_FALSE=''
+BUILD_ENGINE_SOFTWARE_XCB_TRUE='#'
+BUILD_ENGINE_SOFTWARE_XLIB_FALSE='#'
+BUILD_ENGINE_SOFTWARE_XLIB_TRUE=''
+BUILD_ENGINE_XRENDER_X11_FALSE='#'
+BUILD_ENGINE_XRENDER_X11_TRUE=''
+BUILD_ENGINE_XRENDER_XCB_FALSE=''
+BUILD_ENGINE_XRENDER_XCB_TRUE='#'
+BUILD_EXAMPLES_FALSE=''
+BUILD_EXAMPLES_TRUE='#'
+BUILD_LOADER_BMP_FALSE='#'
+BUILD_LOADER_BMP_TRUE=''
+BUILD_LOADER_EDB_FALSE=''
+BUILD_LOADER_EDB_TRUE='#'
+BUILD_LOADER_EET_FALSE='#'
+BUILD_LOADER_EET_TRUE=''
+BUILD_LOADER_GIF_FALSE='#'
+BUILD_LOADER_GIF_TRUE=''
+BUILD_LOADER_ICO_FALSE='#'
+BUILD_LOADER_ICO_TRUE=''
+BUILD_LOADER_JPEG_FALSE='#'
+BUILD_LOADER_JPEG_TRUE=''
+BUILD_LOADER_PMAPS_FALSE='#'
+BUILD_LOADER_PMAPS_TRUE=''
+BUILD_LOADER_PNG_FALSE='#'
+BUILD_LOADER_PNG_TRUE=''
+BUILD_LOADER_SVG_FALSE=''
+BUILD_LOADER_SVG_TRUE='#'
+BUILD_LOADER_TGA_FALSE='#'
+BUILD_LOADER_TGA_TRUE=''
+BUILD_LOADER_TIFF_FALSE=''
+BUILD_LOADER_TIFF_TRUE='#'
+BUILD_LOADER_WBMP_FALSE='#'
+BUILD_LOADER_WBMP_TRUE=''
+BUILD_LOADER_XPM_FALSE='#'
+BUILD_LOADER_XPM_TRUE=''
+BUILD_SAVER_JPEG_FALSE='#'
+BUILD_SAVER_JPEG_TRUE=''
+CC='gcc'
+CCDEPMODE='depmode=none'
+CFLAGS='-g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC'
+CPP='gcc -E'
+CPPFLAGS=''
+CXX='g++'
+CXXCPP='g++ -E'
+CXXDEPMODE='depmode=none'
+CXXFLAGS='-g -O2 -g -Wall -O2'
+CYGPATH_W='echo'
+DEFS='-DHAVE_CONFIG_H'
+DEPDIR='.deps'
+DIRECTFB_CFLAGS=''
+DIRECTFB_LIBS=''
+DLLTOOL='dlltool'
+DSYMUTIL=''
+DUMPBIN=''
+ECHO_C=''
+ECHO_N='-n'
+ECHO_T=''
+EDB_CFLAGS=''
+EDB_LIBS=''
+EET_CFLAGS='-I/usr/include/eet-1 -I/usr/include/eina-1 -I/usr/include/eina-1/eina  '
+EET_LIBS='-leet  '
+EFL_BUILD_DOC_FALSE='#'
+EFL_BUILD_DOC_TRUE=''
+EFL_FNMATCH_LIBS=''
+EGREP='/bin/grep -E'
+EINA_CFLAGS='-I/usr/include/eina-1 -I/usr/include/eina-1/eina  '
+EINA_LIBS='-leina  '
+EVAS_CSERVE_FALSE='#'
+EVAS_CSERVE_TRUE=''
+EVAS_MAGIC_DEBUG_FALSE='#'
+EVAS_MAGIC_DEBUG_TRUE=''
+EVAS_STATIC_BUILD_BMP_FALSE=''
+EVAS_STATIC_BUILD_BMP_TRUE='#'
+EVAS_STATIC_BUILD_BUFFER_FALSE=''
+EVAS_STATIC_BUILD_BUFFER_TRUE='#'
+EVAS_STATIC_BUILD_DIRECT3D_FALSE=''
+EVAS_STATIC_BUILD_DIRECT3D_TRUE='#'
+EVAS_STATIC_BUILD_DIRECTFB_FALSE=''
+EVAS_STATIC_BUILD_DIRECTFB_TRUE='#'
+EVAS_STATIC_BUILD_EDB_FALSE=''
+EVAS_STATIC_BUILD_EDB_TRUE='#'
+EVAS_STATIC_BUILD_EET_FALSE=''
+EVAS_STATIC_BUILD_EET_TRUE='#'
+EVAS_STATIC_BUILD_FB_FALSE=''
+EVAS_STATIC_BUILD_FB_TRUE='#'
+EVAS_STATIC_BUILD_GIF_FALSE=''
+EVAS_STATIC_BUILD_GIF_TRUE='#'
+EVAS_STATIC_BUILD_GL_COMMON_FALSE=''
+EVAS_STATIC_BUILD_GL_COMMON_TRUE='#'
+EVAS_STATIC_BUILD_GL_GLEW_FALSE=''
+EVAS_STATIC_BUILD_GL_GLEW_TRUE='#'
+EVAS_STATIC_BUILD_GL_SDL_FALSE=''
+EVAS_STATIC_BUILD_GL_SDL_TRUE='#'
+EVAS_STATIC_BUILD_GL_X11_FALSE=''
+EVAS_STATIC_BUILD_GL_X11_TRUE='#'
+EVAS_STATIC_BUILD_ICO_FALSE=''
+EVAS_STATIC_BUILD_ICO_TRUE='#'
+EVAS_STATIC_BUILD_JPEG_FALSE=''
+EVAS_STATIC_BUILD_JPEG_TRUE='#'
+EVAS_STATIC_BUILD_PMAPS_FALSE=''
+EVAS_STATIC_BUILD_PMAPS_TRUE='#'
+EVAS_STATIC_BUILD_PNG_FALSE=''
+EVAS_STATIC_BUILD_PNG_TRUE='#'
+EVAS_STATIC_BUILD_QUARTZ_FALSE=''
+EVAS_STATIC_BUILD_QUARTZ_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_16_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_16_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_8_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_8_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_8_X11_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE='#'
+EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE=''
+EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE='#'
+EVAS_STATIC_BUILD_SVG_FALSE=''
+EVAS_STATIC_BUILD_SVG_TRUE='#'
+EVAS_STATIC_BUILD_TGA_FALSE=''
+EVAS_STATIC_BUILD_TGA_TRUE='#'
+EVAS_STATIC_BUILD_TIFF_FALSE=''
+EVAS_STATIC_BUILD_TIFF_TRUE='#'
+EVAS_STATIC_BUILD_WBMP_FALSE=''
+EVAS_STATIC_BUILD_WBMP_TRUE='#'
+EVAS_STATIC_BUILD_XPM_FALSE=''
+EVAS_STATIC_BUILD_XPM_TRUE='#'
+EVAS_STATIC_BUILD_XRENDER_X11_FALSE=''
+EVAS_STATIC_BUILD_XRENDER_X11_TRUE='#'
+EVAS_STATIC_BUILD_XRENDER_XCB_FALSE=''
+EVAS_STATIC_BUILD_XRENDER_XCB_TRUE='#'
+EVIL_CFLAGS=''
+EVIL_LIBS=''
+EXEEXT=''
+FGREP='/bin/grep -F'
+FONTCONFIG_CFLAGS='-I//usr/include  '
+FONTCONFIG_LIBS='-L//usr/lib -lfontconfig  '
+FREETYPE_CFLAGS='-I/usr/include/freetype2  '
+FREETYPE_LIBS='-lfreetype  '
+FRIBIDI_CFLAGS='-I/usr/include/fribidi  '
+FRIBIDI_LIBS='-lfribidi  '
+GREP='/bin/grep'
+HARFBUZZ_CFLAGS='-I/usr/include/harfbuzz  '
+HARFBUZZ_LIBS='-lharfbuzz  '
+INSTALL_DATA='${INSTALL} -m 644'
+INSTALL_EXAMPLES_FALSE='#'
+INSTALL_EXAMPLES_TRUE=''
+INSTALL_PROGRAM='${INSTALL}'
+INSTALL_SCRIPT='${INSTALL}'
+INSTALL_STRIP_PROGRAM='$(install_sh) -c -s'
+LD='/usr/arm-linux-gnueabi/bin/ld'
+LDFLAGS=' -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed'
+LIBOBJS=''
+LIBS=''
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+LIPO=''
+LN_S='ln -s'
+LTLIBOBJS=''
+MAKEINFO='${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run makeinfo'
+METRIC_CACHE_FALSE=''
+METRIC_CACHE_TRUE='#'
+MKDIR_P='/bin/mkdir -p'
+MODULE_ARCH='linux-gnueabi-arm-1.0.999'
+NM='/usr/bin/nm -B'
+NMEDIT=''
+OBJC='gcc'
+OBJCDEPMODE='depmode=none'
+OBJCFLAGS=''
+OBJCPP=''
+OBJDUMP='objdump'
+OBJEXT='o'
+OTOOL64=''
+OTOOL=''
+PACKAGE='evas'
+PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net'
+PACKAGE_NAME='evas'
+PACKAGE_STRING='evas 1.0.999.0'
+PACKAGE_TARNAME='evas'
+PACKAGE_URL=''
+PACKAGE_VERSION='1.0.999.0'
+PATH_SEPARATOR=':'
+PKG_CONFIG='/usr/bin/pkg-config'
+PKG_CONFIG_LIBDIR=''
+PKG_CONFIG_PATH='/home/jaehwan/sbs/target-armel/usr/lib/pkgconfig:/home/jaehwan/sbs/target-armel/usr/share/pkgconfig:/home/jaehwan/sbs/tools/usr/share/pkgconfig'
+PNG_CFLAGS='-I/usr/include/libpng12  '
+PNG_LIBS='-lpng12  '
+RANLIB='ranlib'
+SDL_CFLAGS=''
+SDL_LIBS=''
+SED='/bin/sed'
+SET_MAKE=''
+SHELL='/bin/sh'
+STRIP='strip'
+SVG_CFLAGS=''
+SVG_LIBS=''
+VALGRIND_CFLAGS=''
+VALGRIND_LIBS=''
+VERSION='1.0.999.0'
+VMAJ='1'
+WIN32_CFLAGS=''
+WIN32_CPPFLAGS=''
+WORD_CACHE_FALSE=''
+WORD_CACHE_TRUE='#'
+XCBRENDER_CFLAGS=''
+XCBRENDER_LIBS=''
+XCB_CFLAGS=''
+XCB_LIBS=''
+XEXT_CFLAGS=''
+XEXT_LIBS=''
+XMKMF=''
+X_CFLAGS=''
+X_EXTRA_LIBS=''
+X_LIBS=''
+X_PRE_LIBS=' -lSM -lICE -lSM -lICE -lSM -lICE'
+ac_ct_CC='gcc'
+ac_ct_CXX='g++'
+ac_ct_DUMPBIN=''
+ac_ct_OBJC='gcc'
+altivec_cflags=''
+am__EXEEXT_FALSE=''
+am__EXEEXT_TRUE='#'
+am__fastdepCC_FALSE=''
+am__fastdepCC_TRUE='#'
+am__fastdepCXX_FALSE=''
+am__fastdepCXX_TRUE='#'
+am__fastdepOBJC_FALSE=''
+am__fastdepOBJC_TRUE='#'
+am__include='include'
+am__isrc=''
+am__leading_dot='.'
+am__quote=''
+am__tar='${AMTAR} chof - "$$tardir"'
+am__untar='${AMTAR} xf -'
+bindir='${exec_prefix}/bin'
+build='arm-unknown-linux-gnueabi'
+build_alias='arm-linux-gnueabi'
+build_cpu='arm'
+build_os='linux-gnueabi'
+build_vendor='unknown'
+datadir='${datarootdir}'
+datarootdir='${prefix}/share'
+dlopen_libs='-ldl'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+dvidir='${docdir}'
+efl_doxygen='doxygen'
+efl_have_doxygen='yes'
+evas_engine_buffer_cflags=''
+evas_engine_buffer_libs=''
+evas_engine_direct3d_cflags=''
+evas_engine_direct3d_libs=''
+evas_engine_directfb_cflags=''
+evas_engine_directfb_libs=''
+evas_engine_fb_cflags=''
+evas_engine_fb_libs=''
+evas_engine_gl_common_libs=''
+evas_engine_gl_glew_cflags=''
+evas_engine_gl_glew_libs=''
+evas_engine_gl_sdl_cflags=''
+evas_engine_gl_sdl_libs=''
+evas_engine_gl_x11_cflags=''
+evas_engine_gl_x11_libs=' -lX11 -lXext -lX11 -lXext -lX11 -lXext -lXrender -lGLESv2 -lEGL -lm  -lpthread'
+evas_engine_quartz_cflags=''
+evas_engine_quartz_libs=''
+evas_engine_software_16_ddraw_cflags=''
+evas_engine_software_16_ddraw_libs=''
+evas_engine_software_16_wince_cflags=''
+evas_engine_software_16_wince_libs=''
+evas_engine_software_16_x11_cflags=''
+evas_engine_software_16_x11_libs=''
+evas_engine_software_8_x11_cflags=''
+evas_engine_software_8_x11_libs=''
+evas_engine_software_ddraw_cflags=''
+evas_engine_software_ddraw_libs=''
+evas_engine_software_gdi_cflags=''
+evas_engine_software_gdi_libs=''
+evas_engine_software_sdl_cflags=''
+evas_engine_software_sdl_libs=''
+evas_engine_software_xcb_cflags=''
+evas_engine_software_xcb_libs=''
+evas_engine_software_xlib_cflags=''
+evas_engine_software_xlib_libs=' -lX11 -lXext'
+evas_engine_xrender_x11_cflags=''
+evas_engine_xrender_x11_libs=' -lX11 -lXext -lX11 -lXext -lXrender'
+evas_engine_xrender_xcb_cflags=''
+evas_engine_xrender_xcb_libs=''
+evas_image_loader_bmp_cflags=''
+evas_image_loader_bmp_libs=''
+evas_image_loader_edb_cflags=''
+evas_image_loader_edb_libs=''
+evas_image_loader_eet_cflags='-I/usr/include/eet-1 -I/usr/include/eina-1 -I/usr/include/eina-1/eina  '
+evas_image_loader_eet_libs='-leet  '
+evas_image_loader_gif_cflags=''
+evas_image_loader_gif_libs='-lgif'
+evas_image_loader_ico_cflags=''
+evas_image_loader_ico_libs=''
+evas_image_loader_jpeg_cflags=''
+evas_image_loader_jpeg_libs='-ljpeg'
+evas_image_loader_pmaps_cflags=''
+evas_image_loader_pmaps_libs=''
+evas_image_loader_png_cflags='-I/usr/include/libpng12  '
+evas_image_loader_png_libs='-lpng12  '
+evas_image_loader_svg_cflags=''
+evas_image_loader_svg_libs=''
+evas_image_loader_tga_cflags=''
+evas_image_loader_tga_libs=''
+evas_image_loader_tiff_cflags=''
+evas_image_loader_tiff_libs=''
+evas_image_loader_wbmp_cflags=''
+evas_image_loader_wbmp_libs=''
+evas_image_loader_xpm_cflags=''
+evas_image_loader_xpm_libs=''
+exec_prefix='${prefix}'
+have_evas_engine_software_xcb='no'
+have_evas_engine_software_xlib='yes'
+host='arm-unknown-linux-gnueabi'
+host_alias=''
+host_cpu='arm'
+host_os='linux-gnueabi'
+host_vendor='unknown'
+htmldir='${docdir}'
+includedir='${prefix}/include'
+infodir='${prefix}/share/info'
+install_sh='${SHELL} /home/jaehwan/slp/tmp2/efl/evas/install-sh'
+libdir='${exec_prefix}/lib'
+libexecdir='${prefix}/lib/evas'
+localedir='${datarootdir}/locale'
+localstatedir='/var'
+lt_ECHO='echo'
+lt_enable_auto_import=''
+mandir='${prefix}/share/man'
+mkdir_p='/bin/mkdir -p'
+oldincludedir='/usr/include'
+pdfdir='${docdir}'
+pkgconfig_requires_private='Requires.private'
+prefix='/usr'
+program_transform_name='s,x,x,'
+psdir='${docdir}'
+pthread_cflags=''
+pthread_libs='-lpthread'
+release_info=''
+requirement_evas='eet >= 1.4.0 harfbuzz fribidi fontconfig freetype2 eina >= 1.0.0 '
+sbindir='${exec_prefix}/sbin'
+sharedstatedir='${prefix}/com'
+sysconfdir='/etc'
+target_alias=''
+version_info='1:999:0'
+
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+
+/* confdefs.h */
+#define PACKAGE_NAME "evas"
+#define PACKAGE_TARNAME "evas"
+#define PACKAGE_VERSION "1.0.999.0"
+#define PACKAGE_STRING "evas 1.0.999.0"
+#define PACKAGE_BUGREPORT "enlightenment-devel@lists.sourceforge.net"
+#define PACKAGE_URL ""
+#define PACKAGE "evas"
+#define VERSION "1.0.999.0"
+#define STDC_HEADERS 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_UNISTD_H 1
+#define __EXTENSIONS__ 1
+#define _ALL_SOURCE 1
+#define _GNU_SOURCE 1
+#define _POSIX_PTHREAD_SEMANTICS 1
+#define _TANDEM_SOURCE 1
+#define HAVE_DLFCN_H 1
+#define LT_OBJDIR ".libs/"
+#define VMAJ 1
+#define VMIN 0
+#define VMIC 999
+#define VREV 0
+#define MODULE_ARCH "linux-gnueabi-arm-1.0.999"
+#define HAVE_FONTCONFIG 1
+#define HAVE_FRIBIDI 1
+#define STDC_HEADERS 1
+#define HAVE_UNISTD_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE___ATTRIBUTE__ 1
+#define __UNUSED__ __attribute__((unused))
+#define HAVE_ALLOCA_H 1
+#define HAVE_ALLOCA 1
+#define HAVE_DLADDR 1
+#define EVAS_CSERVE 1
+#define GLES_VARIETY_SGX 1
+#define BUILD_ENGINE_BUFFER 1
+#define BUILD_ENGINE_SOFTWARE_XLIB 1
+#define HAVE_X11_XLIB_H 1
+#define HAVE_X11_EXTENSIONS_XRENDER_H 1
+#define BUILD_ENGINE_XRENDER_X11 1
+#define GLES_VARIETY_SGX 1
+#define BUILD_ENGINE_GL_X11 1
+#define BUILD_ENGINE_FB 1
+#define BUILD_ENGINE_GL_COMMON 1
+#define BUILD_ENGINE_SOFTWARE_X11 1
+#define BUILD_LOADER_EET 1
+#define BUILD_FONT_LOADER_EET 1
+#define BUILD_LOADER_GIF 1
+#define BUILD_LOADER_JPEG_REGION 1
+#define BUILD_LOADER_JPEG 1
+#define EVAS_BUILD_SAVER_JPEG 1
+#define BUILD_LOADER_PMAPS 1
+#define BUILD_LOADER_PNG 1
+#define BUILD_LOADER_XPM 1
+#define BUILD_LOADER_BMP 1
+#define BUILD_LOADER_TGA 1
+#define BUILD_LOADER_WBMP 1
+#define BUILD_LOADER_ICO 1
+#define HAVE_PTHREAD_H 1
+#define HAVE_SCHED_H 1
+#define BUILD_PTHREAD 1
+#define BUILD_ASYNC_EVENTS 1
+#define BUILD_ASYNC_PRELOAD 1
+#define BUILD_NEON 1
+#define BUILD_C 1
+#define EVAS_MAGIC_DEBUG 1
+#define BUILD_SCALE_SAMPLE 1
+#define BUILD_SCALE_SMOOTH 1
+#define BUILD_CONVERT_YUV 1
+#define BUILD_LINE_DITHER_MASK 1
+#define BUILD_CONVERT_8_RGB_332 1
+#define BUILD_CONVERT_8_RGB_666 1
+#define BUILD_CONVERT_8_RGB_232 1
+#define BUILD_CONVERT_8_RGB_222 1
+#define BUILD_CONVERT_8_RGB_221 1
+#define BUILD_CONVERT_8_RGB_121 1
+#define BUILD_CONVERT_8_RGB_111 1
+#define BUILD_CONVERT_16_RGB_565 1
+#define BUILD_CONVERT_16_BGR_565 1
+#define BUILD_CONVERT_16_RGB_555 1
+#define BUILD_CONVERT_16_RGB_444 1
+#define BUILD_CONVERT_16_RGB_454645 1
+#define BUILD_CONVERT_16_RGB_ROT0 1
+#define BUILD_CONVERT_16_RGB_ROT180 1
+#define BUILD_CONVERT_16_RGB_ROT270 1
+#define BUILD_CONVERT_16_RGB_ROT90 1
+#define BUILD_CONVERT_24_RGB_888 1
+#define BUILD_CONVERT_24_BGR_888 1
+#define BUILD_CONVERT_32_RGB_8888 1
+#define BUILD_CONVERT_32_RGBX_8888 1
+#define BUILD_CONVERT_32_BGR_8888 1
+#define BUILD_CONVERT_32_BGRX_8888 1
+#define BUILD_CONVERT_24_RGB_666 1
+#define BUILD_CONVERT_32_RGB_666 1
+#define BUILD_CONVERT_32_RGB_ROT0 1
+#define BUILD_CONVERT_32_RGB_ROT180 1
+#define BUILD_CONVERT_32_RGB_ROT270 1
+#define BUILD_CONVERT_32_RGB_ROT90 1
+#define BUILD_CONVERT_8_GRY_1 1
+#define BUILD_CONVERT_8_GRY_16 1
+#define BUILD_CONVERT_8_GRAYSCALE_64 1
+
+configure: exit 0
diff --git a/config.status b/config.status
new file mode 100755 (executable)
index 0000000..f0bd6a8
--- /dev/null
@@ -0,0 +1,2747 @@
+#! /bin/sh
+# Generated by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='        ';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+       test -d "$1/.";
+      else
+       case $1 in #(
+       -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by evas $as_me 1.0.999.0, which was
+generated by GNU Autoconf 2.67.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+# Files that config.status was made for.
+config_files=" Makefile evas-directfb.pc evas-fb.pc evas-opengl-glew.pc evas-opengl-x11.pc evas-opengl-sdl.pc evas-quartz.pc evas-software-buffer.pc evas-software-x11.pc evas-software-8-x11.pc evas-software-16-x11.pc evas-xrender-x11.pc evas-xrender-xcb.pc evas-software-gdi.pc evas-software-ddraw.pc evas-software-16-ddraw.pc evas-direct3d.pc evas-software-16-wince.pc evas-software-sdl.pc evas.pc doc/evas.dox doc/Makefile src/Makefile src/bin/Makefile src/lib/Makefile src/lib/canvas/Makefile src/lib/file/Makefile src/lib/cache/Makefile src/lib/cserve/Makefile src/lib/engines/Makefile src/lib/engines/common/Makefile src/lib/engines/common/evas_op_add/Makefile src/lib/engines/common/evas_op_blend/Makefile src/lib/engines/common/evas_op_copy/Makefile src/lib/engines/common/evas_op_mask/Makefile src/lib/engines/common/evas_op_mul/Makefile src/lib/engines/common/evas_op_sub/Makefile src/lib/engines/common_8/Makefile src/lib/engines/common_16/Makefile src/modules/Makefile src/modules/engines/Makefile src/modules/engines/software_generic/Makefile src/modules/engines/software_gdi/Makefile src/modules/engines/software_ddraw/Makefile src/modules/engines/direct3d/Makefile src/modules/engines/software_16_wince/Makefile src/modules/engines/software_x11/Makefile src/modules/engines/fb/Makefile src/modules/engines/buffer/Makefile src/modules/engines/directfb/Makefile src/modules/engines/gl_common/Makefile src/modules/engines/gl_glew/Makefile src/modules/engines/gl_x11/Makefile src/modules/engines/gl_sdl/Makefile src/modules/engines/quartz/Makefile src/modules/engines/xrender_x11/Makefile src/modules/engines/software_sdl/Makefile src/modules/engines/software_8/Makefile src/modules/engines/software_8_x11/Makefile src/modules/engines/software_16/Makefile src/modules/engines/software_16_x11/Makefile src/modules/engines/software_16_ddraw/Makefile src/modules/engines/software_16_sdl/Makefile src/modules/loaders/Makefile src/modules/loaders/edb/Makefile src/modules/loaders/eet/Makefile src/modules/loaders/gif/Makefile src/modules/loaders/jpeg/Makefile src/modules/loaders/png/Makefile src/modules/loaders/tiff/Makefile src/modules/loaders/xpm/Makefile src/modules/loaders/bmp/Makefile src/modules/loaders/ico/Makefile src/modules/loaders/tga/Makefile src/modules/loaders/svg/Makefile src/modules/loaders/pmaps/Makefile src/modules/loaders/wbmp/Makefile src/modules/savers/Makefile src/modules/savers/edb/Makefile src/modules/savers/eet/Makefile src/modules/savers/jpeg/Makefile src/modules/savers/png/Makefile src/modules/savers/tiff/Makefile src/lib/include/Makefile src/examples/Makefile README evas.spec"
+config_headers=" config.h"
+config_commands=" depfiles libtool"
+
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+      --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <enlightenment-devel@lists.sourceforge.net>."
+
+ac_cs_config="'-C' '--build=arm-linux-gnueabi' '--prefix=/usr' '--includedir=\${prefix}/include' '--mandir=\${prefix}/share/man' '--infodir=\${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=\${prefix}/lib/evas' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--srcdir=.' '--disable-image-loader-svg' '--enable-simple-x11' '--with-x' '--enable-fb' '--enable-xrender-x11' '--enable-line-dither-mask' '--disable-image-loader-edb' '--disable-rpath' '--enable-pthreads' '--enable-cpu-neon' '--enable-winkcodec=yes' '--enable-gl-x11' '--enable-gl-flavor-gles' '--enable-gles-variety-sgx' 'build_alias=arm-linux-gnueabi' 'CFLAGS=-g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC' 'LDFLAGS= -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed' 'CPPFLAGS=' 'CXXFLAGS=-g -O2 -g -Wall -O2' 'PKG_CONFIG_PATH=/home/jaehwan/sbs/target-armel/usr/lib/pkgconfig:/home/jaehwan/sbs/target-armel/usr/share/pkgconfig:/home/jaehwan/sbs/tools/usr/share/pkgconfig'"
+ac_cs_version="\
+evas config.status 1.0.999.0
+configured by ./configure, generated by GNU Autoconf 2.67,
+  with options \"$ac_cs_config\"
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='/home/jaehwan/slp/tmp2/efl/evas'
+srcdir='.'
+INSTALL='/usr/bin/install -c'
+MKDIR_P='/bin/mkdir -p'
+AWK='gawk'
+test -n "$AWK" || AWK=awk
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=?*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+if $ac_cs_recheck; then
+  set X '/bin/sh' './configure'  '-C' '--build=arm-linux-gnueabi' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/evas' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--srcdir=.' '--disable-image-loader-svg' '--enable-simple-x11' '--with-x' '--enable-fb' '--enable-xrender-x11' '--enable-line-dither-mask' '--disable-image-loader-edb' '--disable-rpath' '--enable-pthreads' '--enable-cpu-neon' '--enable-winkcodec=yes' '--enable-gl-x11' '--enable-gl-flavor-gles' '--enable-gles-variety-sgx' 'build_alias=arm-linux-gnueabi' 'CFLAGS=-g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC' 'LDFLAGS= -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed' 'CPPFLAGS=' 'CXXFLAGS=-g -O2 -g -Wall -O2' 'PKG_CONFIG_PATH=/home/jaehwan/sbs/target-armel/usr/lib/pkgconfig:/home/jaehwan/sbs/target-armel/usr/share/pkgconfig:/home/jaehwan/sbs/tools/usr/share/pkgconfig' $ac_configure_extra_args --no-create --no-recursion
+  shift
+  $as_echo "running CONFIG_SHELL=/bin/sh $*" >&6
+  CONFIG_SHELL='/bin/sh'
+  export CONFIG_SHELL
+  exec "$@"
+fi
+
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="#" ac_aux_dir="."
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+AS='as'
+DLLTOOL='dlltool'
+OBJDUMP='objdump'
+macro_version='2.2.6b'
+macro_revision='1.3017'
+enable_shared='yes'
+enable_static='yes'
+pic_mode='default'
+enable_fast_install='yes'
+host_alias=''
+host='arm-unknown-linux-gnueabi'
+host_os='linux-gnueabi'
+build_alias='arm-linux-gnueabi'
+build='arm-unknown-linux-gnueabi'
+build_os='linux-gnueabi'
+SED='/bin/sed'
+Xsed='/bin/sed -e 1s/^X//'
+GREP='/bin/grep'
+EGREP='/bin/grep -E'
+FGREP='/bin/grep -F'
+LD='/usr/arm-linux-gnueabi/bin/ld'
+NM='/usr/bin/nm -B'
+LN_S='ln -s'
+max_cmd_len='1572864'
+ac_objext='o'
+exeext=''
+lt_unset='unset'
+lt_SP2NL='tr \040 \012'
+lt_NL2SP='tr \015\012 \040\040'
+reload_flag=' -r'
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+deplibs_check_method='pass_all'
+file_magic_cmd='$MAGIC_CMD'
+AR='ar'
+AR_FLAGS='cru'
+STRIP='strip'
+RANLIB='ranlib'
+old_postinstall_cmds='chmod 644 $oldlib~$RANLIB $oldlib'
+old_postuninstall_cmds=''
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $oldlib'
+CC='gcc'
+CFLAGS='-g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC'
+compiler='g++'
+GCC='yes'
+lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[      ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[         ][      ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\'''
+lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^T .* \(.*\)$/extern int \1();/p'\'' -e '\''s/^[ABCDGIRSTW]* .* \(.*\)$/extern char \1;/p'\'''
+lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"\2", (void *) \&\2},/p'\'''
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='sed -n -e '\''s/^: \([^ ]*\) $/  {\"\1\", (void *) 0},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \(lib[^ ]*\)$/  {"\2", (void *) \&\2},/p'\'' -e '\''s/^[ABCDGIRSTW]* \([^ ]*\) \([^ ]*\)$/  {"lib\2", (void *) \&\2},/p'\'''
+objdir='.libs'
+SHELL='/bin/sh'
+ECHO='echo'
+MAGIC_CMD='file'
+lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+lt_prog_compiler_wl='-Wl,'
+lt_prog_compiler_pic=' -fPIC -DPIC'
+lt_prog_compiler_static='-static'
+lt_cv_prog_compiler_c_o='yes'
+need_locks='no'
+DSYMUTIL=''
+NMEDIT=''
+LIPO=''
+OTOOL=''
+OTOOL64=''
+libext='a'
+shrext_cmds='.so'
+extract_expsyms_cmds=''
+archive_cmds_need_lc='no'
+enable_shared_with_static_runtimes='no'
+export_dynamic_flag_spec='${wl}--export-dynamic'
+whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+compiler_needs_object='no'
+old_archive_from_new_cmds=''
+old_archive_from_expsyms_cmds=''
+archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+           echo "local: *; };" >> $output_objdir/$libname.ver~
+           $CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+module_cmds=''
+module_expsym_cmds=''
+with_gnu_ld='yes'
+allow_undefined_flag=''
+no_undefined_flag=''
+hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+hardcode_libdir_flag_spec_ld=''
+hardcode_libdir_separator=''
+hardcode_direct='no'
+hardcode_direct_absolute='no'
+hardcode_minus_L='no'
+hardcode_shlibpath_var='unsupported'
+hardcode_automatic='no'
+inherit_rpath='no'
+link_all_deplibs='no'
+fix_srcfile_path=''
+always_export_symbols='no'
+export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+include_expsyms=''
+prelink_cmds=''
+file_list_spec=''
+variables_saved_for_relink='PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH'
+need_lib_prefix='no'
+need_version='no'
+version_type='linux'
+runpath_var='LD_RUN_PATH'
+shlibpath_var='LD_LIBRARY_PATH'
+shlibpath_overrides_runpath='no'
+libname_spec='lib$name'
+library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+soname_spec='${libname}${release}${shared_ext}$major'
+postinstall_cmds=''
+postuninstall_cmds=''
+finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+finish_eval=''
+hardcode_into_libs='yes'
+sys_lib_search_path_spec='/usr/lib/gcc/arm-linux-gnueabi/4.5.2 /usr/arm-linux-gnueabi/lib'
+sys_lib_dlsearch_path_spec='/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib '
+hardcode_action='immediate'
+enable_dlopen='unknown'
+enable_dlopen_self='unknown'
+enable_dlopen_self_static='unknown'
+old_striplib='strip --strip-debug'
+striplib='strip --strip-unneeded'
+compiler_lib_search_dirs=''
+predep_objects=''
+postdep_objects=''
+predeps=''
+postdeps=''
+compiler_lib_search_path=''
+LD_CXX='/usr/arm-linux-gnueabi/bin/ld'
+old_archive_cmds_CXX='$AR $AR_FLAGS $oldlib$oldobjs~$RANLIB $oldlib'
+compiler_CXX='g++'
+GCC_CXX='yes'
+lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+lt_prog_compiler_wl_CXX='-Wl,'
+lt_prog_compiler_pic_CXX=' -fPIC -DPIC'
+lt_prog_compiler_static_CXX='-static'
+lt_cv_prog_compiler_c_o_CXX='yes'
+archive_cmds_need_lc_CXX='no'
+enable_shared_with_static_runtimes_CXX='no'
+export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+compiler_needs_object_CXX='no'
+old_archive_from_new_cmds_CXX=''
+old_archive_from_expsyms_cmds_CXX=''
+archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+module_cmds_CXX=''
+module_expsym_cmds_CXX=''
+with_gnu_ld_CXX='yes'
+allow_undefined_flag_CXX=''
+no_undefined_flag_CXX=''
+hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+hardcode_libdir_flag_spec_ld_CXX=''
+hardcode_libdir_separator_CXX=''
+hardcode_direct_CXX='no'
+hardcode_direct_absolute_CXX='no'
+hardcode_minus_L_CXX='no'
+hardcode_shlibpath_var_CXX='unsupported'
+hardcode_automatic_CXX='no'
+inherit_rpath_CXX='no'
+link_all_deplibs_CXX='no'
+fix_srcfile_path_CXX=''
+always_export_symbols_CXX='no'
+export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+include_expsyms_CXX=''
+prelink_cmds_CXX=''
+file_list_spec_CXX=''
+hardcode_action_CXX='immediate'
+compiler_lib_search_dirs_CXX='/home/jaehwan/sbs/target-armel/usr/lib /home/jaehwan/sbs/target-armel/lib /usr/lib/gcc/arm-linux-gnueabi/4.5.2 /usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/lib'
+predep_objects_CXX='/usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/lib/crti.o /usr/lib/gcc/arm-linux-gnueabi/4.5.2/crtbeginS.o'
+postdep_objects_CXX='/usr/lib/gcc/arm-linux-gnueabi/4.5.2/crtendS.o /usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/lib/crtn.o'
+predeps_CXX=''
+postdeps_CXX='-lstdc++ -lm -lgcc_s -lc -lgcc_s'
+compiler_lib_search_path_CXX='-L/home/jaehwan/sbs/target-armel/usr/lib -L/home/jaehwan/sbs/target-armel/lib -L/usr/lib/gcc/arm-linux-gnueabi/4.5.2 -L/usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/lib'
+
+LTCC='gcc'
+LTCFLAGS='-g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC'
+compiler='gcc'
+
+# Quote evaled strings.
+for var in SED GREP EGREP FGREP LD NM LN_S lt_SP2NL lt_NL2SP reload_flag deplibs_check_method file_magic_cmd AR AR_FLAGS STRIP RANLIB CC CFLAGS compiler lt_cv_sys_global_symbol_pipe lt_cv_sys_global_symbol_to_cdecl lt_cv_sys_global_symbol_to_c_name_address lt_cv_sys_global_symbol_to_c_name_address_lib_prefix SHELL ECHO lt_prog_compiler_no_builtin_flag lt_prog_compiler_wl lt_prog_compiler_pic lt_prog_compiler_static lt_cv_prog_compiler_c_o need_locks DSYMUTIL NMEDIT LIPO OTOOL OTOOL64 shrext_cmds export_dynamic_flag_spec whole_archive_flag_spec compiler_needs_object with_gnu_ld allow_undefined_flag no_undefined_flag hardcode_libdir_flag_spec hardcode_libdir_flag_spec_ld hardcode_libdir_separator fix_srcfile_path exclude_expsyms include_expsyms file_list_spec variables_saved_for_relink libname_spec library_names_spec soname_spec finish_eval old_striplib striplib compiler_lib_search_dirs predep_objects postdep_objects predeps postdeps compiler_lib_search_path LD_CXX compiler_CXX lt_prog_compiler_no_builtin_flag_CXX lt_prog_compiler_wl_CXX lt_prog_compiler_pic_CXX lt_prog_compiler_static_CXX lt_cv_prog_compiler_c_o_CXX export_dynamic_flag_spec_CXX whole_archive_flag_spec_CXX compiler_needs_object_CXX with_gnu_ld_CXX allow_undefined_flag_CXX no_undefined_flag_CXX hardcode_libdir_flag_spec_CXX hardcode_libdir_flag_spec_ld_CXX hardcode_libdir_separator_CXX fix_srcfile_path_CXX exclude_expsyms_CXX include_expsyms_CXX file_list_spec_CXX compiler_lib_search_dirs_CXX predep_objects_CXX postdep_objects_CXX predeps_CXX postdeps_CXX compiler_lib_search_path_CXX; do
+    case `eval \\$ECHO "X\\$$var"` in
+    *[\\\`\"\$]*)
+      eval "lt_$var=\\\"\`\$ECHO \"X\$$var\" | \$Xsed -e \"\$sed_quote_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\$$var\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds old_postinstall_cmds old_postuninstall_cmds old_archive_cmds extract_expsyms_cmds old_archive_from_new_cmds old_archive_from_expsyms_cmds archive_cmds archive_expsym_cmds module_cmds module_expsym_cmds export_symbols_cmds prelink_cmds postinstall_cmds postuninstall_cmds finish_cmds sys_lib_search_path_spec sys_lib_dlsearch_path_spec old_archive_cmds_CXX old_archive_from_new_cmds_CXX old_archive_from_expsyms_cmds_CXX archive_cmds_CXX archive_expsym_cmds_CXX module_cmds_CXX module_expsym_cmds_CXX export_symbols_cmds_CXX prelink_cmds_CXX; do
+    case `eval \\$ECHO "X\\$$var"` in
+    *[\\\`\"\$]*)
+      eval "lt_$var=\\\"\`\$ECHO \"X\$$var\" | \$Xsed -e \"\$double_quote_subst\" -e \"\$sed_quote_subst\" -e \"\$delay_variable_subst\"\`\\\""
+      ;;
+    *)
+      eval "lt_$var=\\\"\$$var\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case $lt_ECHO in
+*'\$0 --fallback-echo"')  lt_ECHO=`$ECHO "X$lt_ECHO" | $Xsed -e 's/\\\\\\\$0 --fallback-echo"$/$0 --fallback-echo"/'`
+  ;;
+esac
+
+ac_aux_dir='.'
+xsi_shell='yes'
+lt_shell_append='yes'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+
+    PACKAGE='evas'
+    VERSION='1.0.999.0'
+    TIMESTAMP=''
+    RM='rm -f'
+    ofile='libtool'
+
+
+
+
+
+
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "evas-directfb.pc") CONFIG_FILES="$CONFIG_FILES evas-directfb.pc" ;;
+    "evas-fb.pc") CONFIG_FILES="$CONFIG_FILES evas-fb.pc" ;;
+    "evas-opengl-glew.pc") CONFIG_FILES="$CONFIG_FILES evas-opengl-glew.pc" ;;
+    "evas-opengl-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-opengl-x11.pc" ;;
+    "evas-opengl-sdl.pc") CONFIG_FILES="$CONFIG_FILES evas-opengl-sdl.pc" ;;
+    "evas-quartz.pc") CONFIG_FILES="$CONFIG_FILES evas-quartz.pc" ;;
+    "evas-software-buffer.pc") CONFIG_FILES="$CONFIG_FILES evas-software-buffer.pc" ;;
+    "evas-software-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-software-x11.pc" ;;
+    "evas-software-8-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-software-8-x11.pc" ;;
+    "evas-software-16-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-software-16-x11.pc" ;;
+    "evas-xrender-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-xrender-x11.pc" ;;
+    "evas-xrender-xcb.pc") CONFIG_FILES="$CONFIG_FILES evas-xrender-xcb.pc" ;;
+    "evas-software-gdi.pc") CONFIG_FILES="$CONFIG_FILES evas-software-gdi.pc" ;;
+    "evas-software-ddraw.pc") CONFIG_FILES="$CONFIG_FILES evas-software-ddraw.pc" ;;
+    "evas-software-16-ddraw.pc") CONFIG_FILES="$CONFIG_FILES evas-software-16-ddraw.pc" ;;
+    "evas-direct3d.pc") CONFIG_FILES="$CONFIG_FILES evas-direct3d.pc" ;;
+    "evas-software-16-wince.pc") CONFIG_FILES="$CONFIG_FILES evas-software-16-wince.pc" ;;
+    "evas-software-sdl.pc") CONFIG_FILES="$CONFIG_FILES evas-software-sdl.pc" ;;
+    "evas.pc") CONFIG_FILES="$CONFIG_FILES evas.pc" ;;
+    "doc/evas.dox") CONFIG_FILES="$CONFIG_FILES doc/evas.dox" ;;
+    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "src/bin/Makefile") CONFIG_FILES="$CONFIG_FILES src/bin/Makefile" ;;
+    "src/lib/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/Makefile" ;;
+    "src/lib/canvas/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/canvas/Makefile" ;;
+    "src/lib/file/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/file/Makefile" ;;
+    "src/lib/cache/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/cache/Makefile" ;;
+    "src/lib/cserve/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/cserve/Makefile" ;;
+    "src/lib/engines/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/Makefile" ;;
+    "src/lib/engines/common/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/Makefile" ;;
+    "src/lib/engines/common/evas_op_add/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_add/Makefile" ;;
+    "src/lib/engines/common/evas_op_blend/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_blend/Makefile" ;;
+    "src/lib/engines/common/evas_op_copy/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_copy/Makefile" ;;
+    "src/lib/engines/common/evas_op_mask/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_mask/Makefile" ;;
+    "src/lib/engines/common/evas_op_mul/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_mul/Makefile" ;;
+    "src/lib/engines/common/evas_op_sub/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_sub/Makefile" ;;
+    "src/lib/engines/common_8/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common_8/Makefile" ;;
+    "src/lib/engines/common_16/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common_16/Makefile" ;;
+    "src/modules/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/Makefile" ;;
+    "src/modules/engines/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/Makefile" ;;
+    "src/modules/engines/software_generic/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_generic/Makefile" ;;
+    "src/modules/engines/software_gdi/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_gdi/Makefile" ;;
+    "src/modules/engines/software_ddraw/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_ddraw/Makefile" ;;
+    "src/modules/engines/direct3d/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/direct3d/Makefile" ;;
+    "src/modules/engines/software_16_wince/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16_wince/Makefile" ;;
+    "src/modules/engines/software_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_x11/Makefile" ;;
+    "src/modules/engines/fb/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/fb/Makefile" ;;
+    "src/modules/engines/buffer/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/buffer/Makefile" ;;
+    "src/modules/engines/directfb/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/directfb/Makefile" ;;
+    "src/modules/engines/gl_common/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/gl_common/Makefile" ;;
+    "src/modules/engines/gl_glew/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/gl_glew/Makefile" ;;
+    "src/modules/engines/gl_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/gl_x11/Makefile" ;;
+    "src/modules/engines/gl_sdl/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/gl_sdl/Makefile" ;;
+    "src/modules/engines/quartz/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/quartz/Makefile" ;;
+    "src/modules/engines/xrender_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/xrender_x11/Makefile" ;;
+    "src/modules/engines/software_sdl/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_sdl/Makefile" ;;
+    "src/modules/engines/software_8/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_8/Makefile" ;;
+    "src/modules/engines/software_8_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_8_x11/Makefile" ;;
+    "src/modules/engines/software_16/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16/Makefile" ;;
+    "src/modules/engines/software_16_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16_x11/Makefile" ;;
+    "src/modules/engines/software_16_ddraw/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16_ddraw/Makefile" ;;
+    "src/modules/engines/software_16_sdl/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16_sdl/Makefile" ;;
+    "src/modules/loaders/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/Makefile" ;;
+    "src/modules/loaders/edb/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/edb/Makefile" ;;
+    "src/modules/loaders/eet/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/eet/Makefile" ;;
+    "src/modules/loaders/gif/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/gif/Makefile" ;;
+    "src/modules/loaders/jpeg/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/jpeg/Makefile" ;;
+    "src/modules/loaders/png/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/png/Makefile" ;;
+    "src/modules/loaders/tiff/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/tiff/Makefile" ;;
+    "src/modules/loaders/xpm/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/xpm/Makefile" ;;
+    "src/modules/loaders/bmp/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/bmp/Makefile" ;;
+    "src/modules/loaders/ico/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/ico/Makefile" ;;
+    "src/modules/loaders/tga/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/tga/Makefile" ;;
+    "src/modules/loaders/svg/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/svg/Makefile" ;;
+    "src/modules/loaders/pmaps/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/pmaps/Makefile" ;;
+    "src/modules/loaders/wbmp/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/wbmp/Makefile" ;;
+    "src/modules/savers/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/Makefile" ;;
+    "src/modules/savers/edb/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/edb/Makefile" ;;
+    "src/modules/savers/eet/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/eet/Makefile" ;;
+    "src/modules/savers/jpeg/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/jpeg/Makefile" ;;
+    "src/modules/savers/png/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/png/Makefile" ;;
+    "src/modules/savers/tiff/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/tiff/Makefile" ;;
+    "src/lib/include/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/include/Makefile" ;;
+    "src/examples/Makefile") CONFIG_FILES="$CONFIG_FILES src/examples/Makefile" ;;
+    "README") CONFIG_FILES="$CONFIG_FILES README" ;;
+    "evas.spec") CONFIG_FILES="$CONFIG_FILES evas.spec" ;;
+
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+cat >>"$tmp/subs1.awk" <<\_ACAWK &&
+S["am__EXEEXT_FALSE"]=""
+S["am__EXEEXT_TRUE"]="#"
+S["LTLIBOBJS"]=""
+S["LIBOBJS"]=""
+S["requirement_evas"]="eet >= 1.4.0 harfbuzz fribidi fontconfig freetype2 eina >= 1.0.0 "
+S["pthread_libs"]="-lpthread"
+S["pthread_cflags"]=""
+S["altivec_cflags"]=""
+S["BUILD_EXAMPLES_FALSE"]=""
+S["BUILD_EXAMPLES_TRUE"]="#"
+S["INSTALL_EXAMPLES_FALSE"]="#"
+S["INSTALL_EXAMPLES_TRUE"]=""
+S["VALGRIND_LIBS"]=""
+S["VALGRIND_CFLAGS"]=""
+S["METRIC_CACHE_FALSE"]=""
+S["METRIC_CACHE_TRUE"]="#"
+S["WORD_CACHE_FALSE"]=""
+S["WORD_CACHE_TRUE"]="#"
+S["EVAS_MAGIC_DEBUG_FALSE"]="#"
+S["EVAS_MAGIC_DEBUG_TRUE"]=""
+S["XEXT_LIBS"]=""
+S["XEXT_CFLAGS"]=""
+S["EVAS_STATIC_BUILD_ICO_FALSE"]=""
+S["EVAS_STATIC_BUILD_ICO_TRUE"]="#"
+S["BUILD_LOADER_ICO_FALSE"]="#"
+S["BUILD_LOADER_ICO_TRUE"]=""
+S["evas_image_loader_ico_libs"]=""
+S["evas_image_loader_ico_cflags"]=""
+S["EVAS_STATIC_BUILD_WBMP_FALSE"]=""
+S["EVAS_STATIC_BUILD_WBMP_TRUE"]="#"
+S["BUILD_LOADER_WBMP_FALSE"]="#"
+S["BUILD_LOADER_WBMP_TRUE"]=""
+S["evas_image_loader_wbmp_libs"]=""
+S["evas_image_loader_wbmp_cflags"]=""
+S["EVAS_STATIC_BUILD_TGA_FALSE"]=""
+S["EVAS_STATIC_BUILD_TGA_TRUE"]="#"
+S["BUILD_LOADER_TGA_FALSE"]="#"
+S["BUILD_LOADER_TGA_TRUE"]=""
+S["evas_image_loader_tga_libs"]=""
+S["evas_image_loader_tga_cflags"]=""
+S["EVAS_STATIC_BUILD_BMP_FALSE"]=""
+S["EVAS_STATIC_BUILD_BMP_TRUE"]="#"
+S["BUILD_LOADER_BMP_FALSE"]="#"
+S["BUILD_LOADER_BMP_TRUE"]=""
+S["evas_image_loader_bmp_libs"]=""
+S["evas_image_loader_bmp_cflags"]=""
+S["EVAS_STATIC_BUILD_XPM_FALSE"]=""
+S["EVAS_STATIC_BUILD_XPM_TRUE"]="#"
+S["BUILD_LOADER_XPM_FALSE"]="#"
+S["BUILD_LOADER_XPM_TRUE"]=""
+S["evas_image_loader_xpm_libs"]=""
+S["evas_image_loader_xpm_cflags"]=""
+S["EVAS_STATIC_BUILD_TIFF_FALSE"]=""
+S["EVAS_STATIC_BUILD_TIFF_TRUE"]="#"
+S["BUILD_LOADER_TIFF_FALSE"]=""
+S["BUILD_LOADER_TIFF_TRUE"]="#"
+S["evas_image_loader_tiff_libs"]=""
+S["evas_image_loader_tiff_cflags"]=""
+S["EVAS_STATIC_BUILD_SVG_FALSE"]=""
+S["EVAS_STATIC_BUILD_SVG_TRUE"]="#"
+S["BUILD_LOADER_SVG_FALSE"]=""
+S["BUILD_LOADER_SVG_TRUE"]="#"
+S["evas_image_loader_svg_libs"]=""
+S["evas_image_loader_svg_cflags"]=""
+S["SVG_LIBS"]=""
+S["SVG_CFLAGS"]=""
+S["EVAS_STATIC_BUILD_PNG_FALSE"]=""
+S["EVAS_STATIC_BUILD_PNG_TRUE"]="#"
+S["BUILD_LOADER_PNG_FALSE"]="#"
+S["BUILD_LOADER_PNG_TRUE"]=""
+S["evas_image_loader_png_libs"]="-lpng12  "
+S["evas_image_loader_png_cflags"]="-I/usr/include/libpng12  "
+S["PNG_LIBS"]="-lpng12  "
+S["PNG_CFLAGS"]="-I/usr/include/libpng12  "
+S["EVAS_STATIC_BUILD_PMAPS_FALSE"]=""
+S["EVAS_STATIC_BUILD_PMAPS_TRUE"]="#"
+S["BUILD_LOADER_PMAPS_FALSE"]="#"
+S["BUILD_LOADER_PMAPS_TRUE"]=""
+S["evas_image_loader_pmaps_libs"]=""
+S["evas_image_loader_pmaps_cflags"]=""
+S["BUILD_SAVER_JPEG_FALSE"]="#"
+S["BUILD_SAVER_JPEG_TRUE"]=""
+S["EVAS_STATIC_BUILD_JPEG_FALSE"]=""
+S["EVAS_STATIC_BUILD_JPEG_TRUE"]="#"
+S["BUILD_LOADER_JPEG_FALSE"]="#"
+S["BUILD_LOADER_JPEG_TRUE"]=""
+S["evas_image_loader_jpeg_libs"]="-ljpeg"
+S["evas_image_loader_jpeg_cflags"]=""
+S["EVAS_STATIC_BUILD_GIF_FALSE"]=""
+S["EVAS_STATIC_BUILD_GIF_TRUE"]="#"
+S["BUILD_LOADER_GIF_FALSE"]="#"
+S["BUILD_LOADER_GIF_TRUE"]=""
+S["evas_image_loader_gif_libs"]="-lgif"
+S["evas_image_loader_gif_cflags"]=""
+S["EVAS_STATIC_BUILD_EET_FALSE"]=""
+S["EVAS_STATIC_BUILD_EET_TRUE"]="#"
+S["BUILD_LOADER_EET_FALSE"]="#"
+S["BUILD_LOADER_EET_TRUE"]=""
+S["evas_image_loader_eet_libs"]="-leet  "
+S["evas_image_loader_eet_cflags"]="-I/usr/include/eet-1 -I/usr/include/eina-1 -I/usr/include/eina-1/eina  "
+S["EET_LIBS"]="-leet  "
+S["EET_CFLAGS"]="-I/usr/include/eet-1 -I/usr/include/eina-1 -I/usr/include/eina-1/eina  "
+S["EVAS_STATIC_BUILD_EDB_FALSE"]=""
+S["EVAS_STATIC_BUILD_EDB_TRUE"]="#"
+S["BUILD_LOADER_EDB_FALSE"]=""
+S["BUILD_LOADER_EDB_TRUE"]="#"
+S["evas_image_loader_edb_libs"]=""
+S["evas_image_loader_edb_cflags"]=""
+S["EDB_LIBS"]=""
+S["EDB_CFLAGS"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_8_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_8_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_8_FALSE"]=""
+S["BUILD_ENGINE_SOFTWARE_8_TRUE"]="#"
+S["EVAS_STATIC_BUILD_SOFTWARE_16_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_16_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_16_FALSE"]=""
+S["BUILD_ENGINE_SOFTWARE_16_TRUE"]="#"
+S["have_evas_engine_software_xcb"]="no"
+S["have_evas_engine_software_xlib"]="yes"
+S["EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_X11_FALSE"]="#"
+S["BUILD_ENGINE_SOFTWARE_X11_TRUE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE"]="#"
+S["EVAS_STATIC_BUILD_GL_COMMON_FALSE"]=""
+S["EVAS_STATIC_BUILD_GL_COMMON_TRUE"]="#"
+S["BUILD_ENGINE_GL_COMMON_FALSE"]="#"
+S["BUILD_ENGINE_GL_COMMON_TRUE"]=""
+S["evas_engine_gl_common_libs"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE"]=""
+S["BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE"]="#"
+S["evas_engine_software_16_wince_libs"]=""
+S["evas_engine_software_16_wince_cflags"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE"]=""
+S["BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE"]="#"
+S["evas_engine_software_16_ddraw_libs"]=""
+S["evas_engine_software_16_ddraw_cflags"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_16_X11_FALSE"]=""
+S["BUILD_ENGINE_SOFTWARE_16_X11_TRUE"]="#"
+S["evas_engine_software_16_x11_libs"]=""
+S["evas_engine_software_16_x11_cflags"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_8_X11_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_8_X11_FALSE"]=""
+S["BUILD_ENGINE_SOFTWARE_8_X11_TRUE"]="#"
+S["evas_engine_software_8_x11_libs"]=""
+S["evas_engine_software_8_x11_cflags"]=""
+S["EVAS_STATIC_BUILD_DIRECTFB_FALSE"]=""
+S["EVAS_STATIC_BUILD_DIRECTFB_TRUE"]="#"
+S["BUILD_ENGINE_DIRECTFB_FALSE"]=""
+S["BUILD_ENGINE_DIRECTFB_TRUE"]="#"
+S["evas_engine_directfb_libs"]=""
+S["evas_engine_directfb_cflags"]=""
+S["DIRECTFB_LIBS"]=""
+S["DIRECTFB_CFLAGS"]=""
+S["EVAS_STATIC_BUILD_FB_FALSE"]=""
+S["EVAS_STATIC_BUILD_FB_TRUE"]="#"
+S["BUILD_ENGINE_FB_FALSE"]="#"
+S["BUILD_ENGINE_FB_TRUE"]=""
+S["evas_engine_fb_libs"]=""
+S["evas_engine_fb_cflags"]=""
+S["EVAS_STATIC_BUILD_GL_SDL_FALSE"]=""
+S["EVAS_STATIC_BUILD_GL_SDL_TRUE"]="#"
+S["BUILD_ENGINE_GL_SDL_FALSE"]=""
+S["BUILD_ENGINE_GL_SDL_TRUE"]="#"
+S["evas_engine_gl_sdl_libs"]=""
+S["evas_engine_gl_sdl_cflags"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_SDL_FALSE"]=""
+S["BUILD_ENGINE_SOFTWARE_SDL_TRUE"]="#"
+S["evas_engine_software_sdl_libs"]=""
+S["evas_engine_software_sdl_cflags"]=""
+S["SDL_LIBS"]=""
+S["SDL_CFLAGS"]=""
+S["EVAS_STATIC_BUILD_GL_GLEW_FALSE"]=""
+S["EVAS_STATIC_BUILD_GL_GLEW_TRUE"]="#"
+S["BUILD_ENGINE_GL_GLEW_FALSE"]=""
+S["BUILD_ENGINE_GL_GLEW_TRUE"]="#"
+S["evas_engine_gl_glew_libs"]=""
+S["evas_engine_gl_glew_cflags"]=""
+S["EVAS_STATIC_BUILD_QUARTZ_FALSE"]=""
+S["EVAS_STATIC_BUILD_QUARTZ_TRUE"]="#"
+S["BUILD_ENGINE_QUARTZ_FALSE"]=""
+S["BUILD_ENGINE_QUARTZ_TRUE"]="#"
+S["evas_engine_quartz_libs"]=""
+S["evas_engine_quartz_cflags"]=""
+S["OBJCPP"]=""
+S["EVAS_STATIC_BUILD_DIRECT3D_FALSE"]=""
+S["EVAS_STATIC_BUILD_DIRECT3D_TRUE"]="#"
+S["BUILD_ENGINE_DIRECT3D_FALSE"]=""
+S["BUILD_ENGINE_DIRECT3D_TRUE"]="#"
+S["evas_engine_direct3d_libs"]=""
+S["evas_engine_direct3d_cflags"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_DDRAW_FALSE"]=""
+S["BUILD_ENGINE_SOFTWARE_DDRAW_TRUE"]="#"
+S["evas_engine_software_ddraw_libs"]=""
+S["evas_engine_software_ddraw_cflags"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_GDI_FALSE"]=""
+S["BUILD_ENGINE_SOFTWARE_GDI_TRUE"]="#"
+S["evas_engine_software_gdi_libs"]=""
+S["evas_engine_software_gdi_cflags"]=""
+S["EVAS_STATIC_BUILD_XRENDER_XCB_FALSE"]=""
+S["EVAS_STATIC_BUILD_XRENDER_XCB_TRUE"]="#"
+S["BUILD_ENGINE_XRENDER_XCB_FALSE"]=""
+S["BUILD_ENGINE_XRENDER_XCB_TRUE"]="#"
+S["evas_engine_xrender_xcb_libs"]=""
+S["evas_engine_xrender_xcb_cflags"]=""
+S["XCBRENDER_LIBS"]=""
+S["XCBRENDER_CFLAGS"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_XCB_FALSE"]=""
+S["BUILD_ENGINE_SOFTWARE_XCB_TRUE"]="#"
+S["evas_engine_software_xcb_libs"]=""
+S["evas_engine_software_xcb_cflags"]=""
+S["XCB_LIBS"]=""
+S["XCB_CFLAGS"]=""
+S["EVAS_STATIC_BUILD_GL_X11_FALSE"]=""
+S["EVAS_STATIC_BUILD_GL_X11_TRUE"]="#"
+S["BUILD_ENGINE_GL_X11_FALSE"]="#"
+S["BUILD_ENGINE_GL_X11_TRUE"]=""
+S["evas_engine_gl_x11_libs"]=" -lX11 -lXext -lX11 -lXext -lX11 -lXext -lXrender -lGLESv2 -lEGL -lm  -lpthread"
+S["evas_engine_gl_x11_cflags"]=""
+S["EVAS_STATIC_BUILD_XRENDER_X11_FALSE"]=""
+S["EVAS_STATIC_BUILD_XRENDER_X11_TRUE"]="#"
+S["BUILD_ENGINE_XRENDER_X11_FALSE"]="#"
+S["BUILD_ENGINE_XRENDER_X11_TRUE"]=""
+S["evas_engine_xrender_x11_libs"]=" -lX11 -lXext -lX11 -lXext -lXrender"
+S["evas_engine_xrender_x11_cflags"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE"]=""
+S["EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE"]="#"
+S["BUILD_ENGINE_SOFTWARE_XLIB_FALSE"]="#"
+S["BUILD_ENGINE_SOFTWARE_XLIB_TRUE"]=""
+S["evas_engine_software_xlib_libs"]=" -lX11 -lXext"
+S["evas_engine_software_xlib_cflags"]=""
+S["X_EXTRA_LIBS"]=""
+S["X_LIBS"]=""
+S["X_PRE_LIBS"]=" -lSM -lICE -lSM -lICE -lSM -lICE"
+S["X_CFLAGS"]=""
+S["XMKMF"]=""
+S["EVAS_STATIC_BUILD_BUFFER_FALSE"]=""
+S["EVAS_STATIC_BUILD_BUFFER_TRUE"]="#"
+S["BUILD_ENGINE_BUFFER_FALSE"]="#"
+S["BUILD_ENGINE_BUFFER_TRUE"]=""
+S["evas_engine_buffer_libs"]=""
+S["evas_engine_buffer_cflags"]=""
+S["EVAS_CSERVE_FALSE"]="#"
+S["EVAS_CSERVE_TRUE"]=""
+S["dlopen_libs"]="-ldl"
+S["EFL_FNMATCH_LIBS"]=""
+S["ALLOCA"]=""
+S["lt_enable_auto_import"]=""
+S["WIN32_CFLAGS"]=""
+S["WIN32_CPPFLAGS"]=""
+S["HARFBUZZ_LIBS"]="-lharfbuzz  "
+S["HARFBUZZ_CFLAGS"]="-I/usr/include/harfbuzz  "
+S["FRIBIDI_LIBS"]="-lfribidi  "
+S["FRIBIDI_CFLAGS"]="-I/usr/include/fribidi  "
+S["FONTCONFIG_LIBS"]="-L//usr/lib -lfontconfig  "
+S["FONTCONFIG_CFLAGS"]="-I//usr/include  "
+S["FREETYPE_LIBS"]="-lfreetype  "
+S["FREETYPE_CFLAGS"]="-I/usr/include/freetype2  "
+S["EINA_LIBS"]="-leina  "
+S["EINA_CFLAGS"]="-I/usr/include/eina-1 -I/usr/include/eina-1/eina  "
+S["EVIL_LIBS"]=""
+S["EVIL_CFLAGS"]=""
+S["EFL_BUILD_DOC_FALSE"]="#"
+S["EFL_BUILD_DOC_TRUE"]=""
+S["efl_doxygen"]="doxygen"
+S["efl_have_doxygen"]="yes"
+S["pkgconfig_requires_private"]="Requires.private"
+S["PKG_CONFIG_LIBDIR"]=""
+S["PKG_CONFIG_PATH"]="/home/jaehwan/sbs/target-armel/usr/lib/pkgconfig:/home/jaehwan/sbs/target-armel/usr/share/pkgconfig:/home/jaehwan/sbs/tools/usr/share/pkgconfig"
+S["PKG_CONFIG"]="/usr/bin/pkg-config"
+S["CXXCPP"]="g++ -E"
+S["am__fastdepCXX_FALSE"]=""
+S["am__fastdepCXX_TRUE"]="#"
+S["CXXDEPMODE"]="depmode=none"
+S["ac_ct_CXX"]="g++"
+S["CXXFLAGS"]="-g -O2 -g -Wall -O2"
+S["CXX"]="g++"
+S["am__fastdepOBJC_FALSE"]=""
+S["am__fastdepOBJC_TRUE"]="#"
+S["OBJCDEPMODE"]="depmode=none"
+S["ac_ct_OBJC"]="gcc"
+S["OBJCFLAGS"]=""
+S["OBJC"]="gcc"
+S["MODULE_ARCH"]="linux-gnueabi-arm-1.0.999"
+S["VMAJ"]="1"
+S["release_info"]=""
+S["version_info"]="1:999:0"
+S["OTOOL64"]=""
+S["OTOOL"]=""
+S["LIPO"]=""
+S["NMEDIT"]=""
+S["DSYMUTIL"]=""
+S["lt_ECHO"]="echo"
+S["RANLIB"]="ranlib"
+S["AR"]="ar"
+S["LN_S"]="ln -s"
+S["NM"]="/usr/bin/nm -B"
+S["ac_ct_DUMPBIN"]=""
+S["DUMPBIN"]=""
+S["LD"]="/usr/arm-linux-gnueabi/bin/ld"
+S["FGREP"]="/bin/grep -F"
+S["SED"]="/bin/sed"
+S["LIBTOOL"]="$(SHELL) $(top_builddir)/libtool"
+S["OBJDUMP"]="objdump"
+S["DLLTOOL"]="dlltool"
+S["AS"]="as"
+S["host_os"]="linux-gnueabi"
+S["host_vendor"]="unknown"
+S["host_cpu"]="arm"
+S["host"]="arm-unknown-linux-gnueabi"
+S["build_os"]="linux-gnueabi"
+S["build_vendor"]="unknown"
+S["build_cpu"]="arm"
+S["build"]="arm-unknown-linux-gnueabi"
+S["EGREP"]="/bin/grep -E"
+S["GREP"]="/bin/grep"
+S["CPP"]="gcc -E"
+S["am__fastdepCC_FALSE"]=""
+S["am__fastdepCC_TRUE"]="#"
+S["CCDEPMODE"]="depmode=none"
+S["AMDEPBACKSLASH"]=""
+S["AMDEP_FALSE"]=""
+S["AMDEP_TRUE"]="#"
+S["am__quote"]=""
+S["am__include"]="include"
+S["DEPDIR"]=".deps"
+S["OBJEXT"]="o"
+S["EXEEXT"]=""
+S["ac_ct_CC"]="gcc"
+S["CPPFLAGS"]=""
+S["LDFLAGS"]=" -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed"
+S["CFLAGS"]="-g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC"
+S["CC"]="gcc"
+S["AM_BACKSLASH"]="\\"
+S["AM_DEFAULT_VERBOSITY"]="1"
+S["am__untar"]="${AMTAR} xf -"
+S["am__tar"]="${AMTAR} chof - \"$$tardir\""
+S["AMTAR"]="${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run tar"
+S["am__leading_dot"]="."
+S["SET_MAKE"]=""
+S["AWK"]="gawk"
+S["mkdir_p"]="/bin/mkdir -p"
+S["MKDIR_P"]="/bin/mkdir -p"
+S["INSTALL_STRIP_PROGRAM"]="$(install_sh) -c -s"
+S["STRIP"]="strip"
+S["install_sh"]="${SHELL} /home/jaehwan/slp/tmp2/efl/evas/install-sh"
+S["MAKEINFO"]="${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run makeinfo"
+S["AUTOHEADER"]="${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run autoheader"
+S["AUTOMAKE"]="${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run automake-1.11"
+S["AUTOCONF"]="${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run autoconf"
+S["ACLOCAL"]="${SHELL} /home/jaehwan/slp/tmp2/efl/evas/missing --run aclocal-1.11"
+S["VERSION"]="1.0.999.0"
+S["PACKAGE"]="evas"
+S["CYGPATH_W"]="echo"
+S["am__isrc"]=""
+S["INSTALL_DATA"]="${INSTALL} -m 644"
+S["INSTALL_SCRIPT"]="${INSTALL}"
+S["INSTALL_PROGRAM"]="${INSTALL}"
+S["target_alias"]=""
+S["host_alias"]=""
+S["build_alias"]="arm-linux-gnueabi"
+S["LIBS"]=""
+S["ECHO_T"]=""
+S["ECHO_N"]="-n"
+S["ECHO_C"]=""
+S["DEFS"]="-DHAVE_CONFIG_H"
+S["mandir"]="${prefix}/share/man"
+S["localedir"]="${datarootdir}/locale"
+S["libdir"]="${exec_prefix}/lib"
+S["psdir"]="${docdir}"
+S["pdfdir"]="${docdir}"
+S["dvidir"]="${docdir}"
+S["htmldir"]="${docdir}"
+S["infodir"]="${prefix}/share/info"
+S["docdir"]="${datarootdir}/doc/${PACKAGE_TARNAME}"
+S["oldincludedir"]="/usr/include"
+S["includedir"]="${prefix}/include"
+S["localstatedir"]="/var"
+S["sharedstatedir"]="${prefix}/com"
+S["sysconfdir"]="/etc"
+S["datadir"]="${datarootdir}"
+S["datarootdir"]="${prefix}/share"
+S["libexecdir"]="${prefix}/lib/evas"
+S["sbindir"]="${exec_prefix}/sbin"
+S["bindir"]="${exec_prefix}/bin"
+S["program_transform_name"]="s,x,x,"
+S["prefix"]="/usr"
+S["exec_prefix"]="${prefix}"
+S["PACKAGE_URL"]=""
+S["PACKAGE_BUGREPORT"]="enlightenment-devel@lists.sourceforge.net"
+S["PACKAGE_STRING"]="evas 1.0.999.0"
+S["PACKAGE_VERSION"]="1.0.999.0"
+S["PACKAGE_TARNAME"]="evas"
+S["PACKAGE_NAME"]="evas"
+S["PATH_SEPARATOR"]=":"
+S["SHELL"]="/bin/sh"
+_ACAWK
+cat >>"$tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = "\a"
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+D["PACKAGE_NAME"]=" \"evas\""
+D["PACKAGE_TARNAME"]=" \"evas\""
+D["PACKAGE_VERSION"]=" \"1.0.999.0\""
+D["PACKAGE_STRING"]=" \"evas 1.0.999.0\""
+D["PACKAGE_BUGREPORT"]=" \"enlightenment-devel@lists.sourceforge.net\""
+D["PACKAGE_URL"]=" \"\""
+D["PACKAGE"]=" \"evas\""
+D["VERSION"]=" \"1.0.999.0\""
+D["STDC_HEADERS"]=" 1"
+D["HAVE_SYS_TYPES_H"]=" 1"
+D["HAVE_SYS_STAT_H"]=" 1"
+D["HAVE_STDLIB_H"]=" 1"
+D["HAVE_STRING_H"]=" 1"
+D["HAVE_MEMORY_H"]=" 1"
+D["HAVE_STRINGS_H"]=" 1"
+D["HAVE_INTTYPES_H"]=" 1"
+D["HAVE_STDINT_H"]=" 1"
+D["HAVE_UNISTD_H"]=" 1"
+D["__EXTENSIONS__"]=" 1"
+D["_ALL_SOURCE"]=" 1"
+D["_GNU_SOURCE"]=" 1"
+D["_POSIX_PTHREAD_SEMANTICS"]=" 1"
+D["_TANDEM_SOURCE"]=" 1"
+D["HAVE_DLFCN_H"]=" 1"
+D["LT_OBJDIR"]=" \".libs/\""
+D["VMAJ"]=" 1"
+D["VMIN"]=" 0"
+D["VMIC"]=" 999"
+D["VREV"]=" 0"
+D["MODULE_ARCH"]=" \"linux-gnueabi-arm-1.0.999\""
+D["HAVE_FONTCONFIG"]=" 1"
+D["HAVE_FRIBIDI"]=" 1"
+D["STDC_HEADERS"]=" 1"
+D["HAVE_UNISTD_H"]=" 1"
+D["HAVE_STDINT_H"]=" 1"
+D["HAVE_SYS_PARAM_H"]=" 1"
+D["HAVE___ATTRIBUTE__"]=" 1"
+D["__UNUSED__"]=" __attribute__((unused))"
+D["HAVE_ALLOCA_H"]=" 1"
+D["HAVE_ALLOCA"]=" 1"
+D["HAVE_DLADDR"]=" 1"
+D["EVAS_CSERVE"]=" 1"
+D["GLES_VARIETY_SGX"]=" 1"
+D["BUILD_ENGINE_BUFFER"]=" 1"
+D["BUILD_ENGINE_SOFTWARE_XLIB"]=" 1"
+D["HAVE_X11_XLIB_H"]=" 1"
+D["HAVE_X11_EXTENSIONS_XRENDER_H"]=" 1"
+D["BUILD_ENGINE_XRENDER_X11"]=" 1"
+D["GLES_VARIETY_SGX"]=" 1"
+D["BUILD_ENGINE_GL_X11"]=" 1"
+D["BUILD_ENGINE_FB"]=" 1"
+D["BUILD_ENGINE_GL_COMMON"]=" 1"
+D["BUILD_ENGINE_SOFTWARE_X11"]=" 1"
+D["BUILD_LOADER_EET"]=" 1"
+D["BUILD_FONT_LOADER_EET"]=" 1"
+D["BUILD_LOADER_GIF"]=" 1"
+D["BUILD_LOADER_JPEG_REGION"]=" 1"
+D["BUILD_LOADER_JPEG"]=" 1"
+D["EVAS_BUILD_SAVER_JPEG"]=" 1"
+D["BUILD_LOADER_PMAPS"]=" 1"
+D["BUILD_LOADER_PNG"]=" 1"
+D["BUILD_LOADER_XPM"]=" 1"
+D["BUILD_LOADER_BMP"]=" 1"
+D["BUILD_LOADER_TGA"]=" 1"
+D["BUILD_LOADER_WBMP"]=" 1"
+D["BUILD_LOADER_ICO"]=" 1"
+D["HAVE_PTHREAD_H"]=" 1"
+D["HAVE_SCHED_H"]=" 1"
+D["BUILD_PTHREAD"]=" 1"
+D["BUILD_ASYNC_EVENTS"]=" 1"
+D["BUILD_ASYNC_PRELOAD"]=" 1"
+D["BUILD_NEON"]=" 1"
+D["BUILD_C"]=" 1"
+D["EVAS_MAGIC_DEBUG"]=" 1"
+D["BUILD_SCALE_SAMPLE"]=" 1"
+D["BUILD_SCALE_SMOOTH"]=" 1"
+D["BUILD_CONVERT_YUV"]=" 1"
+D["BUILD_LINE_DITHER_MASK"]=" 1"
+D["BUILD_CONVERT_8_RGB_332"]=" 1"
+D["BUILD_CONVERT_8_RGB_666"]=" 1"
+D["BUILD_CONVERT_8_RGB_232"]=" 1"
+D["BUILD_CONVERT_8_RGB_222"]=" 1"
+D["BUILD_CONVERT_8_RGB_221"]=" 1"
+D["BUILD_CONVERT_8_RGB_121"]=" 1"
+D["BUILD_CONVERT_8_RGB_111"]=" 1"
+D["BUILD_CONVERT_16_RGB_565"]=" 1"
+D["BUILD_CONVERT_16_BGR_565"]=" 1"
+D["BUILD_CONVERT_16_RGB_555"]=" 1"
+D["BUILD_CONVERT_16_RGB_444"]=" 1"
+D["BUILD_CONVERT_16_RGB_454645"]=" 1"
+D["BUILD_CONVERT_16_RGB_ROT0"]=" 1"
+D["BUILD_CONVERT_16_RGB_ROT180"]=" 1"
+D["BUILD_CONVERT_16_RGB_ROT270"]=" 1"
+D["BUILD_CONVERT_16_RGB_ROT90"]=" 1"
+D["BUILD_CONVERT_24_RGB_888"]=" 1"
+D["BUILD_CONVERT_24_BGR_888"]=" 1"
+D["BUILD_CONVERT_32_RGB_8888"]=" 1"
+D["BUILD_CONVERT_32_RGBX_8888"]=" 1"
+D["BUILD_CONVERT_32_BGR_8888"]=" 1"
+D["BUILD_CONVERT_32_BGRX_8888"]=" 1"
+D["BUILD_CONVERT_24_RGB_666"]=" 1"
+D["BUILD_CONVERT_32_RGB_666"]=" 1"
+D["BUILD_CONVERT_32_RGB_ROT0"]=" 1"
+D["BUILD_CONVERT_32_RGB_ROT180"]=" 1"
+D["BUILD_CONVERT_32_RGB_ROT270"]=" 1"
+D["BUILD_CONVERT_32_RGB_ROT90"]=" 1"
+D["BUILD_CONVERT_8_GRY_1"]=" 1"
+D["BUILD_CONVERT_8_GRY_16"]=" 1"
+D["BUILD_CONVERT_8_GRAYSCALE_64"]=" 1"
+  for (key in D) D_is_set[key] = 1
+  FS = "\a"
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*([\t (]|$)/ {
+  line = $ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  prefix = substr(line, 1, index(line, defundef) - 1)
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", prefix defundef, macro, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+        # (if the path is not absolute).  The absolute path cannot be DOS-style,
+        # because $ac_f cannot contain `:'.
+        test -f "$ac_f" ||
+          case $ac_f in
+          [\\/$]*) false;;
+          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+          esac ||
+          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+       `' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5  ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$ac_file" : 'X\(//\)[^/]' \| \
+        X"$ac_file" : 'X\(//\)$' \| \
+        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+  ac_datarootdir_hack='
+  s&@datadir@&${datarootdir}&g
+  s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g
+  s&@infodir@&${prefix}/share/info&g
+  s&@localedir@&${datarootdir}/locale&g
+  s&@mandir@&${prefix}/share/man&g
+  s&\${datarootdir}&${prefix}/share&g' ;;
+esac
+ac_sed_extra="/^[       ]*VPATH[        ]*=[    ]*/{
+h
+s///
+s/^/:/
+s/[     ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[  ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[      ]*$//
+}
+
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out" && rm -f "$tmp/out";;
+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+  if test x"$ac_file" != x-; then
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+    } >"$tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      rm -f "$ac_file"
+      mv "$tmp/config.h" "$ac_file" \
+       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    fi
+  else
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
+  fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$_am_arg" : 'X\(//\)[^/]' \| \
+        X"$_am_arg" : 'X\(//\)$' \| \
+        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$mf" : 'X\(//\)[^/]' \| \
+        X"$mf" : 'X\(//\)$' \| \
+        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$file" : 'X\(//\)[^/]' \| \
+        X"$file" : 'X\(//\)$' \| \
+        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      as_dir=$dirpart/$fdir; as_fn_mkdir_p
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+ ;;
+    "libtool":C)
+
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags="CXX "
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Assembler program.
+AS=$AS
+
+# DLL creation program.
+DLLTOOL=$DLLTOOL
+
+# Object dumper program.
+OBJDUMP=$OBJDUMP
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that does not interpret backslashes.
+ECHO=$lt_ECHO
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking.  This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+  case ${2} in
+    .*) func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1+=\$2"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+    ;;
+  esac
+
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+
+    cat <<_LT_EOF >> "$ofile"
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
+
+# A language specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking.  This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path_CXX
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
+
+ ;;
+
+  esac
+done # for ac_tag
+
+
+as_fn_exit 0
diff --git a/config.sub b/config.sub
new file mode 100755 (executable)
index 0000000..c2d1257
--- /dev/null
@@ -0,0 +1,1714 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+#   Free Software Foundation, Inc.
+
+timestamp='2010-01-22'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted GNU ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )        # Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+       -sun*os*)
+               # Prevent following clause from handling this invalid input.
+               ;;
+       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+       -apple | -axis | -knuth | -cray | -microblaze)
+               os=
+               basic_machine=$1
+               ;;
+        -bluegene*)
+               os=-cnk
+               ;;
+       -sim | -cisco | -oki | -wec | -winbond)
+               os=
+               basic_machine=$1
+               ;;
+       -scout)
+               ;;
+       -wrs)
+               os=-vxworks
+               basic_machine=$1
+               ;;
+       -chorusos*)
+               os=-chorusos
+               basic_machine=$1
+               ;;
+       -chorusrdb)
+               os=-chorusrdb
+               basic_machine=$1
+               ;;
+       -hiux*)
+               os=-hiuxwe2
+               ;;
+       -sco6)
+               os=-sco5v6
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco5)
+               os=-sco3.2v5
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco4)
+               os=-sco3.2v4
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2.[4-9]*)
+               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2v[4-9]*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco5v6*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco*)
+               os=-sco3.2v2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -udk*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -isc)
+               os=-isc2.2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -clix*)
+               basic_machine=clipper-intergraph
+               ;;
+       -isc*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -lynx*)
+               os=-lynxos
+               ;;
+       -ptx*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+               ;;
+       -windowsnt*)
+               os=`echo $os | sed -e 's/windowsnt/winnt/'`
+               ;;
+       -psos*)
+               os=-psos
+               ;;
+       -mint | -mint[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+       # Recognize the basic CPU types without company name.
+       # Some are omitted here because they have special meanings below.
+       1750a | 580 \
+       | a29k \
+       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
+       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+       | bfin \
+       | c4x | clipper \
+       | d10v | d30v | dlx | dsp16xx \
+       | fido | fr30 | frv \
+       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | i370 | i860 | i960 | ia64 \
+       | ip2k | iq2000 \
+       | lm32 \
+       | m32c | m32r | m32rle | m68000 | m68k | m88k \
+       | maxq | mb | microblaze | mcore | mep | metag \
+       | mips | mipsbe | mipseb | mipsel | mipsle \
+       | mips16 \
+       | mips64 | mips64el \
+       | mips64octeon | mips64octeonel \
+       | mips64orion | mips64orionel \
+       | mips64r5900 | mips64r5900el \
+       | mips64vr | mips64vrel \
+       | mips64vr4100 | mips64vr4100el \
+       | mips64vr4300 | mips64vr4300el \
+       | mips64vr5000 | mips64vr5000el \
+       | mips64vr5900 | mips64vr5900el \
+       | mipsisa32 | mipsisa32el \
+       | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa64 | mipsisa64el \
+       | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64sb1 | mipsisa64sb1el \
+       | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipstx39 | mipstx39el \
+       | mn10200 | mn10300 \
+       | moxie \
+       | mt \
+       | msp430 \
+       | nios | nios2 \
+       | ns16k | ns32k \
+       | or32 \
+       | pdp10 | pdp11 | pj | pjl \
+       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+       | pyramid \
+       | rx \
+       | score \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+       | sh64 | sh64le \
+       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+       | spu | strongarm \
+       | tahoe | thumb | tic4x | tic80 | tron \
+       | ubicom32 \
+       | v850 | v850e \
+       | we32k \
+       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+       | z8k | z80)
+               basic_machine=$basic_machine-unknown
+               ;;
+       m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+               # Motorola 68HC11/12.
+               basic_machine=$basic_machine-unknown
+               os=-none
+               ;;
+       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+               ;;
+       ms1)
+               basic_machine=mt-unknown
+               ;;
+
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+       i*86 | x86_64)
+         basic_machine=$basic_machine-pc
+         ;;
+       # Object if more than one company name word.
+       *-*-*)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+       # Recognize the basic CPU types with company name.
+       580-* \
+       | a29k-* \
+       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+       | avr-* | avr32-* \
+       | bfin-* | bs2000-* \
+       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+       | clipper-* | craynv-* | cydra-* \
+       | d10v-* | d30v-* | dlx-* \
+       | elxsi-* \
+       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+       | h8300-* | h8500-* \
+       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | i*86-* | i860-* | i960-* | ia64-* \
+       | ip2k-* | iq2000-* \
+       | lm32-* \
+       | m32c-* | m32r-* | m32rle-* \
+       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+       | mips16-* \
+       | mips64-* | mips64el-* \
+       | mips64octeon-* | mips64octeonel-* \
+       | mips64orion-* | mips64orionel-* \
+       | mips64r5900-* | mips64r5900el-* \
+       | mips64vr-* | mips64vrel-* \
+       | mips64vr4100-* | mips64vr4100el-* \
+       | mips64vr4300-* | mips64vr4300el-* \
+       | mips64vr5000-* | mips64vr5000el-* \
+       | mips64vr5900-* | mips64vr5900el-* \
+       | mipsisa32-* | mipsisa32el-* \
+       | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa64-* | mipsisa64el-* \
+       | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64sb1-* | mipsisa64sb1el-* \
+       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipstx39-* | mipstx39el-* \
+       | mmix-* \
+       | mt-* \
+       | msp430-* \
+       | nios-* | nios2-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
+       | orion-* \
+       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+       | pyramid-* \
+       | romp-* | rs6000-* | rx-* \
+       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+       | sparclite-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+       | tahoe-* | thumb-* \
+       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+       | tile-* | tilegx-* \
+       | tron-* \
+       | ubicom32-* \
+       | v850-* | v850e-* | vax-* \
+       | we32k-* \
+       | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | xstormy16-* | xtensa*-* \
+       | ymp-* \
+       | z8k-* | z80-*)
+               ;;
+       # Recognize the basic CPU types without company name, with glob match.
+       xtensa*)
+               basic_machine=$basic_machine-unknown
+               ;;
+       # Recognize the various machine names and aliases which stand
+       # for a CPU type and a company and sometimes even an OS.
+       386bsd)
+               basic_machine=i386-unknown
+               os=-bsd
+               ;;
+       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+               basic_machine=m68000-att
+               ;;
+       3b*)
+               basic_machine=we32k-att
+               ;;
+       a29khif)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       abacus)
+               basic_machine=abacus-unknown
+               ;;
+       adobe68k)
+               basic_machine=m68010-adobe
+               os=-scout
+               ;;
+       alliant | fx80)
+               basic_machine=fx80-alliant
+               ;;
+       altos | altos3068)
+               basic_machine=m68k-altos
+               ;;
+       am29k)
+               basic_machine=a29k-none
+               os=-bsd
+               ;;
+       amd64)
+               basic_machine=x86_64-pc
+               ;;
+       amd64-*)
+               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       amdahl)
+               basic_machine=580-amdahl
+               os=-sysv
+               ;;
+       amiga | amiga-*)
+               basic_machine=m68k-unknown
+               ;;
+       amigaos | amigados)
+               basic_machine=m68k-unknown
+               os=-amigaos
+               ;;
+       amigaunix | amix)
+               basic_machine=m68k-unknown
+               os=-sysv4
+               ;;
+       apollo68)
+               basic_machine=m68k-apollo
+               os=-sysv
+               ;;
+       apollo68bsd)
+               basic_machine=m68k-apollo
+               os=-bsd
+               ;;
+       aros)
+               basic_machine=i386-pc
+               os=-aros
+               ;;
+       aux)
+               basic_machine=m68k-apple
+               os=-aux
+               ;;
+       balance)
+               basic_machine=ns32k-sequent
+               os=-dynix
+               ;;
+       blackfin)
+               basic_machine=bfin-unknown
+               os=-linux
+               ;;
+       blackfin-*)
+               basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       bluegene*)
+               basic_machine=powerpc-ibm
+               os=-cnk
+               ;;
+       c90)
+               basic_machine=c90-cray
+               os=-unicos
+               ;;
+        cegcc)
+               basic_machine=arm-unknown
+               os=-cegcc
+               ;;
+       convex-c1)
+               basic_machine=c1-convex
+               os=-bsd
+               ;;
+       convex-c2)
+               basic_machine=c2-convex
+               os=-bsd
+               ;;
+       convex-c32)
+               basic_machine=c32-convex
+               os=-bsd
+               ;;
+       convex-c34)
+               basic_machine=c34-convex
+               os=-bsd
+               ;;
+       convex-c38)
+               basic_machine=c38-convex
+               os=-bsd
+               ;;
+       cray | j90)
+               basic_machine=j90-cray
+               os=-unicos
+               ;;
+       craynv)
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
+       cr16)
+               basic_machine=cr16-unknown
+               os=-elf
+               ;;
+       crds | unos)
+               basic_machine=m68k-crds
+               ;;
+       crisv32 | crisv32-* | etraxfs*)
+               basic_machine=crisv32-axis
+               ;;
+       cris | cris-* | etrax*)
+               basic_machine=cris-axis
+               ;;
+       crx)
+               basic_machine=crx-unknown
+               os=-elf
+               ;;
+       da30 | da30-*)
+               basic_machine=m68k-da30
+               ;;
+       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+               basic_machine=mips-dec
+               ;;
+       decsystem10* | dec10*)
+               basic_machine=pdp10-dec
+               os=-tops10
+               ;;
+       decsystem20* | dec20*)
+               basic_machine=pdp10-dec
+               os=-tops20
+               ;;
+       delta | 3300 | motorola-3300 | motorola-delta \
+             | 3300-motorola | delta-motorola)
+               basic_machine=m68k-motorola
+               ;;
+       delta88)
+               basic_machine=m88k-motorola
+               os=-sysv3
+               ;;
+       dicos)
+               basic_machine=i686-pc
+               os=-dicos
+               ;;
+       djgpp)
+               basic_machine=i586-pc
+               os=-msdosdjgpp
+               ;;
+       dpx20 | dpx20-*)
+               basic_machine=rs6000-bull
+               os=-bosx
+               ;;
+       dpx2* | dpx2*-bull)
+               basic_machine=m68k-bull
+               os=-sysv3
+               ;;
+       ebmon29k)
+               basic_machine=a29k-amd
+               os=-ebmon
+               ;;
+       elxsi)
+               basic_machine=elxsi-elxsi
+               os=-bsd
+               ;;
+       encore | umax | mmax)
+               basic_machine=ns32k-encore
+               ;;
+       es1800 | OSE68k | ose68k | ose | OSE)
+               basic_machine=m68k-ericsson
+               os=-ose
+               ;;
+       fx2800)
+               basic_machine=i860-alliant
+               ;;
+       genix)
+               basic_machine=ns32k-ns
+               ;;
+       gmicro)
+               basic_machine=tron-gmicro
+               os=-sysv
+               ;;
+       go32)
+               basic_machine=i386-pc
+               os=-go32
+               ;;
+       h3050r* | hiux*)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       h8300hms)
+               basic_machine=h8300-hitachi
+               os=-hms
+               ;;
+       h8300xray)
+               basic_machine=h8300-hitachi
+               os=-xray
+               ;;
+       h8500hms)
+               basic_machine=h8500-hitachi
+               os=-hms
+               ;;
+       harris)
+               basic_machine=m88k-harris
+               os=-sysv3
+               ;;
+       hp300-*)
+               basic_machine=m68k-hp
+               ;;
+       hp300bsd)
+               basic_machine=m68k-hp
+               os=-bsd
+               ;;
+       hp300hpux)
+               basic_machine=m68k-hp
+               os=-hpux
+               ;;
+       hp3k9[0-9][0-9] | hp9[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k2[0-9][0-9] | hp9k31[0-9])
+               basic_machine=m68000-hp
+               ;;
+       hp9k3[2-9][0-9])
+               basic_machine=m68k-hp
+               ;;
+       hp9k6[0-9][0-9] | hp6[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k7[0-79][0-9] | hp7[0-79][0-9])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k78[0-9] | hp78[0-9])
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][13679] | hp8[0-9][13679])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][0-9] | hp8[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hppa-next)
+               os=-nextstep3
+               ;;
+       hppaosf)
+               basic_machine=hppa1.1-hp
+               os=-osf
+               ;;
+       hppro)
+               basic_machine=hppa1.1-hp
+               os=-proelf
+               ;;
+       i370-ibm* | ibm*)
+               basic_machine=i370-ibm
+               ;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+       i*86v32)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv32
+               ;;
+       i*86v4*)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv4
+               ;;
+       i*86v)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv
+               ;;
+       i*86sol2)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-solaris2
+               ;;
+       i386mach)
+               basic_machine=i386-mach
+               os=-mach
+               ;;
+       i386-vsta | vsta)
+               basic_machine=i386-unknown
+               os=-vsta
+               ;;
+       iris | iris4d)
+               basic_machine=mips-sgi
+               case $os in
+                   -irix*)
+                       ;;
+                   *)
+                       os=-irix4
+                       ;;
+               esac
+               ;;
+       isi68 | isi)
+               basic_machine=m68k-isi
+               os=-sysv
+               ;;
+       m68knommu)
+               basic_machine=m68k-unknown
+               os=-linux
+               ;;
+       m68knommu-*)
+               basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       m88k-omron*)
+               basic_machine=m88k-omron
+               ;;
+       magnum | m3230)
+               basic_machine=mips-mips
+               os=-sysv
+               ;;
+       merlin)
+               basic_machine=ns32k-utek
+               os=-sysv
+               ;;
+        microblaze)
+               basic_machine=microblaze-xilinx
+               ;;
+       mingw32)
+               basic_machine=i386-pc
+               os=-mingw32
+               ;;
+       mingw32ce)
+               basic_machine=arm-unknown
+               os=-mingw32ce
+               ;;
+       miniframe)
+               basic_machine=m68000-convergent
+               ;;
+       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+       mips3*-*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+               ;;
+       mips3*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+               ;;
+       monitor)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       morphos)
+               basic_machine=powerpc-unknown
+               os=-morphos
+               ;;
+       msdos)
+               basic_machine=i386-pc
+               os=-msdos
+               ;;
+       ms1-*)
+               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+               ;;
+       mvs)
+               basic_machine=i370-ibm
+               os=-mvs
+               ;;
+       ncr3000)
+               basic_machine=i486-ncr
+               os=-sysv4
+               ;;
+       netbsd386)
+               basic_machine=i386-unknown
+               os=-netbsd
+               ;;
+       netwinder)
+               basic_machine=armv4l-rebel
+               os=-linux
+               ;;
+       news | news700 | news800 | news900)
+               basic_machine=m68k-sony
+               os=-newsos
+               ;;
+       news1000)
+               basic_machine=m68030-sony
+               os=-newsos
+               ;;
+       news-3600 | risc-news)
+               basic_machine=mips-sony
+               os=-newsos
+               ;;
+       necv70)
+               basic_machine=v70-nec
+               os=-sysv
+               ;;
+       next | m*-next )
+               basic_machine=m68k-next
+               case $os in
+                   -nextstep* )
+                       ;;
+                   -ns2*)
+                     os=-nextstep2
+                       ;;
+                   *)
+                     os=-nextstep3
+                       ;;
+               esac
+               ;;
+       nh3000)
+               basic_machine=m68k-harris
+               os=-cxux
+               ;;
+       nh[45]000)
+               basic_machine=m88k-harris
+               os=-cxux
+               ;;
+       nindy960)
+               basic_machine=i960-intel
+               os=-nindy
+               ;;
+       mon960)
+               basic_machine=i960-intel
+               os=-mon960
+               ;;
+       nonstopux)
+               basic_machine=mips-compaq
+               os=-nonstopux
+               ;;
+       np1)
+               basic_machine=np1-gould
+               ;;
+       nsr-tandem)
+               basic_machine=nsr-tandem
+               ;;
+       op50n-* | op60c-*)
+               basic_machine=hppa1.1-oki
+               os=-proelf
+               ;;
+       openrisc | openrisc-*)
+               basic_machine=or32-unknown
+               ;;
+       os400)
+               basic_machine=powerpc-ibm
+               os=-os400
+               ;;
+       OSE68000 | ose68000)
+               basic_machine=m68000-ericsson
+               os=-ose
+               ;;
+       os68k)
+               basic_machine=m68k-none
+               os=-os68k
+               ;;
+       pa-hitachi)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       paragon)
+               basic_machine=i860-intel
+               os=-osf
+               ;;
+       parisc)
+               basic_machine=hppa-unknown
+               os=-linux
+               ;;
+       parisc-*)
+               basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       pbd)
+               basic_machine=sparc-tti
+               ;;
+       pbb)
+               basic_machine=m68k-tti
+               ;;
+       pc532 | pc532-*)
+               basic_machine=ns32k-pc532
+               ;;
+       pc98)
+               basic_machine=i386-pc
+               ;;
+       pc98-*)
+               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium | p5 | k5 | k6 | nexgen | viac3)
+               basic_machine=i586-pc
+               ;;
+       pentiumpro | p6 | 6x86 | athlon | athlon_*)
+               basic_machine=i686-pc
+               ;;
+       pentiumii | pentium2 | pentiumiii | pentium3)
+               basic_machine=i686-pc
+               ;;
+       pentium4)
+               basic_machine=i786-pc
+               ;;
+       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumpro-* | p6-* | 6x86-* | athlon-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium4-*)
+               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pn)
+               basic_machine=pn-gould
+               ;;
+       power)  basic_machine=power-ibm
+               ;;
+       ppc)    basic_machine=powerpc-unknown
+               ;;
+       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppcle | powerpclittle | ppc-le | powerpc-little)
+               basic_machine=powerpcle-unknown
+               ;;
+       ppcle-* | powerpclittle-*)
+               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64)  basic_machine=powerpc64-unknown
+               ;;
+       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+               basic_machine=powerpc64le-unknown
+               ;;
+       ppc64le-* | powerpc64little-*)
+               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ps2)
+               basic_machine=i386-ibm
+               ;;
+       pw32)
+               basic_machine=i586-unknown
+               os=-pw32
+               ;;
+       rdos)
+               basic_machine=i386-pc
+               os=-rdos
+               ;;
+       rom68k)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       rm[46]00)
+               basic_machine=mips-siemens
+               ;;
+       rtpc | rtpc-*)
+               basic_machine=romp-ibm
+               ;;
+       s390 | s390-*)
+               basic_machine=s390-ibm
+               ;;
+       s390x | s390x-*)
+               basic_machine=s390x-ibm
+               ;;
+       sa29200)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       sb1)
+               basic_machine=mipsisa64sb1-unknown
+               ;;
+       sb1el)
+               basic_machine=mipsisa64sb1el-unknown
+               ;;
+       sde)
+               basic_machine=mipsisa32-sde
+               os=-elf
+               ;;
+       sei)
+               basic_machine=mips-sei
+               os=-seiux
+               ;;
+       sequent)
+               basic_machine=i386-sequent
+               ;;
+       sh)
+               basic_machine=sh-hitachi
+               os=-hms
+               ;;
+       sh5el)
+               basic_machine=sh5le-unknown
+               ;;
+       sh64)
+               basic_machine=sh64-unknown
+               ;;
+       sparclite-wrs | simso-wrs)
+               basic_machine=sparclite-wrs
+               os=-vxworks
+               ;;
+       sps7)
+               basic_machine=m68k-bull
+               os=-sysv2
+               ;;
+       spur)
+               basic_machine=spur-unknown
+               ;;
+       st2000)
+               basic_machine=m68k-tandem
+               ;;
+       stratus)
+               basic_machine=i860-stratus
+               os=-sysv4
+               ;;
+       sun2)
+               basic_machine=m68000-sun
+               ;;
+       sun2os3)
+               basic_machine=m68000-sun
+               os=-sunos3
+               ;;
+       sun2os4)
+               basic_machine=m68000-sun
+               os=-sunos4
+               ;;
+       sun3os3)
+               basic_machine=m68k-sun
+               os=-sunos3
+               ;;
+       sun3os4)
+               basic_machine=m68k-sun
+               os=-sunos4
+               ;;
+       sun4os3)
+               basic_machine=sparc-sun
+               os=-sunos3
+               ;;
+       sun4os4)
+               basic_machine=sparc-sun
+               os=-sunos4
+               ;;
+       sun4sol2)
+               basic_machine=sparc-sun
+               os=-solaris2
+               ;;
+       sun3 | sun3-*)
+               basic_machine=m68k-sun
+               ;;
+       sun4)
+               basic_machine=sparc-sun
+               ;;
+       sun386 | sun386i | roadrunner)
+               basic_machine=i386-sun
+               ;;
+       sv1)
+               basic_machine=sv1-cray
+               os=-unicos
+               ;;
+       symmetry)
+               basic_machine=i386-sequent
+               os=-dynix
+               ;;
+       t3e)
+               basic_machine=alphaev5-cray
+               os=-unicos
+               ;;
+       t90)
+               basic_machine=t90-cray
+               os=-unicos
+               ;;
+       tic54x | c54x*)
+               basic_machine=tic54x-unknown
+               os=-coff
+               ;;
+       tic55x | c55x*)
+               basic_machine=tic55x-unknown
+               os=-coff
+               ;;
+       tic6x | c6x*)
+               basic_machine=tic6x-unknown
+               os=-coff
+               ;;
+        # This must be matched before tile*.
+        tilegx*)
+               basic_machine=tilegx-unknown
+               os=-linux-gnu
+               ;;
+       tile*)
+               basic_machine=tile-unknown
+               os=-linux-gnu
+               ;;
+       tx39)
+               basic_machine=mipstx39-unknown
+               ;;
+       tx39el)
+               basic_machine=mipstx39el-unknown
+               ;;
+       toad1)
+               basic_machine=pdp10-xkl
+               os=-tops20
+               ;;
+       tower | tower-32)
+               basic_machine=m68k-ncr
+               ;;
+       tpf)
+               basic_machine=s390x-ibm
+               os=-tpf
+               ;;
+       udi29k)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       ultra3)
+               basic_machine=a29k-nyu
+               os=-sym1
+               ;;
+       v810 | necv810)
+               basic_machine=v810-nec
+               os=-none
+               ;;
+       vaxv)
+               basic_machine=vax-dec
+               os=-sysv
+               ;;
+       vms)
+               basic_machine=vax-dec
+               os=-vms
+               ;;
+       vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+       vxworks960)
+               basic_machine=i960-wrs
+               os=-vxworks
+               ;;
+       vxworks68)
+               basic_machine=m68k-wrs
+               os=-vxworks
+               ;;
+       vxworks29k)
+               basic_machine=a29k-wrs
+               os=-vxworks
+               ;;
+       w65*)
+               basic_machine=w65-wdc
+               os=-none
+               ;;
+       w89k-*)
+               basic_machine=hppa1.1-winbond
+               os=-proelf
+               ;;
+       xbox)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
+       xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
+       ymp)
+               basic_machine=ymp-cray
+               os=-unicos
+               ;;
+       z8k-*-coff)
+               basic_machine=z8k-unknown
+               os=-sim
+               ;;
+       z80-*-coff)
+               basic_machine=z80-unknown
+               os=-sim
+               ;;
+       none)
+               basic_machine=none-none
+               os=-none
+               ;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+       w89k)
+               basic_machine=hppa1.1-winbond
+               ;;
+       op50n)
+               basic_machine=hppa1.1-oki
+               ;;
+       op60c)
+               basic_machine=hppa1.1-oki
+               ;;
+       romp)
+               basic_machine=romp-ibm
+               ;;
+       mmix)
+               basic_machine=mmix-knuth
+               ;;
+       rs6000)
+               basic_machine=rs6000-ibm
+               ;;
+       vax)
+               basic_machine=vax-dec
+               ;;
+       pdp10)
+               # there are many clones, so DEC is not a safe bet
+               basic_machine=pdp10-unknown
+               ;;
+       pdp11)
+               basic_machine=pdp11-dec
+               ;;
+       we32k)
+               basic_machine=we32k-att
+               ;;
+       sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+               basic_machine=sh-unknown
+               ;;
+       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+               basic_machine=sparc-sun
+               ;;
+       cydra)
+               basic_machine=cydra-cydrome
+               ;;
+       orion)
+               basic_machine=orion-highlevel
+               ;;
+       orion105)
+               basic_machine=clipper-highlevel
+               ;;
+       mac | mpw | mac-mpw)
+               basic_machine=m68k-apple
+               ;;
+       pmac | pmac-mpw)
+               basic_machine=powerpc-apple
+               ;;
+       *-unknown)
+               # Make sure to match an already-canonicalized machine name.
+               ;;
+       *)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+       *-digital*)
+               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+               ;;
+       *-commodore*)
+               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+               ;;
+       *)
+               ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+       # -solaris* is a basic system type, with this one exception.
+        -auroraux)
+               os=-auroraux
+               ;;
+       -solaris1 | -solaris1.*)
+               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+               ;;
+       -solaris)
+               os=-solaris2
+               ;;
+       -svr4*)
+               os=-sysv4
+               ;;
+       -unixware*)
+               os=-sysv4.2uw
+               ;;
+       -gnu/linux*)
+               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+               ;;
+       # First accept the basic system types.
+       # The portable systems comes first.
+       # Each alternative MUST END IN A *, to match a version number.
+       # -sysv* is not here because it comes later, after sysvr4.
+       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+             | -sym* | -kopensolaris* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+             | -aos* | -aros* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+             | -openbsd* | -solidbsd* \
+             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -chorusos* | -chorusrdb* | -cegcc* \
+             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+             | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+       # Remember, each alternative MUST END IN *, to match a version number.
+               ;;
+       -qnx*)
+               case $basic_machine in
+                   x86-* | i*86-*)
+                       ;;
+                   *)
+                       os=-nto$os
+                       ;;
+               esac
+               ;;
+       -nto-qnx*)
+               ;;
+       -nto*)
+               os=`echo $os | sed -e 's|nto|nto-qnx|'`
+               ;;
+       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+               ;;
+       -mac*)
+               os=`echo $os | sed -e 's|mac|macos|'`
+               ;;
+       -linux-dietlibc)
+               os=-linux-dietlibc
+               ;;
+       -linux*)
+               os=`echo $os | sed -e 's|linux|linux-gnu|'`
+               ;;
+       -sunos5*)
+               os=`echo $os | sed -e 's|sunos5|solaris2|'`
+               ;;
+       -sunos6*)
+               os=`echo $os | sed -e 's|sunos6|solaris3|'`
+               ;;
+       -opened*)
+               os=-openedition
+               ;;
+        -os400*)
+               os=-os400
+               ;;
+       -wince*)
+               os=-wince
+               ;;
+       -osfrose*)
+               os=-osfrose
+               ;;
+       -osf*)
+               os=-osf
+               ;;
+       -utek*)
+               os=-bsd
+               ;;
+       -dynix*)
+               os=-bsd
+               ;;
+       -acis*)
+               os=-aos
+               ;;
+       -atheos*)
+               os=-atheos
+               ;;
+       -syllable*)
+               os=-syllable
+               ;;
+       -386bsd)
+               os=-bsd
+               ;;
+       -ctix* | -uts*)
+               os=-sysv
+               ;;
+       -nova*)
+               os=-rtmk-nova
+               ;;
+       -ns2 )
+               os=-nextstep2
+               ;;
+       -nsk*)
+               os=-nsk
+               ;;
+       # Preserve the version number of sinix5.
+       -sinix5.*)
+               os=`echo $os | sed -e 's|sinix|sysv|'`
+               ;;
+       -sinix*)
+               os=-sysv4
+               ;;
+        -tpf*)
+               os=-tpf
+               ;;
+       -triton*)
+               os=-sysv3
+               ;;
+       -oss*)
+               os=-sysv3
+               ;;
+       -svr4)
+               os=-sysv4
+               ;;
+       -svr3)
+               os=-sysv3
+               ;;
+       -sysvr4)
+               os=-sysv4
+               ;;
+       # This must come after -sysvr4.
+       -sysv*)
+               ;;
+       -ose*)
+               os=-ose
+               ;;
+       -es1800*)
+               os=-ose
+               ;;
+       -xenix)
+               os=-xenix
+               ;;
+       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+               os=-mint
+               ;;
+       -aros*)
+               os=-aros
+               ;;
+       -kaos*)
+               os=-kaos
+               ;;
+       -zvmoe)
+               os=-zvmoe
+               ;;
+       -dicos*)
+               os=-dicos
+               ;;
+        -nacl*)
+               ;;
+       -none)
+               ;;
+       *)
+               # Get rid of the `-' at the beginning of $os.
+               os=`echo $os | sed 's/[^-]*-//'`
+               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+        score-*)
+               os=-elf
+               ;;
+        spu-*)
+               os=-elf
+               ;;
+       *-acorn)
+               os=-riscix1.2
+               ;;
+       arm*-rebel)
+               os=-linux
+               ;;
+       arm*-semi)
+               os=-aout
+               ;;
+        c4x-* | tic4x-*)
+               os=-coff
+               ;;
+       # This must come before the *-dec entry.
+       pdp10-*)
+               os=-tops20
+               ;;
+       pdp11-*)
+               os=-none
+               ;;
+       *-dec | vax-*)
+               os=-ultrix4.2
+               ;;
+       m68*-apollo)
+               os=-domain
+               ;;
+       i386-sun)
+               os=-sunos4.0.2
+               ;;
+       m68000-sun)
+               os=-sunos3
+               # This also exists in the configure program, but was not the
+               # default.
+               # os=-sunos4
+               ;;
+       m68*-cisco)
+               os=-aout
+               ;;
+        mep-*)
+               os=-elf
+               ;;
+       mips*-cisco)
+               os=-elf
+               ;;
+       mips*-*)
+               os=-elf
+               ;;
+       or32-*)
+               os=-coff
+               ;;
+       *-tti)  # must be before sparc entry or we get the wrong os.
+               os=-sysv3
+               ;;
+       sparc-* | *-sun)
+               os=-sunos4.1.1
+               ;;
+       *-be)
+               os=-beos
+               ;;
+       *-haiku)
+               os=-haiku
+               ;;
+       *-ibm)
+               os=-aix
+               ;;
+       *-knuth)
+               os=-mmixware
+               ;;
+       *-wec)
+               os=-proelf
+               ;;
+       *-winbond)
+               os=-proelf
+               ;;
+       *-oki)
+               os=-proelf
+               ;;
+       *-hp)
+               os=-hpux
+               ;;
+       *-hitachi)
+               os=-hiux
+               ;;
+       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+               os=-sysv
+               ;;
+       *-cbm)
+               os=-amigaos
+               ;;
+       *-dg)
+               os=-dgux
+               ;;
+       *-dolphin)
+               os=-sysv3
+               ;;
+       m68k-ccur)
+               os=-rtu
+               ;;
+       m88k-omron*)
+               os=-luna
+               ;;
+       *-next )
+               os=-nextstep
+               ;;
+       *-sequent)
+               os=-ptx
+               ;;
+       *-crds)
+               os=-unos
+               ;;
+       *-ns)
+               os=-genix
+               ;;
+       i370-*)
+               os=-mvs
+               ;;
+       *-next)
+               os=-nextstep3
+               ;;
+       *-gould)
+               os=-sysv
+               ;;
+       *-highlevel)
+               os=-bsd
+               ;;
+       *-encore)
+               os=-bsd
+               ;;
+       *-sgi)
+               os=-irix
+               ;;
+       *-siemens)
+               os=-sysv4
+               ;;
+       *-masscomp)
+               os=-rtu
+               ;;
+       f30[01]-fujitsu | f700-fujitsu)
+               os=-uxpv
+               ;;
+       *-rom68k)
+               os=-coff
+               ;;
+       *-*bug)
+               os=-coff
+               ;;
+       *-apple)
+               os=-macos
+               ;;
+       *-atari*)
+               os=-mint
+               ;;
+       *)
+               os=-none
+               ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+       *-unknown)
+               case $os in
+                       -riscix*)
+                               vendor=acorn
+                               ;;
+                       -sunos*)
+                               vendor=sun
+                               ;;
+                       -cnk*|-aix*)
+                               vendor=ibm
+                               ;;
+                       -beos*)
+                               vendor=be
+                               ;;
+                       -hpux*)
+                               vendor=hp
+                               ;;
+                       -mpeix*)
+                               vendor=hp
+                               ;;
+                       -hiux*)
+                               vendor=hitachi
+                               ;;
+                       -unos*)
+                               vendor=crds
+                               ;;
+                       -dgux*)
+                               vendor=dg
+                               ;;
+                       -luna*)
+                               vendor=omron
+                               ;;
+                       -genix*)
+                               vendor=ns
+                               ;;
+                       -mvs* | -opened*)
+                               vendor=ibm
+                               ;;
+                       -os400*)
+                               vendor=ibm
+                               ;;
+                       -ptx*)
+                               vendor=sequent
+                               ;;
+                       -tpf*)
+                               vendor=ibm
+                               ;;
+                       -vxsim* | -vxworks* | -windiss*)
+                               vendor=wrs
+                               ;;
+                       -aux*)
+                               vendor=apple
+                               ;;
+                       -hms*)
+                               vendor=hitachi
+                               ;;
+                       -mpw* | -macos*)
+                               vendor=apple
+                               ;;
+                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+                               vendor=atari
+                               ;;
+                       -vos*)
+                               vendor=stratus
+                               ;;
+               esac
+               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+               ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config.sub.cdbs-orig b/config.sub.cdbs-orig
new file mode 100755 (executable)
index 0000000..c2d1257
--- /dev/null
@@ -0,0 +1,1714 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+#   Free Software Foundation, Inc.
+
+timestamp='2010-01-22'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine.  It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
+# 02110-1301, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+
+# Please send patches to <config-patches@gnu.org>.  Submit a context
+# diff and a properly formatted GNU ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# You can get the latest version of this script from:
+# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support.  The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+#      CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+#      CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+       $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+  -h, --help         print this help, then exit
+  -t, --time-stamp   print date of last modification, then exit
+  -v, --version      print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+Software Foundation, Inc.
+
+This is free software; see the source for copying conditions.  There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+  case $1 in
+    --time-stamp | --time* | -t )
+       echo "$timestamp" ; exit ;;
+    --version | -v )
+       echo "$version" ; exit ;;
+    --help | --h* | -h )
+       echo "$usage"; exit ;;
+    -- )     # Stop option processing
+       shift; break ;;
+    - )        # Use stdin as input.
+       break ;;
+    -* )
+       echo "$me: invalid option $1$help"
+       exit 1 ;;
+
+    *local*)
+       # First pass through any local machine types.
+       echo $1
+       exit ;;
+
+    * )
+       break ;;
+  esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+    exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+    exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+  nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+  uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
+  kopensolaris*-gnu* | \
+  storm-chaos* | os2-emx* | rtmk-nova*)
+    os=-$maybe_os
+    basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+    ;;
+  *)
+    basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+    if [ $basic_machine != $1 ]
+    then os=`echo $1 | sed 's/.*-/-/'`
+    else os=; fi
+    ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work.  We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+       -sun*os*)
+               # Prevent following clause from handling this invalid input.
+               ;;
+       -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+       -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+       -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+       -apple | -axis | -knuth | -cray | -microblaze)
+               os=
+               basic_machine=$1
+               ;;
+        -bluegene*)
+               os=-cnk
+               ;;
+       -sim | -cisco | -oki | -wec | -winbond)
+               os=
+               basic_machine=$1
+               ;;
+       -scout)
+               ;;
+       -wrs)
+               os=-vxworks
+               basic_machine=$1
+               ;;
+       -chorusos*)
+               os=-chorusos
+               basic_machine=$1
+               ;;
+       -chorusrdb)
+               os=-chorusrdb
+               basic_machine=$1
+               ;;
+       -hiux*)
+               os=-hiuxwe2
+               ;;
+       -sco6)
+               os=-sco5v6
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco5)
+               os=-sco3.2v5
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco4)
+               os=-sco3.2v4
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2.[4-9]*)
+               os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco3.2v[4-9]*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco5v6*)
+               # Don't forget version if it is 3.2v4 or newer.
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -sco*)
+               os=-sco3.2v2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -udk*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -isc)
+               os=-isc2.2
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -clix*)
+               basic_machine=clipper-intergraph
+               ;;
+       -isc*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+               ;;
+       -lynx*)
+               os=-lynxos
+               ;;
+       -ptx*)
+               basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+               ;;
+       -windowsnt*)
+               os=`echo $os | sed -e 's/windowsnt/winnt/'`
+               ;;
+       -psos*)
+               os=-psos
+               ;;
+       -mint | -mint[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+       # Recognize the basic CPU types without company name.
+       # Some are omitted here because they have special meanings below.
+       1750a | 580 \
+       | a29k \
+       | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+       | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+       | am33_2.0 \
+       | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
+       | bfin \
+       | c4x | clipper \
+       | d10v | d30v | dlx | dsp16xx \
+       | fido | fr30 | frv \
+       | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+       | i370 | i860 | i960 | ia64 \
+       | ip2k | iq2000 \
+       | lm32 \
+       | m32c | m32r | m32rle | m68000 | m68k | m88k \
+       | maxq | mb | microblaze | mcore | mep | metag \
+       | mips | mipsbe | mipseb | mipsel | mipsle \
+       | mips16 \
+       | mips64 | mips64el \
+       | mips64octeon | mips64octeonel \
+       | mips64orion | mips64orionel \
+       | mips64r5900 | mips64r5900el \
+       | mips64vr | mips64vrel \
+       | mips64vr4100 | mips64vr4100el \
+       | mips64vr4300 | mips64vr4300el \
+       | mips64vr5000 | mips64vr5000el \
+       | mips64vr5900 | mips64vr5900el \
+       | mipsisa32 | mipsisa32el \
+       | mipsisa32r2 | mipsisa32r2el \
+       | mipsisa64 | mipsisa64el \
+       | mipsisa64r2 | mipsisa64r2el \
+       | mipsisa64sb1 | mipsisa64sb1el \
+       | mipsisa64sr71k | mipsisa64sr71kel \
+       | mipstx39 | mipstx39el \
+       | mn10200 | mn10300 \
+       | moxie \
+       | mt \
+       | msp430 \
+       | nios | nios2 \
+       | ns16k | ns32k \
+       | or32 \
+       | pdp10 | pdp11 | pj | pjl \
+       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+       | pyramid \
+       | rx \
+       | score \
+       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
+       | sh64 | sh64le \
+       | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
+       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
+       | spu | strongarm \
+       | tahoe | thumb | tic4x | tic80 | tron \
+       | ubicom32 \
+       | v850 | v850e \
+       | we32k \
+       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
+       | z8k | z80)
+               basic_machine=$basic_machine-unknown
+               ;;
+       m6811 | m68hc11 | m6812 | m68hc12 | picochip)
+               # Motorola 68HC11/12.
+               basic_machine=$basic_machine-unknown
+               os=-none
+               ;;
+       m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+               ;;
+       ms1)
+               basic_machine=mt-unknown
+               ;;
+
+       # We use `pc' rather than `unknown'
+       # because (1) that's what they normally are, and
+       # (2) the word "unknown" tends to confuse beginning users.
+       i*86 | x86_64)
+         basic_machine=$basic_machine-pc
+         ;;
+       # Object if more than one company name word.
+       *-*-*)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+       # Recognize the basic CPU types with company name.
+       580-* \
+       | a29k-* \
+       | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+       | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+       | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+       | arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
+       | avr-* | avr32-* \
+       | bfin-* | bs2000-* \
+       | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+       | clipper-* | craynv-* | cydra-* \
+       | d10v-* | d30v-* | dlx-* \
+       | elxsi-* \
+       | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
+       | h8300-* | h8500-* \
+       | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+       | i*86-* | i860-* | i960-* | ia64-* \
+       | ip2k-* | iq2000-* \
+       | lm32-* \
+       | m32c-* | m32r-* | m32rle-* \
+       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+       | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+       | mips16-* \
+       | mips64-* | mips64el-* \
+       | mips64octeon-* | mips64octeonel-* \
+       | mips64orion-* | mips64orionel-* \
+       | mips64r5900-* | mips64r5900el-* \
+       | mips64vr-* | mips64vrel-* \
+       | mips64vr4100-* | mips64vr4100el-* \
+       | mips64vr4300-* | mips64vr4300el-* \
+       | mips64vr5000-* | mips64vr5000el-* \
+       | mips64vr5900-* | mips64vr5900el-* \
+       | mipsisa32-* | mipsisa32el-* \
+       | mipsisa32r2-* | mipsisa32r2el-* \
+       | mipsisa64-* | mipsisa64el-* \
+       | mipsisa64r2-* | mipsisa64r2el-* \
+       | mipsisa64sb1-* | mipsisa64sb1el-* \
+       | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+       | mipstx39-* | mipstx39el-* \
+       | mmix-* \
+       | mt-* \
+       | msp430-* \
+       | nios-* | nios2-* \
+       | none-* | np1-* | ns16k-* | ns32k-* \
+       | orion-* \
+       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+       | pyramid-* \
+       | romp-* | rs6000-* | rx-* \
+       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
+       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
+       | sparclite-* \
+       | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+       | tahoe-* | thumb-* \
+       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+       | tile-* | tilegx-* \
+       | tron-* \
+       | ubicom32-* \
+       | v850-* | v850e-* | vax-* \
+       | we32k-* \
+       | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
+       | xstormy16-* | xtensa*-* \
+       | ymp-* \
+       | z8k-* | z80-*)
+               ;;
+       # Recognize the basic CPU types without company name, with glob match.
+       xtensa*)
+               basic_machine=$basic_machine-unknown
+               ;;
+       # Recognize the various machine names and aliases which stand
+       # for a CPU type and a company and sometimes even an OS.
+       386bsd)
+               basic_machine=i386-unknown
+               os=-bsd
+               ;;
+       3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+               basic_machine=m68000-att
+               ;;
+       3b*)
+               basic_machine=we32k-att
+               ;;
+       a29khif)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       abacus)
+               basic_machine=abacus-unknown
+               ;;
+       adobe68k)
+               basic_machine=m68010-adobe
+               os=-scout
+               ;;
+       alliant | fx80)
+               basic_machine=fx80-alliant
+               ;;
+       altos | altos3068)
+               basic_machine=m68k-altos
+               ;;
+       am29k)
+               basic_machine=a29k-none
+               os=-bsd
+               ;;
+       amd64)
+               basic_machine=x86_64-pc
+               ;;
+       amd64-*)
+               basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       amdahl)
+               basic_machine=580-amdahl
+               os=-sysv
+               ;;
+       amiga | amiga-*)
+               basic_machine=m68k-unknown
+               ;;
+       amigaos | amigados)
+               basic_machine=m68k-unknown
+               os=-amigaos
+               ;;
+       amigaunix | amix)
+               basic_machine=m68k-unknown
+               os=-sysv4
+               ;;
+       apollo68)
+               basic_machine=m68k-apollo
+               os=-sysv
+               ;;
+       apollo68bsd)
+               basic_machine=m68k-apollo
+               os=-bsd
+               ;;
+       aros)
+               basic_machine=i386-pc
+               os=-aros
+               ;;
+       aux)
+               basic_machine=m68k-apple
+               os=-aux
+               ;;
+       balance)
+               basic_machine=ns32k-sequent
+               os=-dynix
+               ;;
+       blackfin)
+               basic_machine=bfin-unknown
+               os=-linux
+               ;;
+       blackfin-*)
+               basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       bluegene*)
+               basic_machine=powerpc-ibm
+               os=-cnk
+               ;;
+       c90)
+               basic_machine=c90-cray
+               os=-unicos
+               ;;
+        cegcc)
+               basic_machine=arm-unknown
+               os=-cegcc
+               ;;
+       convex-c1)
+               basic_machine=c1-convex
+               os=-bsd
+               ;;
+       convex-c2)
+               basic_machine=c2-convex
+               os=-bsd
+               ;;
+       convex-c32)
+               basic_machine=c32-convex
+               os=-bsd
+               ;;
+       convex-c34)
+               basic_machine=c34-convex
+               os=-bsd
+               ;;
+       convex-c38)
+               basic_machine=c38-convex
+               os=-bsd
+               ;;
+       cray | j90)
+               basic_machine=j90-cray
+               os=-unicos
+               ;;
+       craynv)
+               basic_machine=craynv-cray
+               os=-unicosmp
+               ;;
+       cr16)
+               basic_machine=cr16-unknown
+               os=-elf
+               ;;
+       crds | unos)
+               basic_machine=m68k-crds
+               ;;
+       crisv32 | crisv32-* | etraxfs*)
+               basic_machine=crisv32-axis
+               ;;
+       cris | cris-* | etrax*)
+               basic_machine=cris-axis
+               ;;
+       crx)
+               basic_machine=crx-unknown
+               os=-elf
+               ;;
+       da30 | da30-*)
+               basic_machine=m68k-da30
+               ;;
+       decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+               basic_machine=mips-dec
+               ;;
+       decsystem10* | dec10*)
+               basic_machine=pdp10-dec
+               os=-tops10
+               ;;
+       decsystem20* | dec20*)
+               basic_machine=pdp10-dec
+               os=-tops20
+               ;;
+       delta | 3300 | motorola-3300 | motorola-delta \
+             | 3300-motorola | delta-motorola)
+               basic_machine=m68k-motorola
+               ;;
+       delta88)
+               basic_machine=m88k-motorola
+               os=-sysv3
+               ;;
+       dicos)
+               basic_machine=i686-pc
+               os=-dicos
+               ;;
+       djgpp)
+               basic_machine=i586-pc
+               os=-msdosdjgpp
+               ;;
+       dpx20 | dpx20-*)
+               basic_machine=rs6000-bull
+               os=-bosx
+               ;;
+       dpx2* | dpx2*-bull)
+               basic_machine=m68k-bull
+               os=-sysv3
+               ;;
+       ebmon29k)
+               basic_machine=a29k-amd
+               os=-ebmon
+               ;;
+       elxsi)
+               basic_machine=elxsi-elxsi
+               os=-bsd
+               ;;
+       encore | umax | mmax)
+               basic_machine=ns32k-encore
+               ;;
+       es1800 | OSE68k | ose68k | ose | OSE)
+               basic_machine=m68k-ericsson
+               os=-ose
+               ;;
+       fx2800)
+               basic_machine=i860-alliant
+               ;;
+       genix)
+               basic_machine=ns32k-ns
+               ;;
+       gmicro)
+               basic_machine=tron-gmicro
+               os=-sysv
+               ;;
+       go32)
+               basic_machine=i386-pc
+               os=-go32
+               ;;
+       h3050r* | hiux*)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       h8300hms)
+               basic_machine=h8300-hitachi
+               os=-hms
+               ;;
+       h8300xray)
+               basic_machine=h8300-hitachi
+               os=-xray
+               ;;
+       h8500hms)
+               basic_machine=h8500-hitachi
+               os=-hms
+               ;;
+       harris)
+               basic_machine=m88k-harris
+               os=-sysv3
+               ;;
+       hp300-*)
+               basic_machine=m68k-hp
+               ;;
+       hp300bsd)
+               basic_machine=m68k-hp
+               os=-bsd
+               ;;
+       hp300hpux)
+               basic_machine=m68k-hp
+               os=-hpux
+               ;;
+       hp3k9[0-9][0-9] | hp9[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k2[0-9][0-9] | hp9k31[0-9])
+               basic_machine=m68000-hp
+               ;;
+       hp9k3[2-9][0-9])
+               basic_machine=m68k-hp
+               ;;
+       hp9k6[0-9][0-9] | hp6[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hp9k7[0-79][0-9] | hp7[0-79][0-9])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k78[0-9] | hp78[0-9])
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+               # FIXME: really hppa2.0-hp
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][13679] | hp8[0-9][13679])
+               basic_machine=hppa1.1-hp
+               ;;
+       hp9k8[0-9][0-9] | hp8[0-9][0-9])
+               basic_machine=hppa1.0-hp
+               ;;
+       hppa-next)
+               os=-nextstep3
+               ;;
+       hppaosf)
+               basic_machine=hppa1.1-hp
+               os=-osf
+               ;;
+       hppro)
+               basic_machine=hppa1.1-hp
+               os=-proelf
+               ;;
+       i370-ibm* | ibm*)
+               basic_machine=i370-ibm
+               ;;
+# I'm not sure what "Sysv32" means.  Should this be sysv3.2?
+       i*86v32)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv32
+               ;;
+       i*86v4*)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv4
+               ;;
+       i*86v)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-sysv
+               ;;
+       i*86sol2)
+               basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+               os=-solaris2
+               ;;
+       i386mach)
+               basic_machine=i386-mach
+               os=-mach
+               ;;
+       i386-vsta | vsta)
+               basic_machine=i386-unknown
+               os=-vsta
+               ;;
+       iris | iris4d)
+               basic_machine=mips-sgi
+               case $os in
+                   -irix*)
+                       ;;
+                   *)
+                       os=-irix4
+                       ;;
+               esac
+               ;;
+       isi68 | isi)
+               basic_machine=m68k-isi
+               os=-sysv
+               ;;
+       m68knommu)
+               basic_machine=m68k-unknown
+               os=-linux
+               ;;
+       m68knommu-*)
+               basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       m88k-omron*)
+               basic_machine=m88k-omron
+               ;;
+       magnum | m3230)
+               basic_machine=mips-mips
+               os=-sysv
+               ;;
+       merlin)
+               basic_machine=ns32k-utek
+               os=-sysv
+               ;;
+        microblaze)
+               basic_machine=microblaze-xilinx
+               ;;
+       mingw32)
+               basic_machine=i386-pc
+               os=-mingw32
+               ;;
+       mingw32ce)
+               basic_machine=arm-unknown
+               os=-mingw32ce
+               ;;
+       miniframe)
+               basic_machine=m68000-convergent
+               ;;
+       *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+               basic_machine=m68k-atari
+               os=-mint
+               ;;
+       mips3*-*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+               ;;
+       mips3*)
+               basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+               ;;
+       monitor)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       morphos)
+               basic_machine=powerpc-unknown
+               os=-morphos
+               ;;
+       msdos)
+               basic_machine=i386-pc
+               os=-msdos
+               ;;
+       ms1-*)
+               basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
+               ;;
+       mvs)
+               basic_machine=i370-ibm
+               os=-mvs
+               ;;
+       ncr3000)
+               basic_machine=i486-ncr
+               os=-sysv4
+               ;;
+       netbsd386)
+               basic_machine=i386-unknown
+               os=-netbsd
+               ;;
+       netwinder)
+               basic_machine=armv4l-rebel
+               os=-linux
+               ;;
+       news | news700 | news800 | news900)
+               basic_machine=m68k-sony
+               os=-newsos
+               ;;
+       news1000)
+               basic_machine=m68030-sony
+               os=-newsos
+               ;;
+       news-3600 | risc-news)
+               basic_machine=mips-sony
+               os=-newsos
+               ;;
+       necv70)
+               basic_machine=v70-nec
+               os=-sysv
+               ;;
+       next | m*-next )
+               basic_machine=m68k-next
+               case $os in
+                   -nextstep* )
+                       ;;
+                   -ns2*)
+                     os=-nextstep2
+                       ;;
+                   *)
+                     os=-nextstep3
+                       ;;
+               esac
+               ;;
+       nh3000)
+               basic_machine=m68k-harris
+               os=-cxux
+               ;;
+       nh[45]000)
+               basic_machine=m88k-harris
+               os=-cxux
+               ;;
+       nindy960)
+               basic_machine=i960-intel
+               os=-nindy
+               ;;
+       mon960)
+               basic_machine=i960-intel
+               os=-mon960
+               ;;
+       nonstopux)
+               basic_machine=mips-compaq
+               os=-nonstopux
+               ;;
+       np1)
+               basic_machine=np1-gould
+               ;;
+       nsr-tandem)
+               basic_machine=nsr-tandem
+               ;;
+       op50n-* | op60c-*)
+               basic_machine=hppa1.1-oki
+               os=-proelf
+               ;;
+       openrisc | openrisc-*)
+               basic_machine=or32-unknown
+               ;;
+       os400)
+               basic_machine=powerpc-ibm
+               os=-os400
+               ;;
+       OSE68000 | ose68000)
+               basic_machine=m68000-ericsson
+               os=-ose
+               ;;
+       os68k)
+               basic_machine=m68k-none
+               os=-os68k
+               ;;
+       pa-hitachi)
+               basic_machine=hppa1.1-hitachi
+               os=-hiuxwe2
+               ;;
+       paragon)
+               basic_machine=i860-intel
+               os=-osf
+               ;;
+       parisc)
+               basic_machine=hppa-unknown
+               os=-linux
+               ;;
+       parisc-*)
+               basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
+               os=-linux
+               ;;
+       pbd)
+               basic_machine=sparc-tti
+               ;;
+       pbb)
+               basic_machine=m68k-tti
+               ;;
+       pc532 | pc532-*)
+               basic_machine=ns32k-pc532
+               ;;
+       pc98)
+               basic_machine=i386-pc
+               ;;
+       pc98-*)
+               basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium | p5 | k5 | k6 | nexgen | viac3)
+               basic_machine=i586-pc
+               ;;
+       pentiumpro | p6 | 6x86 | athlon | athlon_*)
+               basic_machine=i686-pc
+               ;;
+       pentiumii | pentium2 | pentiumiii | pentium3)
+               basic_machine=i686-pc
+               ;;
+       pentium4)
+               basic_machine=i786-pc
+               ;;
+       pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+               basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumpro-* | p6-* | 6x86-* | athlon-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+               basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pentium4-*)
+               basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       pn)
+               basic_machine=pn-gould
+               ;;
+       power)  basic_machine=power-ibm
+               ;;
+       ppc)    basic_machine=powerpc-unknown
+               ;;
+       ppc-*)  basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppcle | powerpclittle | ppc-le | powerpc-little)
+               basic_machine=powerpcle-unknown
+               ;;
+       ppcle-* | powerpclittle-*)
+               basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64)  basic_machine=powerpc64-unknown
+               ;;
+       ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+               basic_machine=powerpc64le-unknown
+               ;;
+       ppc64le-* | powerpc64little-*)
+               basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+               ;;
+       ps2)
+               basic_machine=i386-ibm
+               ;;
+       pw32)
+               basic_machine=i586-unknown
+               os=-pw32
+               ;;
+       rdos)
+               basic_machine=i386-pc
+               os=-rdos
+               ;;
+       rom68k)
+               basic_machine=m68k-rom68k
+               os=-coff
+               ;;
+       rm[46]00)
+               basic_machine=mips-siemens
+               ;;
+       rtpc | rtpc-*)
+               basic_machine=romp-ibm
+               ;;
+       s390 | s390-*)
+               basic_machine=s390-ibm
+               ;;
+       s390x | s390x-*)
+               basic_machine=s390x-ibm
+               ;;
+       sa29200)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       sb1)
+               basic_machine=mipsisa64sb1-unknown
+               ;;
+       sb1el)
+               basic_machine=mipsisa64sb1el-unknown
+               ;;
+       sde)
+               basic_machine=mipsisa32-sde
+               os=-elf
+               ;;
+       sei)
+               basic_machine=mips-sei
+               os=-seiux
+               ;;
+       sequent)
+               basic_machine=i386-sequent
+               ;;
+       sh)
+               basic_machine=sh-hitachi
+               os=-hms
+               ;;
+       sh5el)
+               basic_machine=sh5le-unknown
+               ;;
+       sh64)
+               basic_machine=sh64-unknown
+               ;;
+       sparclite-wrs | simso-wrs)
+               basic_machine=sparclite-wrs
+               os=-vxworks
+               ;;
+       sps7)
+               basic_machine=m68k-bull
+               os=-sysv2
+               ;;
+       spur)
+               basic_machine=spur-unknown
+               ;;
+       st2000)
+               basic_machine=m68k-tandem
+               ;;
+       stratus)
+               basic_machine=i860-stratus
+               os=-sysv4
+               ;;
+       sun2)
+               basic_machine=m68000-sun
+               ;;
+       sun2os3)
+               basic_machine=m68000-sun
+               os=-sunos3
+               ;;
+       sun2os4)
+               basic_machine=m68000-sun
+               os=-sunos4
+               ;;
+       sun3os3)
+               basic_machine=m68k-sun
+               os=-sunos3
+               ;;
+       sun3os4)
+               basic_machine=m68k-sun
+               os=-sunos4
+               ;;
+       sun4os3)
+               basic_machine=sparc-sun
+               os=-sunos3
+               ;;
+       sun4os4)
+               basic_machine=sparc-sun
+               os=-sunos4
+               ;;
+       sun4sol2)
+               basic_machine=sparc-sun
+               os=-solaris2
+               ;;
+       sun3 | sun3-*)
+               basic_machine=m68k-sun
+               ;;
+       sun4)
+               basic_machine=sparc-sun
+               ;;
+       sun386 | sun386i | roadrunner)
+               basic_machine=i386-sun
+               ;;
+       sv1)
+               basic_machine=sv1-cray
+               os=-unicos
+               ;;
+       symmetry)
+               basic_machine=i386-sequent
+               os=-dynix
+               ;;
+       t3e)
+               basic_machine=alphaev5-cray
+               os=-unicos
+               ;;
+       t90)
+               basic_machine=t90-cray
+               os=-unicos
+               ;;
+       tic54x | c54x*)
+               basic_machine=tic54x-unknown
+               os=-coff
+               ;;
+       tic55x | c55x*)
+               basic_machine=tic55x-unknown
+               os=-coff
+               ;;
+       tic6x | c6x*)
+               basic_machine=tic6x-unknown
+               os=-coff
+               ;;
+        # This must be matched before tile*.
+        tilegx*)
+               basic_machine=tilegx-unknown
+               os=-linux-gnu
+               ;;
+       tile*)
+               basic_machine=tile-unknown
+               os=-linux-gnu
+               ;;
+       tx39)
+               basic_machine=mipstx39-unknown
+               ;;
+       tx39el)
+               basic_machine=mipstx39el-unknown
+               ;;
+       toad1)
+               basic_machine=pdp10-xkl
+               os=-tops20
+               ;;
+       tower | tower-32)
+               basic_machine=m68k-ncr
+               ;;
+       tpf)
+               basic_machine=s390x-ibm
+               os=-tpf
+               ;;
+       udi29k)
+               basic_machine=a29k-amd
+               os=-udi
+               ;;
+       ultra3)
+               basic_machine=a29k-nyu
+               os=-sym1
+               ;;
+       v810 | necv810)
+               basic_machine=v810-nec
+               os=-none
+               ;;
+       vaxv)
+               basic_machine=vax-dec
+               os=-sysv
+               ;;
+       vms)
+               basic_machine=vax-dec
+               os=-vms
+               ;;
+       vpp*|vx|vx-*)
+               basic_machine=f301-fujitsu
+               ;;
+       vxworks960)
+               basic_machine=i960-wrs
+               os=-vxworks
+               ;;
+       vxworks68)
+               basic_machine=m68k-wrs
+               os=-vxworks
+               ;;
+       vxworks29k)
+               basic_machine=a29k-wrs
+               os=-vxworks
+               ;;
+       w65*)
+               basic_machine=w65-wdc
+               os=-none
+               ;;
+       w89k-*)
+               basic_machine=hppa1.1-winbond
+               os=-proelf
+               ;;
+       xbox)
+               basic_machine=i686-pc
+               os=-mingw32
+               ;;
+       xps | xps100)
+               basic_machine=xps100-honeywell
+               ;;
+       ymp)
+               basic_machine=ymp-cray
+               os=-unicos
+               ;;
+       z8k-*-coff)
+               basic_machine=z8k-unknown
+               os=-sim
+               ;;
+       z80-*-coff)
+               basic_machine=z80-unknown
+               os=-sim
+               ;;
+       none)
+               basic_machine=none-none
+               os=-none
+               ;;
+
+# Here we handle the default manufacturer of certain CPU types.  It is in
+# some cases the only manufacturer, in others, it is the most popular.
+       w89k)
+               basic_machine=hppa1.1-winbond
+               ;;
+       op50n)
+               basic_machine=hppa1.1-oki
+               ;;
+       op60c)
+               basic_machine=hppa1.1-oki
+               ;;
+       romp)
+               basic_machine=romp-ibm
+               ;;
+       mmix)
+               basic_machine=mmix-knuth
+               ;;
+       rs6000)
+               basic_machine=rs6000-ibm
+               ;;
+       vax)
+               basic_machine=vax-dec
+               ;;
+       pdp10)
+               # there are many clones, so DEC is not a safe bet
+               basic_machine=pdp10-unknown
+               ;;
+       pdp11)
+               basic_machine=pdp11-dec
+               ;;
+       we32k)
+               basic_machine=we32k-att
+               ;;
+       sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
+               basic_machine=sh-unknown
+               ;;
+       sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
+               basic_machine=sparc-sun
+               ;;
+       cydra)
+               basic_machine=cydra-cydrome
+               ;;
+       orion)
+               basic_machine=orion-highlevel
+               ;;
+       orion105)
+               basic_machine=clipper-highlevel
+               ;;
+       mac | mpw | mac-mpw)
+               basic_machine=m68k-apple
+               ;;
+       pmac | pmac-mpw)
+               basic_machine=powerpc-apple
+               ;;
+       *-unknown)
+               # Make sure to match an already-canonicalized machine name.
+               ;;
+       *)
+               echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+       *-digital*)
+               basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+               ;;
+       *-commodore*)
+               basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+               ;;
+       *)
+               ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+        # First match some system type aliases
+        # that might get confused with valid system types.
+       # -solaris* is a basic system type, with this one exception.
+        -auroraux)
+               os=-auroraux
+               ;;
+       -solaris1 | -solaris1.*)
+               os=`echo $os | sed -e 's|solaris1|sunos4|'`
+               ;;
+       -solaris)
+               os=-solaris2
+               ;;
+       -svr4*)
+               os=-sysv4
+               ;;
+       -unixware*)
+               os=-sysv4.2uw
+               ;;
+       -gnu/linux*)
+               os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+               ;;
+       # First accept the basic system types.
+       # The portable systems comes first.
+       # Each alternative MUST END IN A *, to match a version number.
+       # -sysv* is not here because it comes later, after sysvr4.
+       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
+             | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
+             | -sym* | -kopensolaris* \
+             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+             | -aos* | -aros* \
+             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+             | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+             | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
+             | -openbsd* | -solidbsd* \
+             | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+             | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+             | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+             | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+             | -chorusos* | -chorusrdb* | -cegcc* \
+             | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+             | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
+             | -uxpv* | -beos* | -mpeix* | -udk* \
+             | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+             | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+             | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
+       # Remember, each alternative MUST END IN *, to match a version number.
+               ;;
+       -qnx*)
+               case $basic_machine in
+                   x86-* | i*86-*)
+                       ;;
+                   *)
+                       os=-nto$os
+                       ;;
+               esac
+               ;;
+       -nto-qnx*)
+               ;;
+       -nto*)
+               os=`echo $os | sed -e 's|nto|nto-qnx|'`
+               ;;
+       -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+             | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
+             | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+               ;;
+       -mac*)
+               os=`echo $os | sed -e 's|mac|macos|'`
+               ;;
+       -linux-dietlibc)
+               os=-linux-dietlibc
+               ;;
+       -linux*)
+               os=`echo $os | sed -e 's|linux|linux-gnu|'`
+               ;;
+       -sunos5*)
+               os=`echo $os | sed -e 's|sunos5|solaris2|'`
+               ;;
+       -sunos6*)
+               os=`echo $os | sed -e 's|sunos6|solaris3|'`
+               ;;
+       -opened*)
+               os=-openedition
+               ;;
+        -os400*)
+               os=-os400
+               ;;
+       -wince*)
+               os=-wince
+               ;;
+       -osfrose*)
+               os=-osfrose
+               ;;
+       -osf*)
+               os=-osf
+               ;;
+       -utek*)
+               os=-bsd
+               ;;
+       -dynix*)
+               os=-bsd
+               ;;
+       -acis*)
+               os=-aos
+               ;;
+       -atheos*)
+               os=-atheos
+               ;;
+       -syllable*)
+               os=-syllable
+               ;;
+       -386bsd)
+               os=-bsd
+               ;;
+       -ctix* | -uts*)
+               os=-sysv
+               ;;
+       -nova*)
+               os=-rtmk-nova
+               ;;
+       -ns2 )
+               os=-nextstep2
+               ;;
+       -nsk*)
+               os=-nsk
+               ;;
+       # Preserve the version number of sinix5.
+       -sinix5.*)
+               os=`echo $os | sed -e 's|sinix|sysv|'`
+               ;;
+       -sinix*)
+               os=-sysv4
+               ;;
+        -tpf*)
+               os=-tpf
+               ;;
+       -triton*)
+               os=-sysv3
+               ;;
+       -oss*)
+               os=-sysv3
+               ;;
+       -svr4)
+               os=-sysv4
+               ;;
+       -svr3)
+               os=-sysv3
+               ;;
+       -sysvr4)
+               os=-sysv4
+               ;;
+       # This must come after -sysvr4.
+       -sysv*)
+               ;;
+       -ose*)
+               os=-ose
+               ;;
+       -es1800*)
+               os=-ose
+               ;;
+       -xenix)
+               os=-xenix
+               ;;
+       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+               os=-mint
+               ;;
+       -aros*)
+               os=-aros
+               ;;
+       -kaos*)
+               os=-kaos
+               ;;
+       -zvmoe)
+               os=-zvmoe
+               ;;
+       -dicos*)
+               os=-dicos
+               ;;
+        -nacl*)
+               ;;
+       -none)
+               ;;
+       *)
+               # Get rid of the `-' at the beginning of $os.
+               os=`echo $os | sed 's/[^-]*-//'`
+               echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+               exit 1
+               ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system.  Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+        score-*)
+               os=-elf
+               ;;
+        spu-*)
+               os=-elf
+               ;;
+       *-acorn)
+               os=-riscix1.2
+               ;;
+       arm*-rebel)
+               os=-linux
+               ;;
+       arm*-semi)
+               os=-aout
+               ;;
+        c4x-* | tic4x-*)
+               os=-coff
+               ;;
+       # This must come before the *-dec entry.
+       pdp10-*)
+               os=-tops20
+               ;;
+       pdp11-*)
+               os=-none
+               ;;
+       *-dec | vax-*)
+               os=-ultrix4.2
+               ;;
+       m68*-apollo)
+               os=-domain
+               ;;
+       i386-sun)
+               os=-sunos4.0.2
+               ;;
+       m68000-sun)
+               os=-sunos3
+               # This also exists in the configure program, but was not the
+               # default.
+               # os=-sunos4
+               ;;
+       m68*-cisco)
+               os=-aout
+               ;;
+        mep-*)
+               os=-elf
+               ;;
+       mips*-cisco)
+               os=-elf
+               ;;
+       mips*-*)
+               os=-elf
+               ;;
+       or32-*)
+               os=-coff
+               ;;
+       *-tti)  # must be before sparc entry or we get the wrong os.
+               os=-sysv3
+               ;;
+       sparc-* | *-sun)
+               os=-sunos4.1.1
+               ;;
+       *-be)
+               os=-beos
+               ;;
+       *-haiku)
+               os=-haiku
+               ;;
+       *-ibm)
+               os=-aix
+               ;;
+       *-knuth)
+               os=-mmixware
+               ;;
+       *-wec)
+               os=-proelf
+               ;;
+       *-winbond)
+               os=-proelf
+               ;;
+       *-oki)
+               os=-proelf
+               ;;
+       *-hp)
+               os=-hpux
+               ;;
+       *-hitachi)
+               os=-hiux
+               ;;
+       i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+               os=-sysv
+               ;;
+       *-cbm)
+               os=-amigaos
+               ;;
+       *-dg)
+               os=-dgux
+               ;;
+       *-dolphin)
+               os=-sysv3
+               ;;
+       m68k-ccur)
+               os=-rtu
+               ;;
+       m88k-omron*)
+               os=-luna
+               ;;
+       *-next )
+               os=-nextstep
+               ;;
+       *-sequent)
+               os=-ptx
+               ;;
+       *-crds)
+               os=-unos
+               ;;
+       *-ns)
+               os=-genix
+               ;;
+       i370-*)
+               os=-mvs
+               ;;
+       *-next)
+               os=-nextstep3
+               ;;
+       *-gould)
+               os=-sysv
+               ;;
+       *-highlevel)
+               os=-bsd
+               ;;
+       *-encore)
+               os=-bsd
+               ;;
+       *-sgi)
+               os=-irix
+               ;;
+       *-siemens)
+               os=-sysv4
+               ;;
+       *-masscomp)
+               os=-rtu
+               ;;
+       f30[01]-fujitsu | f700-fujitsu)
+               os=-uxpv
+               ;;
+       *-rom68k)
+               os=-coff
+               ;;
+       *-*bug)
+               os=-coff
+               ;;
+       *-apple)
+               os=-macos
+               ;;
+       *-atari*)
+               os=-mint
+               ;;
+       *)
+               os=-none
+               ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer.  We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+       *-unknown)
+               case $os in
+                       -riscix*)
+                               vendor=acorn
+                               ;;
+                       -sunos*)
+                               vendor=sun
+                               ;;
+                       -cnk*|-aix*)
+                               vendor=ibm
+                               ;;
+                       -beos*)
+                               vendor=be
+                               ;;
+                       -hpux*)
+                               vendor=hp
+                               ;;
+                       -mpeix*)
+                               vendor=hp
+                               ;;
+                       -hiux*)
+                               vendor=hitachi
+                               ;;
+                       -unos*)
+                               vendor=crds
+                               ;;
+                       -dgux*)
+                               vendor=dg
+                               ;;
+                       -luna*)
+                               vendor=omron
+                               ;;
+                       -genix*)
+                               vendor=ns
+                               ;;
+                       -mvs* | -opened*)
+                               vendor=ibm
+                               ;;
+                       -os400*)
+                               vendor=ibm
+                               ;;
+                       -ptx*)
+                               vendor=sequent
+                               ;;
+                       -tpf*)
+                               vendor=ibm
+                               ;;
+                       -vxsim* | -vxworks* | -windiss*)
+                               vendor=wrs
+                               ;;
+                       -aux*)
+                               vendor=apple
+                               ;;
+                       -hms*)
+                               vendor=hitachi
+                               ;;
+                       -mpw* | -macos*)
+                               vendor=apple
+                               ;;
+                       -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+                               vendor=atari
+                               ;;
+                       -vos*)
+                               vendor=stratus
+                               ;;
+               esac
+               basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+               ;;
+esac
+
+echo $basic_machine$os
+exit
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/configure b/configure
new file mode 100755 (executable)
index 0000000..c313dc5
--- /dev/null
+++ b/configure
@@ -0,0 +1,34169 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.67 for evas 1.0.999.0.
+#
+# Report bugs to <enlightenment-devel@lists.sourceforge.net>.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software
+# Foundation, Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+        /*)
+          for as_base in sh bash ksh sh5; do
+            # Try only shells that exist, to save several forks.
+            as_shell=$as_dir/$as_base
+            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+          done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  # We cannot yet assume a decent shell, so we have to provide a
+       # neutralization value for shells without unset; and this also
+       # works around shells that cannot unset nonexistent variables.
+       BASH_ENV=/dev/null
+       ENV=/dev/null
+       (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+       export CONFIG_SHELL
+       exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org and
+$0: enlightenment-devel@lists.sourceforge.net about your
+$0: system, including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='        ';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+       test -d "$1/.";
+      else
+       case $1 in #(
+       -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','`
+  ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "$0" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<_LT_EOF
+$*
+_LT_EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+  if test "X${echo_test_string+set}" != Xset; then
+    # find a string as large as possible, as long as the shell can cope with it
+    for cmd in 'sed 50q "$0"' 'sed 20q "$0"' 'sed 10q "$0"' 'sed 2q "$0"' 'echo test'; do
+      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+        { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+      then
+        break
+      fi
+    done
+  fi
+
+  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+     test "X$echo_testing_string" = "X$echo_test_string"; then
+    :
+  else
+    # The Solaris, AIX, and Digital Unix default echo programs unquote
+    # backslashes.  This makes it impossible to quote backslashes using
+    #   echo "$something" | sed 's/\\/\\\\/g'
+    #
+    # So, first we look for a working echo in the user's PATH.
+
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for dir in $PATH /usr/ucb; do
+      IFS="$lt_save_ifs"
+      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        ECHO="$dir/echo"
+        break
+      fi
+    done
+    IFS="$lt_save_ifs"
+
+    if test "X$ECHO" = Xecho; then
+      # We didn't find a better echo, so look for alternatives.
+      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        # This shell has a builtin print -r that does the trick.
+        ECHO='print -r'
+      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+          test "X$CONFIG_SHELL" != X/bin/ksh; then
+        # If we have ksh, try running configure again with it.
+        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+        export ORIGINAL_CONFIG_SHELL
+        CONFIG_SHELL=/bin/ksh
+        export CONFIG_SHELL
+        exec $CONFIG_SHELL "$0" --no-reexec ${1+"$@"}
+      else
+        # Try using printf.
+        ECHO='printf %s\n'
+        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+          echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+          test "X$echo_testing_string" = "X$echo_test_string"; then
+         # Cool, printf works
+         :
+        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($ORIGINAL_CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+         export CONFIG_SHELL
+         SHELL="$CONFIG_SHELL"
+         export SHELL
+         ECHO="$CONFIG_SHELL $0 --fallback-echo"
+        elif echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($CONFIG_SHELL "$0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         ECHO="$CONFIG_SHELL $0 --fallback-echo"
+        else
+         # maybe with a smaller string...
+         prev=:
+
+         for cmd in 'echo test' 'sed 2q "$0"' 'sed 10q "$0"' 'sed 20q "$0"' 'sed 50q "$0"'; do
+           if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+           then
+             break
+           fi
+           prev="$cmd"
+         done
+
+         if test "$prev" != 'sed 50q "$0"'; then
+           echo_test_string=`eval $prev`
+           export echo_test_string
+           exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "$0" ${1+"$@"}
+         else
+           # Oops.  We lost completely, so just stick with echo.
+           ECHO=echo
+         fi
+        fi
+      fi
+    fi
+  fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then
+   lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo"
+fi
+
+
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME='evas'
+PACKAGE_TARNAME='evas'
+PACKAGE_VERSION='1.0.999.0'
+PACKAGE_STRING='evas 1.0.999.0'
+PACKAGE_BUGREPORT='enlightenment-devel@lists.sourceforge.net'
+PACKAGE_URL=''
+
+ac_unique_file="configure.ac"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+requirement_evas
+pthread_libs
+pthread_cflags
+altivec_cflags
+BUILD_EXAMPLES_FALSE
+BUILD_EXAMPLES_TRUE
+INSTALL_EXAMPLES_FALSE
+INSTALL_EXAMPLES_TRUE
+VALGRIND_LIBS
+VALGRIND_CFLAGS
+METRIC_CACHE_FALSE
+METRIC_CACHE_TRUE
+WORD_CACHE_FALSE
+WORD_CACHE_TRUE
+EVAS_MAGIC_DEBUG_FALSE
+EVAS_MAGIC_DEBUG_TRUE
+XEXT_LIBS
+XEXT_CFLAGS
+EVAS_STATIC_BUILD_ICO_FALSE
+EVAS_STATIC_BUILD_ICO_TRUE
+BUILD_LOADER_ICO_FALSE
+BUILD_LOADER_ICO_TRUE
+evas_image_loader_ico_libs
+evas_image_loader_ico_cflags
+EVAS_STATIC_BUILD_WBMP_FALSE
+EVAS_STATIC_BUILD_WBMP_TRUE
+BUILD_LOADER_WBMP_FALSE
+BUILD_LOADER_WBMP_TRUE
+evas_image_loader_wbmp_libs
+evas_image_loader_wbmp_cflags
+EVAS_STATIC_BUILD_TGA_FALSE
+EVAS_STATIC_BUILD_TGA_TRUE
+BUILD_LOADER_TGA_FALSE
+BUILD_LOADER_TGA_TRUE
+evas_image_loader_tga_libs
+evas_image_loader_tga_cflags
+EVAS_STATIC_BUILD_BMP_FALSE
+EVAS_STATIC_BUILD_BMP_TRUE
+BUILD_LOADER_BMP_FALSE
+BUILD_LOADER_BMP_TRUE
+evas_image_loader_bmp_libs
+evas_image_loader_bmp_cflags
+EVAS_STATIC_BUILD_XPM_FALSE
+EVAS_STATIC_BUILD_XPM_TRUE
+BUILD_LOADER_XPM_FALSE
+BUILD_LOADER_XPM_TRUE
+evas_image_loader_xpm_libs
+evas_image_loader_xpm_cflags
+EVAS_STATIC_BUILD_TIFF_FALSE
+EVAS_STATIC_BUILD_TIFF_TRUE
+BUILD_LOADER_TIFF_FALSE
+BUILD_LOADER_TIFF_TRUE
+evas_image_loader_tiff_libs
+evas_image_loader_tiff_cflags
+EVAS_STATIC_BUILD_SVG_FALSE
+EVAS_STATIC_BUILD_SVG_TRUE
+BUILD_LOADER_SVG_FALSE
+BUILD_LOADER_SVG_TRUE
+evas_image_loader_svg_libs
+evas_image_loader_svg_cflags
+SVG_LIBS
+SVG_CFLAGS
+EVAS_STATIC_BUILD_PNG_FALSE
+EVAS_STATIC_BUILD_PNG_TRUE
+BUILD_LOADER_PNG_FALSE
+BUILD_LOADER_PNG_TRUE
+evas_image_loader_png_libs
+evas_image_loader_png_cflags
+PNG_LIBS
+PNG_CFLAGS
+EVAS_STATIC_BUILD_PMAPS_FALSE
+EVAS_STATIC_BUILD_PMAPS_TRUE
+BUILD_LOADER_PMAPS_FALSE
+BUILD_LOADER_PMAPS_TRUE
+evas_image_loader_pmaps_libs
+evas_image_loader_pmaps_cflags
+BUILD_SAVER_JPEG_FALSE
+BUILD_SAVER_JPEG_TRUE
+EVAS_STATIC_BUILD_JPEG_FALSE
+EVAS_STATIC_BUILD_JPEG_TRUE
+BUILD_LOADER_JPEG_FALSE
+BUILD_LOADER_JPEG_TRUE
+evas_image_loader_jpeg_libs
+evas_image_loader_jpeg_cflags
+EVAS_STATIC_BUILD_GIF_FALSE
+EVAS_STATIC_BUILD_GIF_TRUE
+BUILD_LOADER_GIF_FALSE
+BUILD_LOADER_GIF_TRUE
+evas_image_loader_gif_libs
+evas_image_loader_gif_cflags
+EVAS_STATIC_BUILD_EET_FALSE
+EVAS_STATIC_BUILD_EET_TRUE
+BUILD_LOADER_EET_FALSE
+BUILD_LOADER_EET_TRUE
+evas_image_loader_eet_libs
+evas_image_loader_eet_cflags
+EET_LIBS
+EET_CFLAGS
+EVAS_STATIC_BUILD_EDB_FALSE
+EVAS_STATIC_BUILD_EDB_TRUE
+BUILD_LOADER_EDB_FALSE
+BUILD_LOADER_EDB_TRUE
+evas_image_loader_edb_libs
+evas_image_loader_edb_cflags
+EDB_LIBS
+EDB_CFLAGS
+EVAS_STATIC_BUILD_SOFTWARE_8_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_8_TRUE
+BUILD_ENGINE_SOFTWARE_8_FALSE
+BUILD_ENGINE_SOFTWARE_8_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_16_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_16_TRUE
+BUILD_ENGINE_SOFTWARE_16_FALSE
+BUILD_ENGINE_SOFTWARE_16_TRUE
+have_evas_engine_software_xcb
+have_evas_engine_software_xlib
+EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE
+BUILD_ENGINE_SOFTWARE_X11_FALSE
+BUILD_ENGINE_SOFTWARE_X11_TRUE
+EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE
+EVAS_STATIC_BUILD_GL_COMMON_FALSE
+EVAS_STATIC_BUILD_GL_COMMON_TRUE
+BUILD_ENGINE_GL_COMMON_FALSE
+BUILD_ENGINE_GL_COMMON_TRUE
+evas_engine_gl_common_libs
+EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE
+BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE
+BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE
+evas_engine_software_16_wince_libs
+evas_engine_software_16_wince_cflags
+EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE
+BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE
+BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE
+evas_engine_software_16_ddraw_libs
+evas_engine_software_16_ddraw_cflags
+EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE
+BUILD_ENGINE_SOFTWARE_16_X11_FALSE
+BUILD_ENGINE_SOFTWARE_16_X11_TRUE
+evas_engine_software_16_x11_libs
+evas_engine_software_16_x11_cflags
+EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_8_X11_TRUE
+BUILD_ENGINE_SOFTWARE_8_X11_FALSE
+BUILD_ENGINE_SOFTWARE_8_X11_TRUE
+evas_engine_software_8_x11_libs
+evas_engine_software_8_x11_cflags
+EVAS_STATIC_BUILD_DIRECTFB_FALSE
+EVAS_STATIC_BUILD_DIRECTFB_TRUE
+BUILD_ENGINE_DIRECTFB_FALSE
+BUILD_ENGINE_DIRECTFB_TRUE
+evas_engine_directfb_libs
+evas_engine_directfb_cflags
+DIRECTFB_LIBS
+DIRECTFB_CFLAGS
+EVAS_STATIC_BUILD_FB_FALSE
+EVAS_STATIC_BUILD_FB_TRUE
+BUILD_ENGINE_FB_FALSE
+BUILD_ENGINE_FB_TRUE
+evas_engine_fb_libs
+evas_engine_fb_cflags
+EVAS_STATIC_BUILD_GL_SDL_FALSE
+EVAS_STATIC_BUILD_GL_SDL_TRUE
+BUILD_ENGINE_GL_SDL_FALSE
+BUILD_ENGINE_GL_SDL_TRUE
+evas_engine_gl_sdl_libs
+evas_engine_gl_sdl_cflags
+EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE
+BUILD_ENGINE_SOFTWARE_SDL_FALSE
+BUILD_ENGINE_SOFTWARE_SDL_TRUE
+evas_engine_software_sdl_libs
+evas_engine_software_sdl_cflags
+SDL_LIBS
+SDL_CFLAGS
+EVAS_STATIC_BUILD_GL_GLEW_FALSE
+EVAS_STATIC_BUILD_GL_GLEW_TRUE
+BUILD_ENGINE_GL_GLEW_FALSE
+BUILD_ENGINE_GL_GLEW_TRUE
+evas_engine_gl_glew_libs
+evas_engine_gl_glew_cflags
+EVAS_STATIC_BUILD_QUARTZ_FALSE
+EVAS_STATIC_BUILD_QUARTZ_TRUE
+BUILD_ENGINE_QUARTZ_FALSE
+BUILD_ENGINE_QUARTZ_TRUE
+evas_engine_quartz_libs
+evas_engine_quartz_cflags
+OBJCPP
+EVAS_STATIC_BUILD_DIRECT3D_FALSE
+EVAS_STATIC_BUILD_DIRECT3D_TRUE
+BUILD_ENGINE_DIRECT3D_FALSE
+BUILD_ENGINE_DIRECT3D_TRUE
+evas_engine_direct3d_libs
+evas_engine_direct3d_cflags
+EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE
+BUILD_ENGINE_SOFTWARE_DDRAW_FALSE
+BUILD_ENGINE_SOFTWARE_DDRAW_TRUE
+evas_engine_software_ddraw_libs
+evas_engine_software_ddraw_cflags
+EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE
+BUILD_ENGINE_SOFTWARE_GDI_FALSE
+BUILD_ENGINE_SOFTWARE_GDI_TRUE
+evas_engine_software_gdi_libs
+evas_engine_software_gdi_cflags
+EVAS_STATIC_BUILD_XRENDER_XCB_FALSE
+EVAS_STATIC_BUILD_XRENDER_XCB_TRUE
+BUILD_ENGINE_XRENDER_XCB_FALSE
+BUILD_ENGINE_XRENDER_XCB_TRUE
+evas_engine_xrender_xcb_libs
+evas_engine_xrender_xcb_cflags
+XCBRENDER_LIBS
+XCBRENDER_CFLAGS
+EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE
+BUILD_ENGINE_SOFTWARE_XCB_FALSE
+BUILD_ENGINE_SOFTWARE_XCB_TRUE
+evas_engine_software_xcb_libs
+evas_engine_software_xcb_cflags
+XCB_LIBS
+XCB_CFLAGS
+EVAS_STATIC_BUILD_GL_X11_FALSE
+EVAS_STATIC_BUILD_GL_X11_TRUE
+BUILD_ENGINE_GL_X11_FALSE
+BUILD_ENGINE_GL_X11_TRUE
+evas_engine_gl_x11_libs
+evas_engine_gl_x11_cflags
+EVAS_STATIC_BUILD_XRENDER_X11_FALSE
+EVAS_STATIC_BUILD_XRENDER_X11_TRUE
+BUILD_ENGINE_XRENDER_X11_FALSE
+BUILD_ENGINE_XRENDER_X11_TRUE
+evas_engine_xrender_x11_libs
+evas_engine_xrender_x11_cflags
+EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE
+EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE
+BUILD_ENGINE_SOFTWARE_XLIB_FALSE
+BUILD_ENGINE_SOFTWARE_XLIB_TRUE
+evas_engine_software_xlib_libs
+evas_engine_software_xlib_cflags
+X_EXTRA_LIBS
+X_LIBS
+X_PRE_LIBS
+X_CFLAGS
+XMKMF
+EVAS_STATIC_BUILD_BUFFER_FALSE
+EVAS_STATIC_BUILD_BUFFER_TRUE
+BUILD_ENGINE_BUFFER_FALSE
+BUILD_ENGINE_BUFFER_TRUE
+evas_engine_buffer_libs
+evas_engine_buffer_cflags
+EVAS_CSERVE_FALSE
+EVAS_CSERVE_TRUE
+dlopen_libs
+EFL_FNMATCH_LIBS
+ALLOCA
+lt_enable_auto_import
+WIN32_CFLAGS
+WIN32_CPPFLAGS
+HARFBUZZ_LIBS
+HARFBUZZ_CFLAGS
+FRIBIDI_LIBS
+FRIBIDI_CFLAGS
+FONTCONFIG_LIBS
+FONTCONFIG_CFLAGS
+FREETYPE_LIBS
+FREETYPE_CFLAGS
+EINA_LIBS
+EINA_CFLAGS
+EVIL_LIBS
+EVIL_CFLAGS
+EFL_BUILD_DOC_FALSE
+EFL_BUILD_DOC_TRUE
+efl_doxygen
+efl_have_doxygen
+pkgconfig_requires_private
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+CXXCPP
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+am__fastdepOBJC_FALSE
+am__fastdepOBJC_TRUE
+OBJCDEPMODE
+ac_ct_OBJC
+OBJCFLAGS
+OBJC
+MODULE_ARCH
+VMAJ
+release_info
+version_info
+OTOOL64
+OTOOL
+LIPO
+NMEDIT
+DSYMUTIL
+lt_ECHO
+RANLIB
+AR
+LN_S
+NM
+ac_ct_DUMPBIN
+DUMPBIN
+LD
+FGREP
+SED
+LIBTOOL
+OBJDUMP
+DLLTOOL
+AS
+host_os
+host_vendor
+host_cpu
+host
+build_os
+build_vendor
+build_cpu
+build
+EGREP
+GREP
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+AM_BACKSLASH
+AM_DEFAULT_VERBOSITY
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_silent_rules
+enable_dependency_tracking
+enable_shared
+enable_static
+with_pic
+enable_fast_install
+with_gnu_ld
+enable_libtool_lock
+enable_strict
+enable_simple_x11
+enable_doc
+with_doxygen
+enable_fontconfig
+enable_fribidi
+enable_harfbuzz
+enable_evas_cserve
+enable_gl_flavor_gles
+enable_gles_variety_sgx
+enable_gles_variety_s3c6410
+enable_buffer
+enable_software_xlib
+with_x
+enable_xrender_x11
+enable_gl_x11
+enable_software_xcb
+enable_xrender_xcb
+enable_software_gdi
+enable_software_ddraw
+enable_direct3d
+enable_quartz
+enable_gl_glew
+enable_software_sdl
+enable_gl_sdl
+enable_fb
+enable_directfb
+enable_software_8_x11
+enable_software_16_x11
+enable_software_16_ddraw
+enable_software_16_wince
+enable_sdl_primitive
+enable_static_software_generic
+enable_static_software_16
+enable_static_software_8
+enable_image_loader_edb
+enable_image_loader_eet
+enable_font_loader_eet
+enable_image_loader_gif
+enable_image_loader_jpeg
+enable_image_loader_pmaps
+enable_image_loader_png
+enable_image_loader_svg
+enable_image_loader_tiff
+enable_image_loader_xpm
+enable_image_loader_bmp
+enable_image_loader_tga
+enable_image_loader_wbmp
+enable_image_loader_ico
+enable_pthreads
+enable_pipe_render
+enable_async_render
+enable_async_events
+enable_async_preload
+enable_cpu_mmx
+enable_cpu_sse
+enable_cpu_altivec
+enable_cpu_neon
+enable_cpu_c
+enable_evas_magic_debug
+enable_word_cache
+enable_metric_cache
+enable_scale_sample
+enable_scale_smooth
+enable_convert_yuv
+enable_small_dither_mask
+enable_line_dither_mask
+enable_no_dither_mask
+enable_convert_8_rgb_332
+enable_convert_8_rgb_666
+enable_convert_8_rgb_232
+enable_convert_8_rgb_222
+enable_convert_8_rgb_221
+enable_convert_8_rgb_121
+enable_convert_8_rgb_111
+enable_convert_16_rgb_565
+enable_convert_16_bgr_565
+enable_convert_16_rgb_555
+enable_convert_16_rgb_444
+enable_convert_16_rgb_ipq
+enable_convert_16_rgb_rot_0
+enable_convert_16_rgb_rot_180
+enable_convert_16_rgb_rot_270
+enable_convert_16_rgb_rot_90
+enable_convert_24_rgb_888
+enable_convert_24_bgr_888
+enable_convert_32_rgb_8888
+enable_convert_32_rgbx_8888
+enable_convert_32_bgr_8888
+enable_convert_32_bgrx_8888
+enable_convert_24_rgb_ezx
+enable_convert_32_rgb_ezx
+enable_convert_32_rgb_rot_0
+enable_convert_32_rgb_rot_180
+enable_convert_32_rgb_rot_270
+enable_convert_32_rgb_rot_90
+enable_convert_8_gry_1
+enable_convert_8_gry_16
+enable_convert_8_grayscale_64
+enable_valgrind
+enable_install_examples
+enable_build_examples
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+OBJC
+OBJCFLAGS
+CXX
+CXXFLAGS
+CCC
+CXXCPP
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+EVIL_CFLAGS
+EVIL_LIBS
+EINA_CFLAGS
+EINA_LIBS
+FREETYPE_CFLAGS
+FREETYPE_LIBS
+FONTCONFIG_CFLAGS
+FONTCONFIG_LIBS
+FRIBIDI_CFLAGS
+FRIBIDI_LIBS
+HARFBUZZ_CFLAGS
+HARFBUZZ_LIBS
+XMKMF
+XCB_CFLAGS
+XCB_LIBS
+XCBRENDER_CFLAGS
+XCBRENDER_LIBS
+OBJCPP
+SDL_CFLAGS
+SDL_LIBS
+DIRECTFB_CFLAGS
+DIRECTFB_LIBS
+EDB_CFLAGS
+EDB_LIBS
+EET_CFLAGS
+EET_LIBS
+PNG_CFLAGS
+PNG_LIBS
+SVG_CFLAGS
+SVG_LIBS
+XEXT_CFLAGS
+XEXT_LIBS
+VALGRIND_CFLAGS
+VALGRIND_LIBS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *=)   ac_optarg= ;;
+  *)    ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error $? "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error $? "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information"
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error $? "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
+               datadir sysconfdir sharedstatedir localstatedir includedir \
+               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+               libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used" >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error $? "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error $? "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_myself" : 'X\(//\)[^/]' \| \
+        X"$as_myself" : 'X\(//\)$' \| \
+        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
+       pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures evas 1.0.999.0 to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking ...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/evas]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+
+X features:
+  --x-includes=DIR    X include files are in DIR
+  --x-libraries=DIR   X library files are in DIR
+
+System types:
+  --build=BUILD     configure for building on BUILD [guessed]
+  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+  case $ac_init_help in
+     short | recursive ) echo "Configuration of evas 1.0.999.0:";;
+   esac
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-silent-rules          less verbose build output (undo: `make V=1')
+  --disable-silent-rules         verbose build output (undo: `make V=0')
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
+  --enable-shared[=PKGS]  build shared libraries [default=yes]
+  --enable-static[=PKGS]  build static libraries [default=yes]
+  --enable-fast-install[=PKGS]
+                          optimize for fast installation [default=yes]
+  --disable-libtool-lock  avoid locking (might break parallel builds)
+  --enable-strict         enable strict checking mode. [default==disabled]
+  --enable-simple-x11     enable simple x11 linking
+  --disable-doc           Disable documentation build [default=enabled]
+  --disable-fontconfig    disable fontconfig for finding fonts.
+                          [default=enabled]
+  --disable-fribidi       disable bidirectional text support.
+                          [default=enabled]
+  --disable-harfbuzz      disable complex text shaping and layouting support.
+                          [default=enabled]
+  --disable-evas-cserve   disable shared cache server support.
+                          [default=enabled]
+  --enable-gl-flavor-gles enable gles falvor of gl instead of standard
+  --enable-gles-variety-sgx
+                          GLES variety SGX 3D unit
+  --enable-gles-variety-s3c6410
+                          GLES variety s3c6410 3D unit
+  --enable-buffer         enable Buffer rendering backend
+  --enable-software-xlib  enable Software Xlib rendering backend
+  --enable-xrender-x11    enable XRender X11 rendering backend
+  --enable-gl-x11         enable OpenGL X11 rendering backend
+  --enable-software-xcb   enable Software XCB rendering backend
+  --enable-xrender-xcb    enable XRender XCB rendering backend
+  --enable-software-gdi   enable Software GDI rendering backend
+  --enable-software-ddraw enable Software DirectDraw rendering backend
+  --enable-direct3d       enable Direct3D rendering backend
+  --enable-quartz         enable Quartz rendering backend
+  --enable-gl-glew        enable OpenGL Glew rendering backend
+  --enable-software-sdl   enable Software SDL rendering backend
+  --enable-gl-sdl         enable OpenGL SDL rendering backend
+  --enable-fb             enable Framebuffer rendering backend
+  --enable-directfb       enable DirectFB rendering backend
+  --enable-software-8-x11 enable Software X11 8 bits grayscale rendering
+                          backend
+  --enable-software-16-x11
+                          enable Software X11 16 bits rendering backend
+  --enable-software-16-ddraw
+                          enable Software DirectDraw 16 bits rendering backend
+  --enable-software-16-wince
+                          enable Software Windows CE 16 bits rendering backend
+  --enable-sdl-primitive
+  --enable-static-software-generic
+                          Build software generic engine as part of libevas
+  --enable-static-software-16
+                          Build software 16 engine as part of libevas
+  --enable-static-software-8
+                          Build software 8 engine as part of libevas
+  --enable-image-loader-edb
+                          enable Edb image loader
+  --enable-image-loader-eet
+                          enable Eet image loader
+  --disable-font-loader-eet
+                          disable EET font loader. [[default=enabled]]
+  --enable-image-loader-gif
+                          enable Gif image loader
+  --enable-image-loader-jpeg
+                          enable Jpeg image loader
+  --enable-image-loader-pmaps
+                          enable PMAPS image loader
+  --enable-image-loader-png
+                          enable PNG image loader
+  --enable-image-loader-svg
+                          enable SVG image loader
+  --enable-image-loader-tiff
+                          enable Tiff image loader
+  --enable-image-loader-xpm
+                          enable XPM image loader
+  --enable-image-loader-bmp
+                          enable BMP image loader
+  --enable-image-loader-tga
+                          enable TGA image loader
+  --enable-image-loader-wbmp
+                          enable WBMP image loader
+  --enable-image-loader-ico
+                          enable ICO image loader
+  --enable-pthreads       enable threaded rendering
+  --enable-pipe-render    enable threaded pipe rendering support
+  --enable-async-render   enable asynchronously threaded pipe rendering
+                          support
+  --enable-async-events   enable async events support
+  --enable-async-preload  enable async image preloading support
+  --enable-cpu-mmx        enable mmx code
+  --enable-cpu-sse        enable sse code
+  --enable-cpu-altivec    enable altivec code
+  --enable-cpu-neon       build neon code, the code will be checked at run
+                          time to see if the CPU supports it
+  --enable-cpu-c          enable C code
+  --disable-evas-magic-debug
+                          disable MAGIC_DEBUG check when people pass in wrong
+                          object type. [[default=enabled]]
+  --enable-word-cache     Enable experimental word caching to speed up
+                          rendering [[default=disabled]]
+  --enable-metric-cache   Enable experimental metric caching to speed up
+                          rendering [[default=disabled]]
+  --disable-scale-sample  disable sampling scaler code [default=enabled]
+  --disable-scale-smooth  disable smooth scaler code [default=enabled]
+  --enable-convert-yuv    enable yuv converter code
+  --enable-small-dither-mask
+                          enable small dither mask [default=disabled]
+  --enable-line-dither-mask
+                          enable line dither mask [default=disabled]
+  --enable-no-dither-mask enable conversion to 16bpp without dither mask
+                          [default=disabled]
+  --disable-convert-8-rgb-332
+                          disable the 8bpp RGB 332 converter code
+  --disable-convert-8-rgb-666
+                          disable the 8bpp RGB 666 converter code
+  --disable-convert-8-rgb-232
+                          disable the 8bpp RGB 232 converter code
+  --disable-convert-8-rgb-222
+                          disable the 8bpp RGB 222 converter code
+  --disable-convert-8-rgb-221
+                          disable the 8bpp RGB 221 converter code
+  --disable-convert-8-rgb-121
+                          disable the 8bpp RGB 121 converter code
+  --disable-convert-8-rgb-111
+                          disable the 8bpp RGB 111 converter code
+  --disable-convert-16-rgb-565
+                          disable the 16bpp RGB 565 converter code
+  --disable-convert-16-bgr-565
+                          disable the 16bpp BGR 565 converter code
+  --disable-convert-16-rgb-555
+                          disable the 16bpp RGB 555 converter code
+  --disable-convert-16-rgb-444
+                          disable the 16bpp RGB 444 converter code
+  --disable-convert-16-rgb-ipq
+                          disable 16bpp 565 (444 ipaq) converter code
+  --disable-convert-16-rgb-rot-0
+                          disable the 16bpp RGB rotation 0 converter code
+  --disable-convert-16-rgb-rot-180
+                          disable the 16bpp RGB rotation 180 converter code
+  --disable-convert-16-rgb-rot-270
+                          disable the 16bpp RGB rotation 270 converter code
+  --disable-convert-16-rgb-rot-90
+                          disable the 16bpp RGB rotation 90 converter code
+  --disable-convert-24-rgb-888
+                          disable the 24bpp RGB 888 converter code
+  --disable-convert-24-bgr-888
+                          disable the 24bpp BGR 888 converter code
+  --disable-convert-32-rgb-8888
+                          disable the 32bpp RGB 8888 converter code
+  --disable-convert-32-rgbx-8888
+                          disable the 32bpp RGBX 8888 converter code
+  --disable-convert-32-bgr-8888
+                          disable the 32bpp BGR 8888 converter code
+  --disable-convert-32-bgrx-8888
+                          disable the 32bpp BGRX 8888 converter code
+  --disable-convert-24-rgb-ezx
+                          disable 24bpp 666 (666 ezx) converter code
+  --disable-convert-32-rgb-ezx
+                          disable 32bpp 666 (666 ezx) converter code
+  --disable-convert-32-rgb-rot-0
+                          disable the 32bpp RGB rotation 0 converter code
+  --disable-convert-32-rgb-rot-180
+                          disable the 32bpp RGB rotation 180 converter code
+  --disable-convert-32-rgb-rot-270
+                          disable the 32bpp RGB rotation 270 converter code
+  --disable-convert-32-rgb-rot-90
+                          disable the 32bpp RGB rotation 90 converter code
+  --disable-convert-8-gry-1
+                          disable the 8bpp GRY 1 converter code
+  --disable-convert-8-gry-16
+                          disable the 8bpp GRY 16 converter code
+  --disable-convert-8-grayscale-64
+                          disable 8bpp grayscale 64-palette converter code
+  --enable-valgrind       enable valgrind fixes to stop false reports
+  --disable-install-examples
+                          disable installing examples (compiled or just
+                          source). [default==enabled]
+  --enable-build-examples enable building examples. [default==disabled]
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+  --with-pic              try to use only PIC/non-PIC objects [default=use
+                          both]
+  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
+  --with-doxygen=FILE     doxygen program to use [default=doxygen]
+  --with-x                use the X Window System
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+  OBJC        Objective C compiler command
+  OBJCFLAGS   Objective C compiler flags
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
+  CXXCPP      C++ preprocessor
+  PKG_CONFIG  path to pkg-config utility
+  PKG_CONFIG_PATH
+              directories to add to pkg-config's search path
+  PKG_CONFIG_LIBDIR
+              path overriding pkg-config's built-in search path
+  EVIL_CFLAGS C compiler flags for EVIL, overriding pkg-config
+  EVIL_LIBS   linker flags for EVIL, overriding pkg-config
+  EINA_CFLAGS C compiler flags for EINA, overriding pkg-config
+  EINA_LIBS   linker flags for EINA, overriding pkg-config
+  FREETYPE_CFLAGS
+              C compiler flags for FREETYPE, overriding pkg-config
+  FREETYPE_LIBS
+              linker flags for FREETYPE, overriding pkg-config
+  FONTCONFIG_CFLAGS
+              C compiler flags for FONTCONFIG, overriding pkg-config
+  FONTCONFIG_LIBS
+              linker flags for FONTCONFIG, overriding pkg-config
+  FRIBIDI_CFLAGS
+              C compiler flags for FRIBIDI, overriding pkg-config
+  FRIBIDI_LIBS
+              linker flags for FRIBIDI, overriding pkg-config
+  HARFBUZZ_CFLAGS
+              C compiler flags for HARFBUZZ, overriding pkg-config
+  HARFBUZZ_LIBS
+              linker flags for HARFBUZZ, overriding pkg-config
+  XMKMF       Path to xmkmf, Makefile generator for X Window System
+  XCB_CFLAGS  C compiler flags for XCB, overriding pkg-config
+  XCB_LIBS    linker flags for XCB, overriding pkg-config
+  XCBRENDER_CFLAGS
+              C compiler flags for XCBRENDER, overriding pkg-config
+  XCBRENDER_LIBS
+              linker flags for XCBRENDER, overriding pkg-config
+  OBJCPP      Objective C preprocessor
+  SDL_CFLAGS  C compiler flags for SDL, overriding pkg-config
+  SDL_LIBS    linker flags for SDL, overriding pkg-config
+  DIRECTFB_CFLAGS
+              C compiler flags for DIRECTFB, overriding pkg-config
+  DIRECTFB_LIBS
+              linker flags for DIRECTFB, overriding pkg-config
+  EDB_CFLAGS  C compiler flags for EDB, overriding pkg-config
+  EDB_LIBS    linker flags for EDB, overriding pkg-config
+  EET_CFLAGS  C compiler flags for EET, overriding pkg-config
+  EET_LIBS    linker flags for EET, overriding pkg-config
+  PNG_CFLAGS  C compiler flags for PNG, overriding pkg-config
+  PNG_LIBS    linker flags for PNG, overriding pkg-config
+  SVG_CFLAGS  C compiler flags for SVG, overriding pkg-config
+  SVG_LIBS    linker flags for SVG, overriding pkg-config
+  XEXT_CFLAGS C compiler flags for XEXT, overriding pkg-config
+  XEXT_LIBS   linker flags for XEXT, overriding pkg-config
+  VALGRIND_CFLAGS
+              C compiler flags for VALGRIND, overriding pkg-config
+  VALGRIND_LIBS
+              linker flags for VALGRIND, overriding pkg-config
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to <enlightenment-devel@lists.sourceforge.net>.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+evas configure 1.0.999.0
+generated by GNU Autoconf 2.67
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval "test \"\${$3+set}\"" = set; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## -------------------------------------------------------- ##
+## Report this to enlightenment-devel@lists.sourceforge.net ##
+## -------------------------------------------------------- ##"
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_func
+
+# ac_fn_objc_try_compile LINENO
+# -----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_objc_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+        test -z "$ac_objc_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_objc_try_compile
+
+# ac_fn_objc_try_link LINENO
+# --------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_objc_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+        test -z "$ac_objc_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_objc_try_link
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+        test -z "$ac_cxx_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+        test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+        test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_cpp
+
+# ac_fn_cxx_try_link LINENO
+# -------------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+        test -z "$ac_cxx_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_link
+
+# ac_fn_objc_try_cpp LINENO
+# -------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_objc_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } > conftest.i && {
+        test -z "$ac_objc_preproc_warn_flag$ac_objc_werror_flag" ||
+        test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_objc_try_cpp
+
+# ac_fn_objc_check_header_mongrel LINENO HEADER VAR INCLUDES
+# ----------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_objc_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if eval "test \"\${$3+set}\"" = set; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_objc_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_objc_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+( $as_echo "## -------------------------------------------------------- ##
+## Report this to enlightenment-devel@lists.sourceforge.net ##
+## -------------------------------------------------------- ##"
+     ) | sed "s/^/$as_me: WARNING:     /" >&2
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_objc_check_header_mongrel
+
+# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES
+# ---------------------------------------------
+# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR
+# accordingly.
+ac_fn_c_check_decl ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  as_decl_name=`echo $2|sed 's/ *(.*//'`
+  as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'`
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5
+$as_echo_n "checking whether $as_decl_name is declared... " >&6; }
+if eval "test \"\${$3+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+int
+main ()
+{
+#ifndef $as_decl_name
+#ifdef __cplusplus
+  (void) $as_decl_use;
+#else
+  (void) $as_decl_name;
+#endif
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_decl
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by evas $as_me 1.0.999.0, which was
+generated by GNU Autoconf 2.67.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+       ac_must_keep_next=false # Got value, back to normal.
+      else
+       case $ac_arg in
+         *=* | --config-cache | -C | -disable-* | --disable-* \
+         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+         | -with-* | --with-* | -without-* | --without-* | --x)
+           case "$ac_configure_args0 " in
+             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+           esac
+           ;;
+         -* ) ac_must_keep_next=true ;;
+       esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    $as_echo "## ---------------- ##
+## Cache variables. ##
+## ---------------- ##"
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+       "s/'\''/'\''\\\\'\'''\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    $as_echo "## ----------------- ##
+## Output variables. ##
+## ----------------- ##"
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      $as_echo "## ------------------- ##
+## File substitutions. ##
+## ------------------- ##"
+      echo
+      for ac_var in $ac_subst_files
+      do
+       eval ac_val=\$$ac_var
+       case $ac_val in
+       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       esac
+       $as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      $as_echo "## ----------- ##
+## confdefs.h. ##
+## ----------- ##"
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  # We do not want a PATH search for config.site.
+  case $CONFIG_SITE in #((
+    -*)  ac_site_file1=./$CONFIG_SITE;;
+    */*) ac_site_file1=$CONFIG_SITE;;
+    *)   ac_site_file1=./$CONFIG_SITE;;
+  esac
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file" \
+      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "failed to load site script $ac_site_file
+See \`config.log' for more details" "$LINENO" 5 ; }
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+       # differences in whitespace do not lead to failure.
+       ac_old_val_w=`echo x $ac_old_val`
+       ac_new_val_w=`echo x $ac_new_val`
+       if test "$ac_old_val_w" != "$ac_new_val_w"; then
+         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+         ac_cache_corrupted=:
+       else
+         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+         eval $ac_var=\$ac_old_val
+       fi
+       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+
+
+am__api_version='1.11'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  if test -f "$ac_dir/install-sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install-sh -c"
+    break
+  elif test -f "$ac_dir/install.sh"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/install.sh -c"
+    break
+  elif test -f "$ac_dir/shtool"; then
+    ac_aux_dir=$ac_dir
+    ac_install_sh="$ac_aux_dir/shtool install -c"
+    break
+  fi
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+       if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+         if test $ac_prog = install &&
+           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # AIX install.  It has an incompatible calling convention.
+           :
+         elif test $ac_prog = install &&
+           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+           # program-specific install script used by HP pwplus--don't use.
+           :
+         else
+           rm -rf conftest.one conftest.two conftest.dir
+           echo one > conftest.one
+           echo two > conftest.two
+           mkdir conftest.dir
+           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+             test -s conftest.one && test -s conftest.two &&
+             test -s conftest.dir/conftest.one &&
+             test -s conftest.dir/conftest.two
+           then
+             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+             break 3
+           fi
+         fi
+       fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5 ;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \    ]*)
+    as_fn_error $? "unsafe srcdir value: \`$srcdir'" "$LINENO" 5 ;;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      as_fn_error $? "ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   as_fn_error $? "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\    *)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\    *)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if test "${ac_cv_path_mkdir+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+        for ac_exec_ext in '' $ac_executable_extensions; do
+          { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+          case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+            'mkdir (GNU coreutils) '* | \
+            'mkdir (coreutils) '* | \
+            'mkdir (fileutils) '4.1*)
+              ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+              break 3;;
+          esac
+        done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\"" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+       @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE='evas'
+ VERSION='1.0.999.0'
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+# Check whether --enable-silent-rules was given.
+if test "${enable_silent_rules+set}" = set; then :
+  enableval=$enable_silent_rules;
+fi
+
+case $enable_silent_rules in
+yes) AM_DEFAULT_VERBOSITY=0;;
+no)  AM_DEFAULT_VERBOSITY=1;;
+*)   AM_DEFAULT_VERBOSITY=0;;
+esac
+AM_BACKSLASH='\'
+
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+       @echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5 ; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+       ;;
+    [ab].out )
+       # We found the default executable, but exeext='' is most
+       # certainly right.
+       break;;
+    *.* )
+       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+       then :; else
+          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+       fi
+       # We set ac_cv_exeext here because the later test for it is not
+       # safe: cross compilers may not add the suffix if given an `-o'
+       # argument, so we may need to know it at that point already.
+       # Even if this section looks crufty: it has the advantage of
+       # actually working.
+       break;;
+    * )
+       break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error 77 "C compiler cannot create executables
+See \`config.log' for more details" "$LINENO" 5 ; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+         break;;
+    * ) break;;
+  esac
+done
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details" "$LINENO" 5 ; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+       cross_compiling=yes
+    else
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details" "$LINENO" 5 ; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details" "$LINENO" 5 ; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+        CFLAGS="-g"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5 ; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+                  (('a' <= (c) && (c) <= 'i') \
+                    || ('j' <= (c) && (c) <= 'r') \
+                    || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+       || toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+                 inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+  ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+  MINIX=yes
+else
+  MINIX=
+fi
+
+
+  if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+  fi
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#        define __EXTENSIONS__ 1
+         $ac_includes_default
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_safe_to_define___extensions__=yes
+else
+  ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+  test $ac_cv_safe_to_define___extensions__ = yes &&
+    $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+  $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+  $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+  $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
+$as_echo_n "checking build system type... " >&6; }
+if test "${ac_cv_build+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
+$as_echo "$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
+$as_echo_n "checking host system type... " >&6; }
+if test "${ac_cv_host+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
+$as_echo "$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AS+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AS"; then
+  ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AS="${ac_tool_prefix}as"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AS=$ac_cv_prog_AS
+if test -n "$AS"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5
+$as_echo "$AS" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AS"; then
+  ac_ct_AS=$AS
+  # Extract the first word of "as", so it can be a program name with args.
+set dummy as; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AS+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AS"; then
+  ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_AS="as"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AS=$ac_cv_prog_ac_ct_AS
+if test -n "$ac_ct_AS"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5
+$as_echo "$ac_ct_AS" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_AS" = x; then
+    AS="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AS=$ac_ct_AS
+  fi
+else
+  AS="$ac_cv_prog_AS"
+fi
+
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DLLTOOL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DLLTOOL"; then
+  ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DLLTOOL=$ac_cv_prog_DLLTOOL
+if test -n "$DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5
+$as_echo "$DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DLLTOOL"; then
+  ac_ct_DLLTOOL=$DLLTOOL
+  # Extract the first word of "dlltool", so it can be a program name with args.
+set dummy dlltool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DLLTOOL"; then
+  ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_DLLTOOL="dlltool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL
+if test -n "$ac_ct_DLLTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5
+$as_echo "$ac_ct_DLLTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DLLTOOL" = x; then
+    DLLTOOL="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DLLTOOL=$ac_ct_DLLTOOL
+  fi
+else
+  DLLTOOL="$ac_cv_prog_DLLTOOL"
+fi
+
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+  ;;
+esac
+
+test -z "$AS" && AS=as
+
+
+
+
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+
+
+
+
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+
+case `pwd` in
+  *\ * | *\    *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
+$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
+esac
+
+
+
+macro_version='2.2.6b'
+macro_revision='1.3017'
+
+
+
+
+
+
+
+
+
+
+
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
+$as_echo_n "checking for a sed that does not truncate output... " >&6; }
+if test "${ac_cv_path_SED+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
+     for ac_i in 1 2 3 4 5 6 7; do
+       ac_script="$ac_script$as_nl$ac_script"
+     done
+     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
+     { ac_script=; unset ac_script;}
+     if test -z "$SED"; then
+  ac_path_SED_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue
+# Check for GNU ac_path_SED and select it if it is found.
+  # Check for GNU $ac_path_SED
+case `"$ac_path_SED" --version 2>&1` in
+*GNU*)
+  ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo '' >> "conftest.nl"
+    "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_SED_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_SED="$ac_path_SED"
+      ac_path_SED_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_SED_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_SED"; then
+    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
+  fi
+else
+  ac_cv_path_SED=$SED
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
+$as_echo "$ac_cv_path_SED" >&6; }
+ SED="$ac_cv_path_SED"
+  rm -f conftest.sed
+
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+
+
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
+$as_echo_n "checking for fgrep... " >&6; }
+if test "${ac_cv_path_FGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
+   then ac_cv_path_FGREP="$GREP -F"
+   else
+     if test -z "$FGREP"; then
+  ac_path_FGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in fgrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue
+# Check for GNU ac_path_FGREP and select it if it is found.
+  # Check for GNU $ac_path_FGREP
+case `"$ac_path_FGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'FGREP' >> "conftest.nl"
+    "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_FGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_FGREP="$ac_path_FGREP"
+      ac_path_FGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_FGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_FGREP"; then
+    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_FGREP=$FGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
+$as_echo "$ac_cv_path_FGREP" >&6; }
+ FGREP="$ac_cv_path_FGREP"
+
+
+test -z "$GREP" && GREP=grep
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+       test "$with_gnu_ld" != no && break
+       ;;
+      *)
+       test "$with_gnu_ld" != yes && break
+       ;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
+$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
+if test "${lt_cv_path_NM+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+       # Check to see if the nm accepts a BSD-compat flag.
+       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+       #   nm: unknown option "B" ignored
+       # Tru64's nm complains that /dev/null is an invalid object file
+       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+       */dev/null* | *'Invalid file or object type'*)
+         lt_cv_path_NM="$tmp_nm -B"
+         break
+         ;;
+       *)
+         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+         */dev/null*)
+           lt_cv_path_NM="$tmp_nm -p"
+           break
+           ;;
+         *)
+           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+           continue # so that we can try to find one that supports BSD flags
+           ;;
+         esac
+         ;;
+       esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
+$as_echo "$lt_cv_path_NM" >&6; }
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DUMPBIN+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DUMPBIN"; then
+  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DUMPBIN=$ac_cv_prog_DUMPBIN
+if test -n "$DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
+$as_echo "$DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$DUMPBIN" && break
+  done
+fi
+if test -z "$DUMPBIN"; then
+  ac_ct_DUMPBIN=$DUMPBIN
+  for ac_prog in "dumpbin -symbols" "link -dump -symbols"
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DUMPBIN"; then
+  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
+if test -n "$ac_ct_DUMPBIN"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
+$as_echo "$ac_ct_DUMPBIN" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_DUMPBIN" && break
+done
+
+  if test "x$ac_ct_DUMPBIN" = x; then
+    DUMPBIN=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DUMPBIN=$ac_ct_DUMPBIN
+  fi
+fi
+
+
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
+$as_echo_n "checking the name lister ($NM) interface... " >&6; }
+if test "${lt_cv_nm_interface+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:6189: $ac_compile\"" >&5)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:6192: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&5
+  (eval echo "\"\$as_me:6195: output\"" >&5)
+  cat conftest.out >&5
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
+$as_echo "$lt_cv_nm_interface" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
+$as_echo_n "checking whether ln -s works... " >&6; }
+LN_S=$as_ln_s
+if test "$LN_S" = "ln -s"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
+$as_echo "no, using $LN_S" >&6; }
+fi
+
+# find the maximum length of command line arguments
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
+$as_echo_n "checking the maximum length of command line arguments... " >&6; }
+if test "${lt_cv_sys_max_cmd_len+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+    i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+                = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+             test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+
+fi
+
+if test -n $lt_cv_sys_max_cmd_len ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
+$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
+$as_echo "none" >&6; }
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+
+
+
+
+
+
+: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
+$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
+$as_echo "$xsi_shell" >&6; }
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
+$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
+$as_echo "$lt_shell_append" >&6; }
+
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+
+
+
+
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
+$as_echo_n "checking for $LD option to reload object files... " >&6; }
+if test "${lt_cv_ld_reload_flag+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_reload_flag='-r'
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
+$as_echo "$lt_cv_ld_reload_flag" >&6; }
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
+set dummy ${ac_tool_prefix}objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJDUMP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJDUMP"; then
+  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJDUMP=$ac_cv_prog_OBJDUMP
+if test -n "$OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
+$as_echo "$OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OBJDUMP"; then
+  ac_ct_OBJDUMP=$OBJDUMP
+  # Extract the first word of "objdump", so it can be a program name with args.
+set dummy objdump; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OBJDUMP"; then
+  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OBJDUMP="objdump"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
+if test -n "$ac_ct_OBJDUMP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
+$as_echo "$ac_ct_OBJDUMP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OBJDUMP" = x; then
+    OBJDUMP="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJDUMP=$ac_ct_OBJDUMP
+  fi
+else
+  OBJDUMP="$ac_cv_prog_OBJDUMP"
+fi
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
+$as_echo_n "checking how to recognize dependent libraries... " >&6; }
+if test "${lt_cv_deplibs_check_method+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[4-9]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[45]*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9].[0-9]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[3-9]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
+$as_echo "$lt_cv_deplibs_check_method" >&6; }
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AR+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AR"; then
+  ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AR="${ac_tool_prefix}ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AR=$ac_cv_prog_AR
+if test -n "$AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
+$as_echo "$AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_AR"; then
+  ac_ct_AR=$AR
+  # Extract the first word of "ar", so it can be a program name with args.
+set dummy ar; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_AR+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_AR"; then
+  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_AR="ar"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_AR=$ac_cv_prog_ac_ct_AR
+if test -n "$ac_ct_AR"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
+$as_echo "$ac_ct_AR" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_AR" = x; then
+    AR="false"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    AR=$ac_ct_AR
+  fi
+else
+  AR="$ac_cv_prog_AR"
+fi
+
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+
+
+
+
+
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+test -z "$STRIP" && STRIP=:
+
+
+
+
+
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+test -z "$RANLIB" && RANLIB=:
+
+
+
+
+
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
+$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
+if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[BCDEGRST]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[BCDT]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[ABCDGISTW]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[ABCDEGRST]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[BCDEGRST]'
+  ;;
+osf*)
+  symcode='[BCDEGQRST]'
+  ;;
+solaris*)
+  symcode='[BDRT]'
+  ;;
+sco3.2v5*)
+  symcode='[DT]'
+  ;;
+sysv4.2uw2*)
+  symcode='[DT]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[ABDT]'
+  ;;
+sysv4)
+  symcode='[DFNSTU]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[ABCDGIRSTW]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK '"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\""; } >&5
+  (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+       mv -f "$nlist"T "$nlist"
+      else
+       rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+         cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+         # Now generate the symbol file.
+         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+         cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+         cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+         # Now try linking the two files.
+         mv conftest.$ac_objext conftstm.$ac_objext
+         lt_save_LIBS="$LIBS"
+         lt_save_CFLAGS="$CFLAGS"
+         LIBS="conftstm.$ac_objext"
+         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
+         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
+           pipe_works=yes
+         fi
+         LIBS="$lt_save_LIBS"
+         CFLAGS="$lt_save_CFLAGS"
+       else
+         echo "cannot find nm_test_func in $nlist" >&5
+       fi
+      else
+       echo "cannot find nm_test_var in $nlist" >&5
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
+    fi
+  else
+    echo "$progname: failed program was:" >&5
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+
+fi
+
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
+$as_echo "failed" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check whether --enable-libtool-lock was given.
+if test "${enable_libtool_lock+set}" = set; then :
+  enableval=$enable_libtool_lock;
+fi
+
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+       HPUX_IA64_MODE="32"
+       ;;
+      *ELF-64*)
+       HPUX_IA64_MODE="64"
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '#line 7397 "configure"' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -melf32bsmip"
+         ;;
+       *N32*)
+         LD="${LD-ld} -melf32bmipn32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -melf64bmip"
+       ;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -32"
+         ;;
+       *N32*)
+         LD="${LD-ld} -n32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -64"
+         ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_i386_fbsd"
+           ;;
+         x86_64-*linux*)
+           LD="${LD-ld} -m elf_i386"
+           ;;
+         ppc64-*linux*|powerpc64-*linux*)
+           LD="${LD-ld} -m elf32ppclinux"
+           ;;
+         s390x-*linux*)
+           LD="${LD-ld} -m elf_s390"
+           ;;
+         sparc64-*linux*)
+           LD="${LD-ld} -m elf32_sparc"
+           ;;
+       esac
+       ;;
+      *64-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_x86_64_fbsd"
+           ;;
+         x86_64-*linux*)
+           LD="${LD-ld} -m elf_x86_64"
+           ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+         s390*-*linux*|s390*-*tpf*)
+           LD="${LD-ld} -m elf64_s390"
+           ;;
+         sparc*-*linux*)
+           LD="${LD-ld} -m elf64_sparc"
+           ;;
+       esac
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
+$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
+if test "${lt_cv_cc_needs_belf+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_cc_needs_belf=yes
+else
+  lt_cv_cc_needs_belf=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+     ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
+$as_echo "$lt_cv_cc_needs_belf" >&6; }
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+         LD="${LD-ld} -64"
+       fi
+       ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+
+
+  case $host_os in
+    rhapsody* | darwin*)
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
+set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_DSYMUTIL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$DSYMUTIL"; then
+  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+DSYMUTIL=$ac_cv_prog_DSYMUTIL
+if test -n "$DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
+$as_echo "$DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_DSYMUTIL"; then
+  ac_ct_DSYMUTIL=$DSYMUTIL
+  # Extract the first word of "dsymutil", so it can be a program name with args.
+set dummy dsymutil; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_DSYMUTIL"; then
+  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
+if test -n "$ac_ct_DSYMUTIL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
+$as_echo "$ac_ct_DSYMUTIL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_DSYMUTIL" = x; then
+    DSYMUTIL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    DSYMUTIL=$ac_ct_DSYMUTIL
+  fi
+else
+  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
+set dummy ${ac_tool_prefix}nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_NMEDIT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$NMEDIT"; then
+  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+NMEDIT=$ac_cv_prog_NMEDIT
+if test -n "$NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
+$as_echo "$NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_NMEDIT"; then
+  ac_ct_NMEDIT=$NMEDIT
+  # Extract the first word of "nmedit", so it can be a program name with args.
+set dummy nmedit; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_NMEDIT"; then
+  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_NMEDIT="nmedit"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
+if test -n "$ac_ct_NMEDIT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
+$as_echo "$ac_ct_NMEDIT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_NMEDIT" = x; then
+    NMEDIT=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    NMEDIT=$ac_ct_NMEDIT
+  fi
+else
+  NMEDIT="$ac_cv_prog_NMEDIT"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
+set dummy ${ac_tool_prefix}lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_LIPO+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$LIPO"; then
+  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+LIPO=$ac_cv_prog_LIPO
+if test -n "$LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
+$as_echo "$LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_LIPO"; then
+  ac_ct_LIPO=$LIPO
+  # Extract the first word of "lipo", so it can be a program name with args.
+set dummy lipo; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_LIPO"; then
+  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_LIPO="lipo"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
+if test -n "$ac_ct_LIPO"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
+$as_echo "$ac_ct_LIPO" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_LIPO" = x; then
+    LIPO=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    LIPO=$ac_ct_LIPO
+  fi
+else
+  LIPO="$ac_cv_prog_LIPO"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL"; then
+  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL=$ac_cv_prog_OTOOL
+if test -n "$OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
+$as_echo "$OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL"; then
+  ac_ct_OTOOL=$OTOOL
+  # Extract the first word of "otool", so it can be a program name with args.
+set dummy otool; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL"; then
+  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OTOOL="otool"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
+if test -n "$ac_ct_OTOOL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
+$as_echo "$ac_ct_OTOOL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL" = x; then
+    OTOOL=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL=$ac_ct_OTOOL
+  fi
+else
+  OTOOL="$ac_cv_prog_OTOOL"
+fi
+
+    if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
+set dummy ${ac_tool_prefix}otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OTOOL64+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OTOOL64"; then
+  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OTOOL64=$ac_cv_prog_OTOOL64
+if test -n "$OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
+$as_echo "$OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_OTOOL64"; then
+  ac_ct_OTOOL64=$OTOOL64
+  # Extract the first word of "otool64", so it can be a program name with args.
+set dummy otool64; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OTOOL64"; then
+  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OTOOL64="otool64"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
+if test -n "$ac_ct_OTOOL64"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
+$as_echo "$ac_ct_OTOOL64" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_OTOOL64" = x; then
+    OTOOL64=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OTOOL64=$ac_ct_OTOOL64
+  fi
+else
+  OTOOL64="$ac_cv_prog_OTOOL64"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
+$as_echo_n "checking for -single_module linker flag... " >&6; }
+if test "${lt_cv_apple_cc_single_mod+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+       # By default we will add the -single_module flag. You can override
+       # by either setting the environment variable LT_MULTI_MODULE
+       # non-empty at configure time, or by adding -multi_module to the
+       # link flags.
+       rm -rf libconftest.dylib*
+       echo "int foo(void){return 1;}" > conftest.c
+       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&5
+       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+         lt_cv_apple_cc_single_mod=yes
+       else
+         cat conftest.err >&5
+       fi
+       rm -rf libconftest.dylib*
+       rm -f conftest.*
+      fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
+$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
+$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
+if test "${lt_cv_ld_exported_symbols_list+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  lt_cv_ld_exported_symbols_list=yes
+else
+  lt_cv_ld_exported_symbols_list=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+       LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
+$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
+    case $host_os in
+    rhapsody* | darwin1.[012])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
+         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+       10.[012]*)
+         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+       10.*)
+         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+
+for ac_header in dlfcn.h
+do :
+  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
+"
+if test "x$ac_cv_header_dlfcn_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLFCN_H 1
+_ACEOF
+
+fi
+
+done
+
+
+
+# Set options
+
+
+
+        enable_dlopen=no
+
+
+
+            # Check whether --enable-shared was given.
+if test "${enable_shared+set}" = set; then :
+  enableval=$enable_shared; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_shared=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_shared=yes
+fi
+
+
+
+
+
+
+
+
+
+  # Check whether --enable-static was given.
+if test "${enable_static+set}" = set; then :
+  enableval=$enable_static; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_static=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_static=yes
+fi
+
+
+
+
+
+
+
+
+
+
+# Check whether --with-pic was given.
+if test "${with_pic+set}" = set; then :
+  withval=$with_pic; pic_mode="$withval"
+else
+  pic_mode=default
+fi
+
+
+test -z "$pic_mode" && pic_mode=default
+
+
+
+
+
+
+
+  # Check whether --enable-fast-install was given.
+if test "${enable_fast_install+set}" = set; then :
+  enableval=$enable_fast_install; p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_fast_install=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac
+else
+  enable_fast_install=yes
+fi
+
+
+
+
+
+
+
+
+
+
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+test -z "$LN_S" && LN_S="ln -s"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
+$as_echo_n "checking for objdir... " >&6; }
+if test "${lt_cv_objdir+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
+$as_echo "$lt_cv_objdir" >&6; }
+objdir=$lt_cv_objdir
+
+
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define LT_OBJDIR "$lt_cv_objdir/"
+_ACEOF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
+$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/${ac_tool_prefix}file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
+      if test -n "$file_magic_test_file"; then
+       case $deplibs_check_method in
+       "file_magic "*)
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+           $EGREP "$file_magic_regex" > /dev/null; then
+           :
+         else
+           cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+         fi ;;
+       esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+
+
+
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
+$as_echo_n "checking for file... " >&6; }
+if test "${lt_cv_path_MAGIC_CMD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MAGIC_CMD in
+[\\/*] |  ?:[\\/]*)
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/file; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/file"
+      if test -n "$file_magic_test_file"; then
+       case $deplibs_check_method in
+       "file_magic "*)
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+           $EGREP "$file_magic_regex" > /dev/null; then
+           :
+         else
+           cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+         fi ;;
+       esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac
+fi
+
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
+$as_echo "$MAGIC_CMD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  else
+    MAGIC_CMD=:
+  fi
+fi
+
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+
+lt_save_CC="$CC"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+objext=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+if test -n "$compiler"; then
+
+lt_prog_compiler_no_builtin_flag=
+
+if test "$GCC" = yes; then
+  lt_prog_compiler_no_builtin_flag=' -fno-builtin'
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
+$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
+if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_rtti_exceptions=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="-fno-rtti -fno-exceptions"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:8653: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:8657: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_rtti_exceptions=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
+$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
+
+if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
+    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
+else
+    :
+fi
+
+fi
+
+
+
+
+
+
+  lt_prog_compiler_wl=
+lt_prog_compiler_pic=
+lt_prog_compiler_static=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+  if test "$GCC" = yes; then
+    lt_prog_compiler_wl='-Wl,'
+    lt_prog_compiler_static='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic='-fno-common'
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+       # +Z the default
+       ;;
+      *)
+       lt_prog_compiler_pic='-fPIC'
+       ;;
+      esac
+      ;;
+
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      lt_prog_compiler_can_build_shared=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       lt_prog_compiler_pic=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      lt_prog_compiler_pic='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      lt_prog_compiler_wl='-Wl,'
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       lt_prog_compiler_static='-Bstatic'
+      else
+       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      lt_prog_compiler_pic='-DDLL_EXPORT'
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+       # +Z the default
+       ;;
+      *)
+       lt_prog_compiler_pic='+Z'
+       ;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      lt_prog_compiler_static='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      lt_prog_compiler_wl='-Wl,'
+      # PIC (with -KPIC) is the default.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-KPIC'
+       lt_prog_compiler_static='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fPIC'
+       lt_prog_compiler_static='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='--shared'
+       lt_prog_compiler_static='--static'
+       ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-fpic'
+       lt_prog_compiler_static='-Bstatic'
+        ;;
+      ccc*)
+        lt_prog_compiler_wl='-Wl,'
+        # All Alpha code is PIC.
+        lt_prog_compiler_static='-non_shared'
+        ;;
+      xl*)
+       # IBM XL C 8.0/Fortran 10.1 on PPC
+       lt_prog_compiler_wl='-Wl,'
+       lt_prog_compiler_pic='-qpic'
+       lt_prog_compiler_static='-qstaticlink'
+       ;;
+      *)
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ C*)
+         # Sun C 5.9
+         lt_prog_compiler_pic='-KPIC'
+         lt_prog_compiler_static='-Bstatic'
+         lt_prog_compiler_wl='-Wl,'
+         ;;
+       *Sun\ F*)
+         # Sun Fortran 8.3 passes all unrecognized flags to the linker
+         lt_prog_compiler_pic='-KPIC'
+         lt_prog_compiler_static='-Bstatic'
+         lt_prog_compiler_wl=''
+         ;;
+       esac
+       ;;
+      esac
+      ;;
+
+    newsos6)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      lt_prog_compiler_wl='-Wl,'
+      # All OSF/1 code is PIC.
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    rdos*)
+      lt_prog_compiler_static='-non_shared'
+      ;;
+
+    solaris*)
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       lt_prog_compiler_wl='-Qoption ld ';;
+      *)
+       lt_prog_compiler_wl='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      lt_prog_compiler_wl='-Qoption ld '
+      lt_prog_compiler_pic='-PIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+       lt_prog_compiler_pic='-Kconform_pic'
+       lt_prog_compiler_static='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_pic='-KPIC'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    unicos*)
+      lt_prog_compiler_wl='-Wl,'
+      lt_prog_compiler_can_build_shared=no
+      ;;
+
+    uts4*)
+      lt_prog_compiler_pic='-pic'
+      lt_prog_compiler_static='-Bstatic'
+      ;;
+
+    *)
+      lt_prog_compiler_can_build_shared=no
+      ;;
+    esac
+  fi
+
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic=
+    ;;
+  *)
+    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
+$as_echo "$lt_prog_compiler_pic" >&6; }
+
+
+
+
+
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:8992: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:8996: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
+    case $lt_prog_compiler_pic in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
+     esac
+else
+    lt_prog_compiler_pic=
+     lt_prog_compiler_can_build_shared=no
+fi
+
+fi
+
+
+
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
+$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works" = xyes; then
+    :
+else
+    lt_prog_compiler_static=
+fi
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:9097: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:9101: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:9152: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:9156: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
+$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test "$hard_links" = no; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+  runpath_var=
+  allow_undefined_flag=
+  always_export_symbols=no
+  archive_cmds=
+  archive_expsym_cmds=
+  compiler_needs_object=no
+  enable_shared_with_static_runtimes=no
+  export_dynamic_flag_spec=
+  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  hardcode_automatic=no
+  hardcode_direct=no
+  hardcode_direct_absolute=no
+  hardcode_libdir_flag_spec=
+  hardcode_libdir_flag_spec_ld=
+  hardcode_libdir_separator=
+  hardcode_minus_L=no
+  hardcode_shlibpath_var=unsupported
+  inherit_rpath=no
+  link_all_deplibs=unknown
+  module_cmds=
+  module_expsym_cmds=
+  old_archive_from_new_cmds=
+  old_archive_from_expsyms_cmds=
+  thread_safe_flag_spec=
+  whole_archive_flag_spec=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  include_expsyms=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  linux* | k*bsd*-gnu)
+    link_all_deplibs=no
+    ;;
+  esac
+
+  ld_shlibs=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+    export_dynamic_flag_spec='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      whole_archive_flag_spec=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[3-9]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+       ld_shlibs=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       allow_undefined_flag=unsupported
+       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+       # support --undefined.  This deserves some investigation.  FIXME
+       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
+      # as there is no search path for DLLs.
+      hardcode_libdir_flag_spec='-L$libdir'
+      allow_undefined_flag=unsupported
+      always_export_symbols=no
+      enable_shared_with_static_runtimes=yes
+      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+       # If the export-symbols file already is a .def file (1st line
+       # is EXPORTS), use it as is; otherwise, prepend...
+       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+         cp $export_symbols $output_objdir/$soname.def;
+       else
+         echo EXPORTS > $output_objdir/$soname.def;
+         cat $export_symbols >> $output_objdir/$soname.def;
+       fi~
+       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
+    interix[3-9]*)
+      hardcode_direct=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+      export_dynamic_flag_spec='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+       case $cc_basename in
+         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
+       esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+        && test "$tmp_diet" = no
+      then
+       tmp_addflag=
+       tmp_sharedflag='-shared'
+       case $cc_basename,$host_cpu in
+        pgcc*)                         # Portland Group C compiler
+         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
+         ;;
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       lf95*)                          # Lahey Fortran 8.1
+         whole_archive_flag_spec=
+         tmp_sharedflag='--shared' ;;
+       xl[cC]*)                        # IBM XL C 8.0 on PPC (deal with xlf below)
+         tmp_sharedflag='-qmkshrobj'
+         tmp_addflag= ;;
+       esac
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ C*)                       # Sun C 5.9
+         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         compiler_needs_object=yes
+         tmp_sharedflag='-G' ;;
+       *Sun\ F*)                       # Sun Fortran 8.3
+         tmp_sharedflag='-G' ;;
+       esac
+       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+        if test "x$supports_anon_versioning" = xyes; then
+          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+           echo "local: *; };" >> $output_objdir/$libname.ver~
+           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+       case $cc_basename in
+       xlf*)
+         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
+         hardcode_libdir_flag_spec=
+         hardcode_libdir_flag_spec_ld='-rpath $libdir'
+         archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+         if test "x$supports_anon_versioning" = xyes; then
+           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
+             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+             echo "local: *; };" >> $output_objdir/$libname.ver~
+             $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+         fi
+         ;;
+       esac
+      else
+        ld_shlibs=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+       wlarc=
+      else
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+       ld_shlibs=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
+       ld_shlibs=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+       ;;
+       *)
+         # For security reasons, it is highly recommended that you always
+         # use absolute paths for naming shared libraries, and exclude the
+         # DT_RUNPATH tag from executables and libraries.  But doing so
+         # requires that you compile everything twice, which is a pain.
+         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         else
+           ld_shlibs=no
+         fi
+       ;;
+      esac
+      ;;
+
+    sunos4*)
+      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+       ld_shlibs=no
+      fi
+      ;;
+    esac
+
+    if test "$ld_shlibs" = no; then
+      runpath_var=
+      hardcode_libdir_flag_spec=
+      export_dynamic_flag_spec=
+      whole_archive_flag_spec=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      allow_undefined_flag=unsupported
+      always_export_symbols=yes
+      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      hardcode_minus_L=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+       # Neither direct hardcoding nor static linking is supported with a
+       # broken collect2.
+       hardcode_direct=unsupported
+      fi
+      ;;
+
+    aix[4-9]*)
+      if test "$host_cpu" = ia64; then
+       # On IA64, the linker does run time linking by default, so we don't
+       # have to do anything special.
+       aix_use_runtimelinking=no
+       exp_sym_flag='-Bexport'
+       no_entry_flag=""
+      else
+       # If we're using GNU nm, then we don't want the "-C" option.
+       # -C means demangle to AIX nm, but means don't demangle with GNU nm
+       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+       else
+         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+       fi
+       aix_use_runtimelinking=no
+
+       # Test if we are trying to use run time linking or normal
+       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+       # need to do runtime linking.
+       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+         for ld_flag in $LDFLAGS; do
+         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+           aix_use_runtimelinking=yes
+           break
+         fi
+         done
+         ;;
+       esac
+
+       exp_sym_flag='-bexport'
+       no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      archive_cmds=''
+      hardcode_direct=yes
+      hardcode_direct_absolute=yes
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      file_list_spec='${wl}-f,'
+
+      if test "$GCC" = yes; then
+       case $host_os in aix4.[012]|aix4.[012].*)
+       # We only want to do this on AIX 4.2 and lower, the check
+       # below for broken collect2 doesn't work under 4.3+
+         collect2name=`${CC} -print-prog-name=collect2`
+         if test -f "$collect2name" &&
+          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+         then
+         # We have reworked collect2
+         :
+         else
+         # We have old collect2
+         hardcode_direct=unsupported
+         # It fails to find uninstalled libraries when the uninstalled
+         # path is not listed in the libpath.  Setting hardcode_minus_L
+         # to unsupported forces relinking
+         hardcode_minus_L=yes
+         hardcode_libdir_flag_spec='-L$libdir'
+         hardcode_libdir_separator=
+         fi
+         ;;
+       esac
+       shared_flag='-shared'
+       if test "$aix_use_runtimelinking" = yes; then
+         shared_flag="$shared_flag "'${wl}-G'
+       fi
+       link_all_deplibs=no
+      else
+       # not using gcc
+       if test "$host_cpu" = ia64; then
+       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+       # chokes on -Wl,-G. The following line is correct:
+         shared_flag='-G'
+       else
+         if test "$aix_use_runtimelinking" = yes; then
+           shared_flag='${wl}-G'
+         else
+           shared_flag='${wl}-bM:SRE'
+         fi
+       fi
+      fi
+
+      export_dynamic_flag_spec='${wl}-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      always_export_symbols=yes
+      if test "$aix_use_runtimelinking" = yes; then
+       # Warning - without using the other runtime loading flags (-brtl),
+       # -berok will link without error, but may produce a broken library.
+       allow_undefined_flag='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+       if test "$host_cpu" = ia64; then
+         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
+         allow_undefined_flag="-z nodefs"
+         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+       else
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
+         # Warning - without using the other run time loading flags,
+         # -berok will link without error, but may produce a broken library.
+         no_undefined_flag=' ${wl}-bernotok'
+         allow_undefined_flag=' ${wl}-berok'
+         # Exported symbols can be pulled into shared objects from archives
+         whole_archive_flag_spec='$convenience'
+         archive_cmds_need_lc=yes
+         # This is similar to how AIX traditionally builds its shared libraries.
+         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+       fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            archive_expsym_cmds=''
+        ;;
+      m68k)
+            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            hardcode_libdir_flag_spec='-L$libdir'
+            hardcode_minus_L=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[45]*)
+      export_dynamic_flag_spec=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      hardcode_libdir_flag_spec=' '
+      allow_undefined_flag=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      archive_cmds='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      old_archive_from_new_cmds='true'
+      # FIXME: Should let the user specify the lib program.
+      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      fix_srcfile_path='`cygpath -w "$srcfile"`'
+      enable_shared_with_static_runtimes=yes
+      ;;
+
+    darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc=no
+  hardcode_direct=no
+  hardcode_automatic=yes
+  hardcode_shlibpath_var=unsupported
+  whole_archive_flag_spec=''
+  link_all_deplibs=yes
+  allow_undefined_flag="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=echo
+    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+
+  else
+  ld_shlibs=no
+  fi
+
+      ;;
+
+    dgux*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    freebsd1*)
+      ld_shlibs=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+       archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_direct=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      hardcode_minus_L=yes
+      export_dynamic_flag_spec='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+       hardcode_libdir_flag_spec_ld='+b $libdir'
+       hardcode_libdir_separator=:
+       hardcode_direct=yes
+       hardcode_direct_absolute=yes
+       export_dynamic_flag_spec='${wl}-E'
+       # hardcode_minus_L: Not really in the search PATH,
+       # but as the default location of the library.
+       hardcode_minus_L=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      else
+       case $host_cpu in
+       hppa*64*)
+         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      fi
+      if test "$with_gnu_ld" = no; then
+       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
+       hardcode_libdir_separator=:
+
+       case $host_cpu in
+       hppa*64*|ia64*)
+         hardcode_direct=no
+         hardcode_shlibpath_var=no
+         ;;
+       *)
+         hardcode_direct=yes
+         hardcode_direct_absolute=yes
+         export_dynamic_flag_spec='${wl}-E'
+
+         # hardcode_minus_L: Not really in the search PATH,
+         # but as the default location of the library.
+         hardcode_minus_L=yes
+         ;;
+       esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+       # Try to use the -exported_symbol ld option, if it does not
+       # work, assume that -exports_file does not work either and
+       # implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+int foo(void) {}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+        LDFLAGS="$save_LDFLAGS"
+      else
+       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      inherit_rpath=yes
+      link_all_deplibs=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_direct=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    newsos6)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_direct=yes
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      hardcode_shlibpath_var=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+       hardcode_direct=yes
+       hardcode_shlibpath_var=no
+       hardcode_direct_absolute=yes
+       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+         export_dynamic_flag_spec='${wl}-E'
+       else
+         case $host_os in
+          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
+            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+            hardcode_libdir_flag_spec='-R$libdir'
+            ;;
+          *)
+            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
+            ;;
+         esac
+       fi
+      else
+       ld_shlibs=no
+      fi
+      ;;
+
+    os2*)
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_minus_L=yes
+      allow_undefined_flag=unsupported
+      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+       allow_undefined_flag=' -expect_unresolved \*'
+       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      hardcode_libdir_separator=:
+      ;;
+
+    osf4* | osf5*)     # as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+      else
+       allow_undefined_flag=' -expect_unresolved \*'
+       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+       # Both c and cxx compiler support -rpath directly
+       hardcode_libdir_flag_spec='-rpath $libdir'
+      fi
+      archive_cmds_need_lc='no'
+      hardcode_libdir_separator=:
+      ;;
+
+    solaris*)
+      no_undefined_flag=' -z defs'
+      if test "$GCC" = yes; then
+       wlarc='${wl}'
+       archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+       case `$CC -V 2>&1` in
+       *"Compilers 5.0"*)
+         wlarc=''
+         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+         ;;
+       *)
+         wlarc='${wl}'
+         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+         ;;
+       esac
+      fi
+      hardcode_libdir_flag_spec='-R$libdir'
+      hardcode_shlibpath_var=no
+      case $host_os in
+      solaris2.[0-5] | solaris2.[0-5].*) ;;
+      *)
+       # The compiler driver will combine and reorder linker options,
+       # but understands `-z linker_flag'.  GCC discards it without `$wl',
+       # but is careful enough not to reorder.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       if test "$GCC" = yes; then
+         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+       else
+         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
+       fi
+       ;;
+      esac
+      link_all_deplibs=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+       # Use $CC to link under sequent, because it throws in some extra .o
+       # files that make .init and .fini sections work.
+       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_direct=yes
+      hardcode_minus_L=yes
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+       sni)
+         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         hardcode_direct=yes # is this really true???
+       ;;
+       siemens)
+         ## LD is ld it makes a PLAMLIB
+         ## CC just makes a GrossModule.
+         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+         reload_cmds='$CC -r -o $output$reload_objs'
+         hardcode_direct=no
+        ;;
+       motorola)
+         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
+       ;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      hardcode_shlibpath_var=no
+      ;;
+
+    sysv4.3*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_shlibpath_var=no
+      export_dynamic_flag_spec='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+       hardcode_shlibpath_var=no
+       runpath_var=LD_RUN_PATH
+       hardcode_runpath_var=yes
+       ld_shlibs=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag='${wl}-z,text'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      no_undefined_flag='${wl}-z,text'
+      allow_undefined_flag='${wl}-z,nodefs'
+      archive_cmds_need_lc=no
+      hardcode_shlibpath_var=no
+      hardcode_libdir_flag_spec='${wl}-R,$libdir'
+      hardcode_libdir_separator=':'
+      link_all_deplibs=yes
+      export_dynamic_flag_spec='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      hardcode_libdir_flag_spec='-L$libdir'
+      hardcode_shlibpath_var=no
+      ;;
+
+    *)
+      ld_shlibs=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+       export_dynamic_flag_spec='${wl}-Blargedynsym'
+       ;;
+      esac
+    fi
+  fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
+$as_echo "$ld_shlibs" >&6; }
+test "$ld_shlibs" = no && can_build_shared=no
+
+with_gnu_ld=$with_gnu_ld
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+      $RM conftest*
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl
+       pic_flag=$lt_prog_compiler_pic
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag
+        allow_undefined_flag=
+        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+        then
+         archive_cmds_need_lc=no
+        else
+         archive_cmds_need_lc=yes
+        fi
+        allow_undefined_flag=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $RM conftest*
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc" >&5
+$as_echo "$archive_cmds_need_lc" >&6; }
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[lt_foo]++; }
+  if (lt_freq[lt_foo] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[4-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+          echo ' yes '
+          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+       :
+      else
+       can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix[3-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+       if test "$lt_cv_prog_gnu_ld" = yes; then
+               version_type=linux
+       else
+               version_type=irix
+       fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # Some binutils ld are patched to set DT_RUNPATH
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
+       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+       shlibpath_overrides_runpath=no
+       ;;
+      *)
+       shlibpath_overrides_runpath=yes
+       ;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action=
+if test -n "$hardcode_libdir_flag_spec" ||
+   test -n "$runpath_var" ||
+   test "X$hardcode_automatic" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$hardcode_direct" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
+     test "$hardcode_minus_L" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
+$as_echo "$hardcode_action" >&6; }
+
+if test "$hardcode_action" = relink ||
+   test "$inherit_rpath" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+
+
+
+
+  if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+
+fi
+
+    ;;
+
+  *)
+    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
+if test "x$ac_cv_func_shl_load" = x""yes; then :
+  lt_cv_dlopen="shl_load"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
+$as_echo_n "checking for shl_load in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_shl_load+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shl_load ();
+int
+main ()
+{
+return shl_load ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_shl_load=yes
+else
+  ac_cv_lib_dld_shl_load=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
+$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
+if test "x$ac_cv_lib_dld_shl_load" = x""yes; then :
+  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
+else
+  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
+$as_echo_n "checking for dlopen in -lsvld... " >&6; }
+if test "${ac_cv_lib_svld_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsvld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_svld_dlopen=yes
+else
+  ac_cv_lib_svld_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
+$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
+if test "x$ac_cv_lib_svld_dlopen" = x""yes; then :
+  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
+$as_echo_n "checking for dld_link in -ldld... " >&6; }
+if test "${ac_cv_lib_dld_dld_link+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldld  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dld_link ();
+int
+main ()
+{
+return dld_link ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dld_dld_link=yes
+else
+  ac_cv_lib_dld_dld_link=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
+$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
+if test "x$ac_cv_lib_dld_dld_link" = x""yes; then :
+  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+
+fi
+
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
+$as_echo_n "checking whether a program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+         if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line 11536 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL          RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL                DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL                0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW         DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW       RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW     DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW     0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
+$as_echo "$lt_cv_dlopen_self" >&6; }
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
+$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
+if test "${lt_cv_dlopen_self_static+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+         if test "$cross_compiling" = yes; then :
+  lt_cv_dlopen_self_static=cross
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+#line 11632 "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL          RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL                DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL                0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW         DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW       RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW     DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW     0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}
+_LT_EOF
+  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
+  (eval $ac_link) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&5 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
+      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
+    esac
+  else :
+    # compilation failed
+    lt_cv_dlopen_self_static=no
+  fi
+fi
+rm -fr conftest*
+
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
+$as_echo "$lt_cv_dlopen_self_static" >&6; }
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+striplib=
+old_striplib=
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
+$as_echo_n "checking whether stripping libraries is possible... " >&6; }
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    fi
+    ;;
+  *)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+    ;;
+  esac
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+  # Report which library types will actually be built
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
+$as_echo_n "checking if libtool supports shared libraries... " >&6; }
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
+$as_echo "$can_build_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
+$as_echo_n "checking whether to build shared libraries... " >&6; }
+  test "$can_build_shared" = "no" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[4-9]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
+$as_echo "$enable_shared" >&6; }
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
+$as_echo_n "checking whether to build static libraries... " >&6; }
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
+$as_echo "$enable_static" >&6; }
+
+
+
+
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+CC="$lt_save_CC"
+
+
+
+
+
+
+
+
+
+
+
+
+
+        ac_config_commands="$ac_config_commands libtool"
+
+
+
+
+# Only expand once:
+
+
+
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+
+
+
+cat >>confdefs.h <<_ACEOF
+#define VMAJ 1
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VMIN 0
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VMIC 999
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VREV 0
+_ACEOF
+
+version_info="1:999:0"
+release_info=""
+
+
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##--##
+VMAJ=1
+
+
+### Needed information
+
+
+
+
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      MODULE_ARCH="$host_os-$host_cpu"
+      ;;
+   *)
+      MODULE_ARCH="$host_os-$host_cpu-1.0.999"
+      ;;
+esac
+
+
+cat >>confdefs.h <<_ACEOF
+#define MODULE_ARCH "$MODULE_ARCH"
+_ACEOF
+
+
+want_fontconfig="auto"
+want_fribidi="auto"
+want_harfbuzz="auto"
+want_evas_cserve="yes"
+
+want_evas_engine_buffer="yes"
+want_evas_engine_software_xlib="no"
+want_evas_engine_xrender_x11="no"
+want_evas_engine_gl_x11="no"
+want_evas_engine_gl_sdl="no"
+want_evas_engine_cairo_x11="no"
+want_evas_engine_software_xcb="no"
+want_evas_engine_xrender_xcb="no"
+want_evas_engine_software_gdi="no"
+want_evas_engine_software_ddraw="no"
+want_evas_engine_direct3d="no"
+want_evas_engine_quartz="no"
+want_evas_engine_gl_glew="no"
+want_evas_engine_software_sdl="no"
+want_evas_engine_fb="no"
+want_evas_engine_directfb="no"
+want_evas_engine_software_qtopia="no"
+want_evas_engine_software_8_x11="no"
+want_evas_engine_software_16_x11="no"
+want_evas_engine_software_16_ddraw="no"
+want_evas_engine_software_16_wince="no"
+
+want_evas_image_loader_edb="yes"
+want_evas_image_loader_eet="yes"
+want_evas_image_loader_gif="yes"
+want_evas_image_loader_jpeg="yes"
+want_evas_image_loader_pmaps="yes"
+want_evas_image_loader_png="yes"
+want_evas_image_loader_svg="yes"
+want_evas_image_loader_tiff="yes"
+want_evas_image_loader_xpm="yes"
+want_evas_image_loader_bmp="yes"
+want_evas_image_loader_tga="yes"
+want_evas_image_loader_wbmp="yes"
+want_evas_image_loader_ico="yes"
+
+want_evas_font_loader_eet="yes"
+
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      want_fontconfig="no"
+      want_evas_engine_software_16_wince="yes"
+      want_evas_image_loader_edb="no"
+      want_evas_image_loader_gif="no"
+      want_evas_image_loader_svg="no"
+      want_evas_image_loader_tiff="no"
+      ;;
+   mingw*)
+      want_evas_engine_software_gdi="yes"
+      want_evas_engine_software_ddraw="yes"
+      want_evas_engine_direct3d="yes"
+      want_evas_engine_software_16_ddraw="yes"
+      want_evas_image_loader_edb="no"
+      want_evas_image_loader_svg="no"
+      ;;
+   darwin*)
+      want_evas_engine_software_xlib="auto"
+      want_evas_engine_quartz="auto"
+      ;;
+   *)
+      want_evas_engine_software_xlib="auto"
+      want_evas_engine_gl_x11="auto"
+      want_evas_engine_fb="auto"
+### no - not ready/usable/complete
+#      want_evas_engine_software_8_x11="auto"
+#      want_evas_engine_xrender_x11="auto"
+#      want_evas_engine_software_16_x11="auto"
+      ;;
+esac
+
+requirement_evas=""
+
+
+### Additional options to configure
+
+# when used, that option makes configure script fails when
+# a requirement is selected, but not met.
+use_strict="no"
+# Check whether --enable-strict was given.
+if test "${enable_strict+set}" = set; then :
+  enableval=$enable_strict; use_strict="yes"
+else
+  use_strict="no"
+fi
+
+
+# Simple X11 build/link
+# Check whether --enable-simple-x11 was given.
+if test "${enable_simple_x11+set}" = set; then :
+  enableval=$enable_simple_x11;
+    if test "x${enableval}" = "xyes" ; then
+       want_evas_simple_x11="yes"
+    else
+       want_evas_simple_x11="no"
+    fi
+
+fi
+
+
+
+### Checks for programs
+
+
+    ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  for ac_prog in gcc objcc objc cc CC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_OBJC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$OBJC"; then
+  ac_cv_prog_OBJC="$OBJC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_OBJC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+OBJC=$ac_cv_prog_OBJC
+if test -n "$OBJC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJC" >&5
+$as_echo "$OBJC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$OBJC" && break
+  done
+fi
+if test -z "$OBJC"; then
+  ac_ct_OBJC=$OBJC
+  for ac_prog in gcc objcc objc cc CC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_OBJC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_OBJC"; then
+  ac_cv_prog_ac_ct_OBJC="$ac_ct_OBJC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_OBJC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_OBJC=$ac_cv_prog_ac_ct_OBJC
+if test -n "$ac_ct_OBJC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJC" >&5
+$as_echo "$ac_ct_OBJC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_OBJC" && break
+done
+
+  if test "x$ac_ct_OBJC" = x; then
+    OBJC="gcc"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    OBJC=$ac_ct_OBJC
+  fi
+fi
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for Objective C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU Objective C compiler" >&5
+$as_echo_n "checking whether we are using the GNU Objective C compiler... " >&6; }
+if test "${ac_cv_objc_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_objc_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objc_compiler_gnu" >&5
+$as_echo "$ac_cv_objc_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GOBJC=yes
+else
+  GOBJC=
+fi
+ac_test_OBJCFLAGS=${OBJCFLAGS+set}
+ac_save_OBJCFLAGS=$OBJCFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $OBJC accepts -g" >&5
+$as_echo_n "checking whether $OBJC accepts -g... " >&6; }
+if test "${ac_cv_prog_objc_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_objc_werror_flag=$ac_objc_werror_flag
+   ac_objc_werror_flag=yes
+   ac_cv_prog_objc_g=no
+   OBJCFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  ac_cv_prog_objc_g=yes
+else
+  OBJCFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+
+else
+  ac_objc_werror_flag=$ac_save_objc_werror_flag
+        OBJCFLAGS="-g"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_compile "$LINENO"; then :
+  ac_cv_prog_objc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_objc_werror_flag=$ac_save_objc_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_objc_g" >&5
+$as_echo "$ac_cv_prog_objc_g" >&6; }
+if test "$ac_test_OBJCFLAGS" = set; then
+  OBJCFLAGS=$ac_save_OBJCFLAGS
+elif test $ac_cv_prog_objc_g = yes; then
+  if test "$GOBJC" = yes; then
+    OBJCFLAGS="-g -O2"
+  else
+    OBJCFLAGS="-g"
+  fi
+else
+  if test "$GOBJC" = yes; then
+    OBJCFLAGS="-O2"
+  else
+    OBJCFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$OBJC" am_compiler_list='gcc3 gcc'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_OBJC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_OBJC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_OBJC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_OBJC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_OBJC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_OBJC_dependencies_compiler_type" >&6; }
+OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3; then
+  am__fastdepOBJC_TRUE=
+  am__fastdepOBJC_FALSE='#'
+else
+  am__fastdepOBJC_TRUE='#'
+  am__fastdepOBJC_FALSE=
+fi
+
+
+
+depcc="$OBJC" am_compiler_list='gcc3 gcc'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_OBJC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_OBJC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_OBJC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_OBJC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_OBJC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_OBJC_dependencies_compiler_type" >&6; }
+OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3; then
+  am__fastdepOBJC_TRUE=
+  am__fastdepOBJC_FALSE='#'
+else
+  am__fastdepOBJC_TRUE='#'
+  am__fastdepOBJC_FALSE=
+fi
+
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the Objective C compiler works" >&5
+$as_echo_n "checking whether the Objective C compiler works... " >&6; }
+if test "${rw_cv_prog_objc_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+
+                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_objc_try_link "$LINENO"; then :
+  rw_cv_prog_objc_works=yes
+else
+  rw_cv_prog_objc_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+                ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rw_cv_prog_objc_works" >&5
+$as_echo "$rw_cv_prog_objc_works" >&6; }
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CXX" && break
+done
+
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
+fi
+
+  fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GXX=yes
+else
+  GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+else
+  CXXFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+        CXXFLAGS="-g"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX"  am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CXX" && break
+done
+
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
+fi
+
+  fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GXX=yes
+else
+  GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+else
+  CXXFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+        CXXFLAGS="-g"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX"  am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
+
+
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+_lt_caught_CXX_error=yes; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+else
+  _lt_caught_CXX_error=yes
+fi
+
+
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+archive_cmds_need_lc_CXX=no
+allow_undefined_flag_CXX=
+always_export_symbols_CXX=no
+archive_expsym_cmds_CXX=
+compiler_needs_object_CXX=no
+export_dynamic_flag_spec_CXX=
+hardcode_direct_CXX=no
+hardcode_direct_absolute_CXX=no
+hardcode_libdir_flag_spec_CXX=
+hardcode_libdir_flag_spec_ld_CXX=
+hardcode_libdir_separator_CXX=
+hardcode_minus_L_CXX=no
+hardcode_shlibpath_var_CXX=unsupported
+hardcode_automatic_CXX=no
+inherit_rpath_CXX=no
+module_cmds_CXX=
+module_expsym_cmds_CXX=
+link_all_deplibs_CXX=unknown
+old_archive_cmds_CXX=$old_archive_cmds
+no_undefined_flag_CXX=
+whole_archive_flag_spec_CXX=
+enable_shared_with_static_runtimes_CXX=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+objext_CXX=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+
+
+
+
+
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+
+
+  # save warnings/boilerplate of simple test code
+  ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+
+  ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  compiler=$CC
+  compiler_CXX=$CC
+  for cc_temp in $compiler""; do
+  case $cc_temp in
+    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
+    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test "$GXX" = yes; then
+      lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin'
+    else
+      lt_prog_compiler_no_builtin_flag_CXX=
+    fi
+
+    if test "$GXX" = yes; then
+      # Set up default GNU C++ configuration
+
+
+
+# Check whether --with-gnu-ld was given.
+if test "${with_gnu_ld+set}" = set; then :
+  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
+else
+  with_gnu_ld=no
+fi
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
+$as_echo_n "checking for ld used by $CC... " >&6; }
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [\\/]* | ?:[\\/]*)
+      re_direlt='/[^/][^/]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
+$as_echo_n "checking for GNU ld... " >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
+$as_echo_n "checking for non-GNU ld... " >&6; }
+fi
+if test "${lt_cv_path_LD+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+       test "$with_gnu_ld" != no && break
+       ;;
+      *)
+       test "$with_gnu_ld" != yes && break
+       ;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi
+fi
+
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
+$as_echo "$LD" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
+$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
+if test "${lt_cv_prog_gnu_ld+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  # I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
+$as_echo "$lt_cv_prog_gnu_ld" >&6; }
+with_gnu_ld=$lt_cv_prog_gnu_ld
+
+
+
+
+
+
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test "$with_gnu_ld" = yes; then
+        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+        export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='${wl}'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+         $GREP 'no-whole-archive' > /dev/null; then
+          whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+        else
+          whole_archive_flag_spec_CXX=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+    ld_shlibs_CXX=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+      aix[4-9]*)
+        if test "$host_cpu" = ia64; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=""
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # need to do runtime linking.
+          case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
+           for ld_flag in $LDFLAGS; do
+             case $ld_flag in
+             *-brtl*)
+               aix_use_runtimelinking=yes
+               break
+               ;;
+             esac
+           done
+           ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        archive_cmds_CXX=''
+        hardcode_direct_CXX=yes
+        hardcode_direct_absolute_CXX=yes
+        hardcode_libdir_separator_CXX=':'
+        link_all_deplibs_CXX=yes
+        file_list_spec_CXX='${wl}-f,'
+
+        if test "$GXX" = yes; then
+          case $host_os in aix4.[012]|aix4.[012].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+         collect2name=`${CC} -print-prog-name=collect2`
+         if test -f "$collect2name" &&
+            strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+         then
+           # We have reworked collect2
+           :
+         else
+           # We have old collect2
+           hardcode_direct_CXX=unsupported
+           # It fails to find uninstalled libraries when the uninstalled
+           # path is not listed in the libpath.  Setting hardcode_minus_L
+           # to unsupported forces relinking
+           hardcode_minus_L_CXX=yes
+           hardcode_libdir_flag_spec_CXX='-L$libdir'
+           hardcode_libdir_separator_CXX=
+         fi
+          esac
+          shared_flag='-shared'
+         if test "$aix_use_runtimelinking" = yes; then
+           shared_flag="$shared_flag "'${wl}-G'
+         fi
+        else
+          # not using gcc
+          if test "$host_cpu" = ia64; then
+         # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+         # chokes on -Wl,-G. The following line is correct:
+         shared_flag='-G'
+          else
+           if test "$aix_use_runtimelinking" = yes; then
+             shared_flag='${wl}-G'
+           else
+             shared_flag='${wl}-bM:SRE'
+           fi
+          fi
+        fi
+
+        export_dynamic_flag_spec_CXX='${wl}-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+       # export.
+        always_export_symbols_CXX=yes
+        if test "$aix_use_runtimelinking" = yes; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          allow_undefined_flag_CXX='-berok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+          hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+          archive_expsym_cmds_CXX='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        else
+          if test "$host_cpu" = ia64; then
+           hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib'
+           allow_undefined_flag_CXX="-z nodefs"
+           archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+          else
+           # Determine the default libpath from the value encoded in an
+           # empty executable.
+           cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+
+           hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath"
+           # Warning - without using the other run time loading flags,
+           # -berok will link without error, but may produce a broken library.
+           no_undefined_flag_CXX=' ${wl}-bernotok'
+           allow_undefined_flag_CXX=' ${wl}-berok'
+           # Exported symbols can be pulled into shared objects from archives
+           whole_archive_flag_spec_CXX='$convenience'
+           archive_cmds_need_lc_CXX=yes
+           # This is similar to how AIX traditionally builds its shared
+           # libraries.
+           archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+          fi
+        fi
+        ;;
+
+      beos*)
+       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+         allow_undefined_flag_CXX=unsupported
+         # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+         # support --undefined.  This deserves some investigation.  FIXME
+         archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       else
+         ld_shlibs_CXX=no
+       fi
+       ;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+         # FIXME: insert proper C++ library support
+         ld_shlibs_CXX=no
+         ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+        # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless,
+        # as there is no search path for DLLs.
+        hardcode_libdir_flag_spec_CXX='-L$libdir'
+        allow_undefined_flag_CXX=unsupported
+        always_export_symbols_CXX=no
+        enable_shared_with_static_runtimes_CXX=yes
+
+        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+          archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+          # If the export-symbols file already is a .def file (1st line
+          # is EXPORTS), use it as is; otherwise, prepend...
+          archive_expsym_cmds_CXX='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+           cp $export_symbols $output_objdir/$soname.def;
+          else
+           echo EXPORTS > $output_objdir/$soname.def;
+           cat $export_symbols >> $output_objdir/$soname.def;
+          fi~
+          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        else
+          ld_shlibs_CXX=no
+        fi
+        ;;
+      darwin* | rhapsody*)
+
+
+  archive_cmds_need_lc_CXX=no
+  hardcode_direct_CXX=no
+  hardcode_automatic_CXX=yes
+  hardcode_shlibpath_var_CXX=unsupported
+  whole_archive_flag_spec_CXX=''
+  link_all_deplibs_CXX=yes
+  allow_undefined_flag_CXX="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=echo
+    archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+       if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+      archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+      archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+    fi
+
+  else
+  ld_shlibs_CXX=no
+  fi
+
+       ;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+          ghcx*)
+           # Green Hills C++ Compiler
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+          *)
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+        esac
+        ;;
+
+      freebsd[12]*)
+        # C++ shared libraries reported to be fairly broken before
+       # switch to ELF
+        ld_shlibs_CXX=no
+        ;;
+
+      freebsd-elf*)
+        archive_cmds_need_lc_CXX=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        ld_shlibs_CXX=yes
+        ;;
+
+      gnu*)
+        ;;
+
+      hpux9*)
+        hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+        hardcode_libdir_separator_CXX=:
+        export_dynamic_flag_spec_CXX='${wl}-E'
+        hardcode_direct_CXX=yes
+        hardcode_minus_L_CXX=yes # Not in the search PATH,
+                                            # but as the default
+                                            # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            ld_shlibs_CXX=no
+            ;;
+          aCC*)
+            archive_cmds_CXX='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              archive_cmds_CXX='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              ld_shlibs_CXX=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test $with_gnu_ld = no; then
+         hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir'
+         hardcode_libdir_separator_CXX=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+             export_dynamic_flag_spec_CXX='${wl}-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            hardcode_direct_CXX=no
+            hardcode_shlibpath_var_CXX=no
+            ;;
+          *)
+            hardcode_direct_CXX=yes
+            hardcode_direct_absolute_CXX=yes
+            hardcode_minus_L_CXX=yes # Not in the search PATH,
+                                                # but as the default
+                                                # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+          aCC*)
+           case $host_cpu in
+             hppa*64*)
+               archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               ;;
+             ia64*)
+               archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               ;;
+             *)
+               archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               ;;
+           esac
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+          *)
+           if test "$GXX" = yes; then
+             if test $with_gnu_ld = no; then
+               case $host_cpu in
+                 hppa*64*)
+                   archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   ;;
+                 ia64*)
+                   archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   ;;
+                 *)
+                   archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   ;;
+               esac
+             fi
+           else
+             # FIXME: insert proper C++ library support
+             ld_shlibs_CXX=no
+           fi
+           ;;
+        esac
+        ;;
+
+      interix[3-9]*)
+       hardcode_direct_CXX=no
+       hardcode_shlibpath_var_CXX=no
+       hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+       export_dynamic_flag_spec_CXX='${wl}-E'
+       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+       # Instead, shared libraries are loaded at an image base (0x10000000 by
+       # default) and relocated if they conflict, which is a slow very memory
+       # consuming and fragmenting process.  To avoid this, we pick a random,
+       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+       archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       ;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+           # SGI C++
+           archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+           # Archives containing C++ object files must be created using
+           # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+           # necessary to make sure instantiated templates are included
+           # in the archive.
+           old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs'
+           ;;
+          *)
+           if test "$GXX" = yes; then
+             if test "$with_gnu_ld" = no; then
+               archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+             else
+               archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+             fi
+           fi
+           link_all_deplibs_CXX=yes
+           ;;
+        esac
+        hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+        hardcode_libdir_separator_CXX=:
+        inherit_rpath_CXX=yes
+        ;;
+
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+        case $cc_basename in
+          KCC*)
+           # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+           # KCC will only create a shared library if the output file
+           # ends with ".so" (or ".sl" for HP-UX), so rename the library
+           # to its proper name (with version) after linking.
+           archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+           archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+           hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+           export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+
+           # Archives containing C++ object files must be created using
+           # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+           old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs'
+           ;;
+         icpc* | ecpc* )
+           # Intel C++
+           with_gnu_ld=yes
+           # version 8.0 and above of icpc choke on multiply defined symbols
+           # if we add $predep_objects and $postdep_objects, however 7.1 and
+           # earlier do not add the objects themselves.
+           case `$CC -V 2>&1` in
+             *"Version 7."*)
+               archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+               archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+               ;;
+             *)  # Version 8.0 or newer
+               tmp_idyn=
+               case $host_cpu in
+                 ia64*) tmp_idyn=' -i_dynamic';;
+               esac
+               archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+               archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+               ;;
+           esac
+           archive_cmds_need_lc_CXX=no
+           hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+           export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+           whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+           ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+           case `$CC -V` in
+           *pgCC\ [1-5]* | *pgcpp\ [1-5]*)
+             prelink_cmds_CXX='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+               compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+             old_archive_cmds_CXX='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+               $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+               $RANLIB $oldlib'
+             archive_cmds_CXX='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+             archive_expsym_cmds_CXX='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+             ;;
+           *) # Version 6 will use weak symbols
+             archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+             archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+             ;;
+           esac
+
+           hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir'
+           export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+           whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+            ;;
+         cxx*)
+           # Compaq C++
+           archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+           archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+           runpath_var=LD_RUN_PATH
+           hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+           hardcode_libdir_separator_CXX=:
+
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+         xl*)
+           # IBM XL 8.0 on PPC, with GNU ld
+           hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+           export_dynamic_flag_spec_CXX='${wl}--export-dynamic'
+           archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+           if test "x$supports_anon_versioning" = xyes; then
+             archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~
+               cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+               echo "local: *; };" >> $output_objdir/$libname.ver~
+               $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+           fi
+           ;;
+         *)
+           case `$CC -V 2>&1 | sed 5q` in
+           *Sun\ C*)
+             # Sun C++ 5.9
+             no_undefined_flag_CXX=' -zdefs'
+             archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+             archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+             hardcode_libdir_flag_spec_CXX='-R$libdir'
+             whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+             compiler_needs_object_CXX=yes
+
+             # Not sure whether something based on
+             # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+             # would be better.
+             output_verbose_link_cmd='echo'
+
+             # Archives containing C++ object files must be created using
+             # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+             # necessary to make sure instantiated templates are included
+             # in the archive.
+             old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+             ;;
+           esac
+           ;;
+       esac
+       ;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+       ld_shlibs_CXX=no
+       ;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+       ;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+         *)
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+       esac
+       ;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+         archive_cmds_CXX='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+         wlarc=
+         hardcode_libdir_flag_spec_CXX='-R$libdir'
+         hardcode_direct_CXX=yes
+         hardcode_shlibpath_var_CXX=no
+       fi
+       # Workaround some broken pre-1.5 toolchains
+       output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+       ;;
+
+      *nto* | *qnx*)
+        ld_shlibs_CXX=yes
+       ;;
+
+      openbsd2*)
+        # C++ shared libraries are fairly broken
+       ld_shlibs_CXX=no
+       ;;
+
+      openbsd*)
+       if test -f /usr/libexec/ld.so; then
+         hardcode_direct_CXX=yes
+         hardcode_shlibpath_var_CXX=no
+         hardcode_direct_absolute_CXX=yes
+         archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+         hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+         if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+           archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+           export_dynamic_flag_spec_CXX='${wl}-E'
+           whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         fi
+         output_verbose_link_cmd=echo
+       else
+         ld_shlibs_CXX=no
+       fi
+       ;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+           # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+           # KCC will only create a shared library if the output file
+           # ends with ".so" (or ".sl" for HP-UX), so rename the library
+           # to its proper name (with version) after linking.
+           archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+           hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir'
+           hardcode_libdir_separator_CXX=:
+
+           # Archives containing C++ object files must be created using
+           # the KAI C++ compiler.
+           case $host in
+             osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;;
+             *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;;
+           esac
+           ;;
+          RCC*)
+           # Rational C++ 2.4.1
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+          cxx*)
+           case $host in
+             osf3*)
+               allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+               archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+               hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+               ;;
+             *)
+               allow_undefined_flag_CXX=' -expect_unresolved \*'
+               archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+               archive_expsym_cmds_CXX='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+                 echo "-hidden">> $lib.exp~
+                 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+                 $RM $lib.exp'
+               hardcode_libdir_flag_spec_CXX='-rpath $libdir'
+               ;;
+           esac
+
+           hardcode_libdir_separator_CXX=:
+
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+         *)
+           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+             allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*'
+             case $host in
+               osf3*)
+                 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 ;;
+               *)
+                 archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 ;;
+             esac
+
+             hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir'
+             hardcode_libdir_separator_CXX=:
+
+             # Commands to make compiler produce verbose output that lists
+             # what "hidden" libraries, object files and flags are used when
+             # linking a shared library.
+             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+           else
+             # FIXME: insert proper C++ library support
+             ld_shlibs_CXX=no
+           fi
+           ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+           # Sun C++ 4.x
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+          lcc*)
+           # Lucid
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+          *)
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC*)
+           # Sun C++ 4.2, 5.x and Centerline C++
+            archive_cmds_need_lc_CXX=yes
+           no_undefined_flag_CXX=' -zdefs'
+           archive_cmds_CXX='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+           archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+             $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+           hardcode_libdir_flag_spec_CXX='-R$libdir'
+           hardcode_shlibpath_var_CXX=no
+           case $host_os in
+             solaris2.[0-5] | solaris2.[0-5].*) ;;
+             *)
+               # The compiler driver will combine and reorder linker options,
+               # but understands `-z linker_flag'.
+               # Supported since Solaris 2.6 (maybe 2.5.1?)
+               whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract'
+               ;;
+           esac
+           link_all_deplibs_CXX=yes
+
+           output_verbose_link_cmd='echo'
+
+           # Archives containing C++ object files must be created using
+           # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+           # necessary to make sure instantiated templates are included
+           # in the archive.
+           old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs'
+           ;;
+          gcx*)
+           # Green Hills C++ Compiler
+           archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+           # The C++ compiler must be used to create the archive.
+           old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+           ;;
+          *)
+           # GNU C++ compiler with Solaris linker
+           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+             no_undefined_flag_CXX=' ${wl}-z ${wl}defs'
+             if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+               archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+               archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+               # Commands to make compiler produce verbose output that lists
+               # what "hidden" libraries, object files and flags are used when
+               # linking a shared library.
+               output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+             else
+               # g++ 2.7 appears to require `-G' NOT `-shared' on this
+               # platform.
+               archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+               archive_expsym_cmds_CXX='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+               # Commands to make compiler produce verbose output that lists
+               # what "hidden" libraries, object files and flags are used when
+               # linking a shared library.
+               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+             fi
+
+             hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir'
+             case $host_os in
+               solaris2.[0-5] | solaris2.[0-5].*) ;;
+               *)
+                 whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+                 ;;
+             esac
+           fi
+           ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
+      no_undefined_flag_CXX='${wl}-z,text'
+      archive_cmds_need_lc_CXX=no
+      hardcode_shlibpath_var_CXX=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+         archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+       # Note: We can NOT use -z defs as we might desire, because we do not
+       # link with -lc, and that would cause any symbols used from libc to
+       # always be unresolved, which means just about no library would
+       # ever link correctly.  If we're not using GNU ld we use -z text
+       # though, which does catch some bad symbols but isn't as heavy-handed
+       # as -z defs.
+       no_undefined_flag_CXX='${wl}-z,text'
+       allow_undefined_flag_CXX='${wl}-z,nodefs'
+       archive_cmds_need_lc_CXX=no
+       hardcode_shlibpath_var_CXX=no
+       hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir'
+       hardcode_libdir_separator_CXX=':'
+       link_all_deplibs_CXX=yes
+       export_dynamic_flag_spec_CXX='${wl}-Bexport'
+       runpath_var='LD_RUN_PATH'
+
+       case $cc_basename in
+          CC*)
+           archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           ;;
+         *)
+           archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           ;;
+       esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+           # NonStop-UX NCC 3.20
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+          *)
+           # FIXME: insert proper C++ library support
+           ld_shlibs_CXX=no
+           ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        ld_shlibs_CXX=no
+        ;;
+    esac
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+    test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+    GCC_CXX="$GXX"
+    LD_CXX="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    # Dependencies to place before and after the object being linked:
+predep_objects_CXX=
+postdep_objects_CXX=
+predeps_CXX=
+postdeps_CXX=
+compiler_lib_search_path_CXX=
+
+cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+
+if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" ||
+          test $p = "-R"; then
+        prev=$p
+        continue
+       else
+        prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+        case $p in
+        -L* | -R*)
+          # Internal compiler library paths should come after those
+          # provided the user.  The postdeps already come after the
+          # user supplied libs so there is no need to process them.
+          if test -z "$compiler_lib_search_path_CXX"; then
+            compiler_lib_search_path_CXX="${prev}${p}"
+          else
+            compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${prev}${p}"
+          fi
+          ;;
+        # The "-l" case would never come before the object being
+        # linked, so don't bother handling this case.
+        esac
+       else
+        if test -z "$postdeps_CXX"; then
+          postdeps_CXX="${prev}${p}"
+        else
+          postdeps_CXX="${postdeps_CXX} ${prev}${p}"
+        fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+        pre_test_object_deps_done=yes
+        continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+        if test -z "$predep_objects_CXX"; then
+          predep_objects_CXX="$p"
+        else
+          predep_objects_CXX="$predep_objects_CXX $p"
+        fi
+       else
+        if test -z "$postdep_objects_CXX"; then
+          postdep_objects_CXX="$p"
+        else
+          postdep_objects_CXX="$postdep_objects_CXX $p"
+        fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling CXX test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+case $host_os in
+interix[3-9]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  predep_objects_CXX=
+  postdep_objects_CXX=
+  postdeps_CXX=
+  ;;
+
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    if test "$solaris_use_stlport4" != yes; then
+      postdeps_CXX='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    if test "$solaris_use_stlport4" != yes; then
+      postdeps_CXX='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+esac
+
+
+case " $postdeps_CXX " in
+*" -lc "*) archive_cmds_need_lc_CXX=no ;;
+esac
+ compiler_lib_search_dirs_CXX=
+if test -n "${compiler_lib_search_path_CXX}"; then
+ compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    lt_prog_compiler_wl_CXX=
+lt_prog_compiler_pic_CXX=
+lt_prog_compiler_static_CXX=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
+$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
+
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    lt_prog_compiler_wl_CXX='-Wl,'
+    lt_prog_compiler_static_CXX='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       lt_prog_compiler_static_CXX='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            lt_prog_compiler_pic_CXX='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      lt_prog_compiler_pic_CXX='-DDLL_EXPORT'
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      lt_prog_compiler_pic_CXX='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      lt_prog_compiler_pic_CXX=
+      ;;
+    interix[3-9]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       lt_prog_compiler_pic_CXX=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+       ;;
+      *)
+       lt_prog_compiler_pic_CXX='-fPIC'
+       ;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      lt_prog_compiler_pic_CXX='-fPIC -shared'
+      ;;
+    *)
+      lt_prog_compiler_pic_CXX='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[4-9]*)
+       # All AIX code is PIC.
+       if test "$host_cpu" = ia64; then
+         # AIX 5 now supports IA64 processor
+         lt_prog_compiler_static_CXX='-Bstatic'
+       else
+         lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp'
+       fi
+       ;;
+      chorus*)
+       case $cc_basename in
+       cxch68*)
+         # Green Hills C++ Compiler
+         # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+         ;;
+       esac
+       ;;
+      dgux*)
+       case $cc_basename in
+         ec++*)
+           lt_prog_compiler_pic_CXX='-KPIC'
+           ;;
+         ghcx*)
+           # Green Hills C++ Compiler
+           lt_prog_compiler_pic_CXX='-pic'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      freebsd* | dragonfly*)
+       # FreeBSD uses GNU C++
+       ;;
+      hpux9* | hpux10* | hpux11*)
+       case $cc_basename in
+         CC*)
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+           if test "$host_cpu" != ia64; then
+             lt_prog_compiler_pic_CXX='+Z'
+           fi
+           ;;
+         aCC*)
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_static_CXX='${wl}-a ${wl}archive'
+           case $host_cpu in
+           hppa*64*|ia64*)
+             # +Z the default
+             ;;
+           *)
+             lt_prog_compiler_pic_CXX='+Z'
+             ;;
+           esac
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      interix*)
+       # This is c89, which is MS Visual C++ (no shared libs)
+       # Anyone wants to do a port?
+       ;;
+      irix5* | irix6* | nonstopux*)
+       case $cc_basename in
+         CC*)
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_static_CXX='-non_shared'
+           # CC pic flag -KPIC is the default.
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+       case $cc_basename in
+         KCC*)
+           # KAI C++ Compiler
+           lt_prog_compiler_wl_CXX='--backend -Wl,'
+           lt_prog_compiler_pic_CXX='-fPIC'
+           ;;
+         ecpc* )
+           # old Intel C++ for x86_64 which still supported -KPIC.
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_pic_CXX='-KPIC'
+           lt_prog_compiler_static_CXX='-static'
+           ;;
+         icpc* )
+           # Intel C++, used to be incompatible with GCC.
+           # ICC 10 doesn't accept -KPIC any more.
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_pic_CXX='-fPIC'
+           lt_prog_compiler_static_CXX='-static'
+           ;;
+         pgCC* | pgcpp*)
+           # Portland Group C++ compiler
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_pic_CXX='-fpic'
+           lt_prog_compiler_static_CXX='-Bstatic'
+           ;;
+         cxx*)
+           # Compaq C++
+           # Make sure the PIC flag is empty.  It appears that all Alpha
+           # Linux and Compaq Tru64 Unix objects are PIC.
+           lt_prog_compiler_pic_CXX=
+           lt_prog_compiler_static_CXX='-non_shared'
+           ;;
+         xlc* | xlC*)
+           # IBM XL 8.0 on PPC
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_pic_CXX='-qpic'
+           lt_prog_compiler_static_CXX='-qstaticlink'
+           ;;
+         *)
+           case `$CC -V 2>&1 | sed 5q` in
+           *Sun\ C*)
+             # Sun C++ 5.9
+             lt_prog_compiler_pic_CXX='-KPIC'
+             lt_prog_compiler_static_CXX='-Bstatic'
+             lt_prog_compiler_wl_CXX='-Qoption ld '
+             ;;
+           esac
+           ;;
+       esac
+       ;;
+      lynxos*)
+       ;;
+      m88k*)
+       ;;
+      mvs*)
+       case $cc_basename in
+         cxx*)
+           lt_prog_compiler_pic_CXX='-W c,exportall'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      netbsd* | netbsdelf*-gnu)
+       ;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        lt_prog_compiler_pic_CXX='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+       case $cc_basename in
+         KCC*)
+           lt_prog_compiler_wl_CXX='--backend -Wl,'
+           ;;
+         RCC*)
+           # Rational C++ 2.4.1
+           lt_prog_compiler_pic_CXX='-pic'
+           ;;
+         cxx*)
+           # Digital/Compaq C++
+           lt_prog_compiler_wl_CXX='-Wl,'
+           # Make sure the PIC flag is empty.  It appears that all Alpha
+           # Linux and Compaq Tru64 Unix objects are PIC.
+           lt_prog_compiler_pic_CXX=
+           lt_prog_compiler_static_CXX='-non_shared'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      psos*)
+       ;;
+      solaris*)
+       case $cc_basename in
+         CC*)
+           # Sun C++ 4.2, 5.x and Centerline C++
+           lt_prog_compiler_pic_CXX='-KPIC'
+           lt_prog_compiler_static_CXX='-Bstatic'
+           lt_prog_compiler_wl_CXX='-Qoption ld '
+           ;;
+         gcx*)
+           # Green Hills C++ Compiler
+           lt_prog_compiler_pic_CXX='-PIC'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      sunos4*)
+       case $cc_basename in
+         CC*)
+           # Sun C++ 4.x
+           lt_prog_compiler_pic_CXX='-pic'
+           lt_prog_compiler_static_CXX='-Bstatic'
+           ;;
+         lcc*)
+           # Lucid
+           lt_prog_compiler_pic_CXX='-pic'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+       case $cc_basename in
+         CC*)
+           lt_prog_compiler_wl_CXX='-Wl,'
+           lt_prog_compiler_pic_CXX='-KPIC'
+           lt_prog_compiler_static_CXX='-Bstatic'
+           ;;
+       esac
+       ;;
+      tandem*)
+       case $cc_basename in
+         NCC*)
+           # NonStop-UX NCC 3.20
+           lt_prog_compiler_pic_CXX='-KPIC'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      vxworks*)
+       ;;
+      *)
+       lt_prog_compiler_can_build_shared_CXX=no
+       ;;
+    esac
+  fi
+
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    lt_prog_compiler_pic_CXX=
+    ;;
+  *)
+    lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC"
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic_CXX" >&5
+$as_echo "$lt_prog_compiler_pic_CXX" >&6; }
+
+
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$lt_prog_compiler_pic_CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5
+$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; }
+if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_pic_works_CXX=no
+   ac_outfile=conftest.$ac_objext
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:15225: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&5
+   echo "$as_me:15229: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_pic_works_CXX=yes
+     fi
+   fi
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; }
+
+if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then
+    case $lt_prog_compiler_pic_CXX in
+     "" | " "*) ;;
+     *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;;
+     esac
+else
+    lt_prog_compiler_pic_CXX=
+     lt_prog_compiler_can_build_shared_CXX=no
+fi
+
+fi
+
+
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
+$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
+if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_static_works_CXX=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&5
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         lt_cv_prog_compiler_static_works_CXX=yes
+       fi
+     else
+       lt_cv_prog_compiler_static_works_CXX=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; }
+
+if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then
+    :
+else
+    lt_prog_compiler_static_CXX=
+fi
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o_CXX=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:15324: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:15328: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_CXX=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
+$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
+if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  lt_cv_prog_compiler_c_o_CXX=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:15376: $lt_compile\"" >&5)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&5
+   echo "$as_me:15380: \$? = $ac_status" >&5
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       lt_cv_prog_compiler_c_o_CXX=yes
+     fi
+   fi
+   chmod u+w . 2>&5
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o_CXX" >&5
+$as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; }
+
+
+
+
+hard_links="nottested"
+if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
+$as_echo_n "checking if we can lock with hard links... " >&6; }
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
+$as_echo "$hard_links" >&6; }
+  if test "$hard_links" = no; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
+$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
+$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
+
+  export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix[4-9]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    else
+      export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    export_symbols_cmds_CXX="$ltdll_cmds"
+  ;;
+  cygwin* | mingw* | cegcc*)
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  linux* | k*bsd*-gnu)
+    link_all_deplibs_CXX=no
+  ;;
+  *)
+    export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+  exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs_CXX" >&5
+$as_echo "$ld_shlibs_CXX" >&6; }
+test "$ld_shlibs_CXX" = no && can_build_shared=no
+
+with_gnu_ld_CXX=$with_gnu_ld
+
+
+
+
+
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$archive_cmds_need_lc_CXX" in
+x|xyes)
+  # Assume -lc should be added
+  archive_cmds_need_lc_CXX=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $archive_cmds_CXX in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
+$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
+      $RM conftest*
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
+  (eval $ac_compile) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$lt_prog_compiler_wl_CXX
+       pic_flag=$lt_prog_compiler_pic_CXX
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$allow_undefined_flag_CXX
+        allow_undefined_flag_CXX=
+        if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
+  (eval $archive_cmds_CXX 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+        then
+         archive_cmds_need_lc_CXX=no
+        else
+         archive_cmds_need_lc_CXX=yes
+        fi
+        allow_undefined_flag_CXX=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $RM conftest*
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $archive_cmds_need_lc_CXX" >&5
+$as_echo "$archive_cmds_need_lc_CXX" >&6; }
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
+$as_echo_n "checking dynamic linker characteristics... " >&6; }
+
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[4-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[01] | aix4.[01].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+          echo ' yes '
+          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+       :
+      else
+       can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[45]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[123]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[01]* | freebsdelf3.[01]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
+  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix[3-9]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+       if test "$lt_cv_prog_gnu_ld" = yes; then
+               version_type=linux
+       else
+               version_type=irix
+       fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # Some binutils ld are patched to set DT_RUNPATH
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \
+       LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\""
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
+  shlibpath_overrides_runpath=yes
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[89] | openbsd2.[89].*)
+       shlibpath_overrides_runpath=no
+       ;;
+      *)
+       shlibpath_overrides_runpath=yes
+       ;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
+$as_echo "$dynamic_linker" >&6; }
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
+$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
+hardcode_action_CXX=
+if test -n "$hardcode_libdir_flag_spec_CXX" ||
+   test -n "$runpath_var_CXX" ||
+   test "X$hardcode_automatic_CXX" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$hardcode_direct_CXX" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no &&
+     test "$hardcode_minus_L_CXX" != no; then
+    # Linking always hardcodes the temporary library directory.
+    hardcode_action_CXX=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    hardcode_action_CXX=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  hardcode_action_CXX=unsupported
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action_CXX" >&5
+$as_echo "$hardcode_action_CXX" >&6; }
+
+if test "$hardcode_action_CXX" = relink ||
+   test "$inherit_rpath_CXX" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+
+
+
+
+
+
+
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5 ; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+        CFLAGS="-g"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+
+# pkg-config
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+       if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+       _pkg_min_version=0.9.0
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+               { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       else
+               { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+               PKG_CONFIG=""
+       fi
+fi
+
+# Check whether pkg-config supports Requires.private
+if $PKG_CONFIG --atleast-pkgconfig-version 0.22; then
+   pkgconfig_requires_private="Requires.private"
+else
+   pkgconfig_requires_private="Requires"
+fi
+
+
+# doxygen program for documentation building
+
+
+# Check whether --enable-doc was given.
+if test "${enable_doc+set}" = set; then :
+  enableval=$enable_doc;
+    if test "x${enableval}" = "xyes" ; then
+       efl_enable_doc="yes"
+    else
+       efl_enable_doc="no"
+    fi
+
+else
+  efl_enable_doc="yes"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build documentation" >&5
+$as_echo_n "checking whether to build documentation... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${efl_enable_doc}" >&5
+$as_echo "${efl_enable_doc}" >&6; }
+
+if test "x${efl_enable_doc}" = "xyes" ; then
+
+
+   efl_doxygen="doxygen"
+
+
+# Check whether --with-doxygen was given.
+if test "${with_doxygen+set}" = set; then :
+  withval=$with_doxygen;
+      efl_doxygen=${withval}
+       # Extract the first word of "${efl_doxygen}", so it can be a program name with args.
+set dummy ${efl_doxygen}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_efl_have_doxygen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$efl_have_doxygen"; then
+  ac_cv_prog_efl_have_doxygen="$efl_have_doxygen" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_efl_have_doxygen="yes"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_prog_efl_have_doxygen" && ac_cv_prog_efl_have_doxygen="no"
+fi
+fi
+efl_have_doxygen=$ac_cv_prog_efl_have_doxygen
+if test -n "$efl_have_doxygen"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $efl_have_doxygen" >&5
+$as_echo "$efl_have_doxygen" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+       if test "x${efl_have_doxygen}" = "xno" ; then
+          echo "WARNING:"
+          echo "The doxygen program you specified:"
+          echo "${efl_doxygen}"
+          echo "was not found.  Please check the path and make sure "
+          echo "the program exists and is executable."
+          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no doxygen detected. Documentation will not be built" >&5
+$as_echo "$as_me: WARNING: no doxygen detected. Documentation will not be built" >&2;}
+       fi
+
+else
+  # Extract the first word of "${efl_doxygen}", so it can be a program name with args.
+set dummy ${efl_doxygen}; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_efl_have_doxygen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$efl_have_doxygen"; then
+  ac_cv_prog_efl_have_doxygen="$efl_have_doxygen" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_efl_have_doxygen="yes"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_prog_efl_have_doxygen" && ac_cv_prog_efl_have_doxygen="no"
+fi
+fi
+efl_have_doxygen=$ac_cv_prog_efl_have_doxygen
+if test -n "$efl_have_doxygen"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $efl_have_doxygen" >&5
+$as_echo "$efl_have_doxygen" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+       if test "x${efl_have_doxygen}" = "xno" ; then
+          echo "WARNING:"
+          echo "The doxygen program was not found in your execute path."
+          echo "You may have doxygen installed somewhere not covered by your path."
+          echo ""
+          echo "If this is the case make sure you have the packages installed, AND"
+          echo "that the doxygen program is in your execute path (see your"
+          echo "shell manual page on setting the \$PATH environment variable), OR"
+          echo "alternatively, specify the program to use with --with-doxygen."
+          { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: no doxygen detected. Documentation will not be built" >&5
+$as_echo "$as_me: WARNING: no doxygen detected. Documentation will not be built" >&2;}
+       fi
+
+fi
+
+fi
+
+
+
+if ! test "x${efl_have_doxygen}" = "xyes" ; then
+   efl_enable_doc="no"
+fi
+
+ if test "x${efl_enable_doc}" = "xyes"; then
+  EFL_BUILD_DOC_TRUE=
+  EFL_BUILD_DOC_FALSE='#'
+else
+  EFL_BUILD_DOC_TRUE='#'
+  EFL_BUILD_DOC_FALSE=
+fi
+
+
+if test "x${efl_enable_doc}" = "xyes" ; then
+  build_doc="yes"
+else
+  build_doc="no"
+fi
+
+
+
+
+### Checks for libraries
+
+# Evil library for compilation on Windows CE
+
+case "$host_os" in
+   mingw* | cegcc*)
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EVIL" >&5
+$as_echo_n "checking for EVIL... " >&6; }
+
+if test -n "$EVIL_CFLAGS"; then
+    pkg_cv_EVIL_CFLAGS="$EVIL_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "evil") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_EVIL_CFLAGS=`$PKG_CONFIG --cflags "evil" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$EVIL_LIBS"; then
+    pkg_cv_EVIL_LIBS="$EVIL_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"evil\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "evil") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_EVIL_LIBS=`$PKG_CONFIG --libs "evil" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               EVIL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "evil" 2>&1`
+        else
+               EVIL_PKG_ERRORS=`$PKG_CONFIG --print-errors "evil" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$EVIL_PKG_ERRORS" >&5
+
+       as_fn_error $? "Package requirements (evil) were not met:
+
+$EVIL_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables EVIL_CFLAGS
+and EVIL_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables EVIL_CFLAGS
+and EVIL_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5 ; }
+else
+       EVIL_CFLAGS=$pkg_cv_EVIL_CFLAGS
+       EVIL_LIBS=$pkg_cv_EVIL_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+
+$as_echo "#define HAVE_EVIL 1" >>confdefs.h
+
+      requirement_evas="evil ${requirement_evas}"
+   ;;
+esac
+
+## strong dependencies
+
+# Eina
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EINA" >&5
+$as_echo_n "checking for EINA... " >&6; }
+
+if test -n "$EINA_CFLAGS"; then
+    pkg_cv_EINA_CFLAGS="$EINA_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.0.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "eina >= 1.0.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_EINA_CFLAGS=`$PKG_CONFIG --cflags "eina >= 1.0.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$EINA_LIBS"; then
+    pkg_cv_EINA_LIBS="$EINA_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eina >= 1.0.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "eina >= 1.0.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_EINA_LIBS=`$PKG_CONFIG --libs "eina >= 1.0.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               EINA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eina >= 1.0.0" 2>&1`
+        else
+               EINA_PKG_ERRORS=`$PKG_CONFIG --print-errors "eina >= 1.0.0" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$EINA_PKG_ERRORS" >&5
+
+       as_fn_error $? "Package requirements (eina >= 1.0.0) were not met:
+
+$EINA_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables EINA_CFLAGS
+and EINA_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables EINA_CFLAGS
+and EINA_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5 ; }
+else
+       EINA_CFLAGS=$pkg_cv_EINA_CFLAGS
+       EINA_LIBS=$pkg_cv_EINA_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+
+# Freetype
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FREETYPE" >&5
+$as_echo_n "checking for FREETYPE... " >&6; }
+
+if test -n "$FREETYPE_CFLAGS"; then
+    pkg_cv_FREETYPE_CFLAGS="$FREETYPE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 9.3.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "freetype2 >= 9.3.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_FREETYPE_CFLAGS=`$PKG_CONFIG --cflags "freetype2 >= 9.3.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$FREETYPE_LIBS"; then
+    pkg_cv_FREETYPE_LIBS="$FREETYPE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"freetype2 >= 9.3.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "freetype2 >= 9.3.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_FREETYPE_LIBS=`$PKG_CONFIG --libs "freetype2 >= 9.3.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               FREETYPE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "freetype2 >= 9.3.0" 2>&1`
+        else
+               FREETYPE_PKG_ERRORS=`$PKG_CONFIG --print-errors "freetype2 >= 9.3.0" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$FREETYPE_PKG_ERRORS" >&5
+
+       as_fn_error $? "Package requirements (freetype2 >= 9.3.0) were not met:
+
+$FREETYPE_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables FREETYPE_CFLAGS
+and FREETYPE_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables FREETYPE_CFLAGS
+and FREETYPE_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5 ; }
+else
+       FREETYPE_CFLAGS=$pkg_cv_FREETYPE_CFLAGS
+       FREETYPE_LIBS=$pkg_cv_FREETYPE_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+
+requirement_evas="freetype2 eina >= 1.0.0 ${requirement_evas}"
+
+## optional dependencies
+
+# FontConfig
+have_fontconfig="no"
+# Check whether --enable-fontconfig was given.
+if test "${enable_fontconfig+set}" = set; then :
+  enableval=$enable_fontconfig;
+    if test "x${enableval}" = "xyes" ; then
+       want_fontconfig="yes"
+    else
+       want_fontconfig="no"
+    fi
+
+fi
+
+
+
+if test "x${want_fontconfig}" = "xyes" -o "x${want_fontconfig}" = "xauto" ; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FONTCONFIG" >&5
+$as_echo_n "checking for FONTCONFIG... " >&6; }
+
+if test -n "$FONTCONFIG_CFLAGS"; then
+    pkg_cv_FONTCONFIG_CFLAGS="$FONTCONFIG_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontconfig\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "fontconfig") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_FONTCONFIG_CFLAGS=`$PKG_CONFIG --cflags "fontconfig" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$FONTCONFIG_LIBS"; then
+    pkg_cv_FONTCONFIG_LIBS="$FONTCONFIG_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fontconfig\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "fontconfig") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_FONTCONFIG_LIBS=`$PKG_CONFIG --libs "fontconfig" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "fontconfig" 2>&1`
+        else
+               FONTCONFIG_PKG_ERRORS=`$PKG_CONFIG --print-errors "fontconfig" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$FONTCONFIG_PKG_ERRORS" >&5
+
+
+       if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+          as_fn_error $? "Fontconfig not found (strict dependencies checking)" "$LINENO" 5
+       fi
+
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+       if test "x${want_fontconfig}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+          as_fn_error $? "Fontconfig not found (strict dependencies checking)" "$LINENO" 5
+       fi
+
+else
+       FONTCONFIG_CFLAGS=$pkg_cv_FONTCONFIG_CFLAGS
+       FONTCONFIG_LIBS=$pkg_cv_FONTCONFIG_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+       have_fontconfig="yes"
+
+$as_echo "#define HAVE_FONTCONFIG 1" >>confdefs.h
+
+       requirement_evas="fontconfig ${requirement_evas}"
+
+fi
+fi
+
+# fribidi support
+have_fribidi="no"
+# Check whether --enable-fribidi was given.
+if test "${enable_fribidi+set}" = set; then :
+  enableval=$enable_fribidi;
+    if test "x${enableval}" = "xyes" ; then
+       want_fribidi="yes"
+    else
+       want_fribidi="no"
+    fi
+
+fi
+
+
+if test "x${want_fribidi}" = "xyes" -o "x${want_fribidi}" = "xauto" ; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FRIBIDI" >&5
+$as_echo_n "checking for FRIBIDI... " >&6; }
+
+if test -n "$FRIBIDI_CFLAGS"; then
+    pkg_cv_FRIBIDI_CFLAGS="$FRIBIDI_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fribidi >= 0.19.2\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "fribidi >= 0.19.2") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_FRIBIDI_CFLAGS=`$PKG_CONFIG --cflags "fribidi >= 0.19.2" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$FRIBIDI_LIBS"; then
+    pkg_cv_FRIBIDI_LIBS="$FRIBIDI_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fribidi >= 0.19.2\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "fribidi >= 0.19.2") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_FRIBIDI_LIBS=`$PKG_CONFIG --libs "fribidi >= 0.19.2" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               FRIBIDI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "fribidi >= 0.19.2" 2>&1`
+        else
+               FRIBIDI_PKG_ERRORS=`$PKG_CONFIG --print-errors "fribidi >= 0.19.2" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$FRIBIDI_PKG_ERRORS" >&5
+
+
+       if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
+          as_fn_error $? "Fribidi not found (strict dependencies checking)" "$LINENO" 5
+       fi
+
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+       if test "x$want_fribidi" = "xyes" -a "x$use_strict" = "xyes" ; then
+          as_fn_error $? "Fribidi not found (strict dependencies checking)" "$LINENO" 5
+       fi
+
+else
+       FRIBIDI_CFLAGS=$pkg_cv_FRIBIDI_CFLAGS
+       FRIBIDI_LIBS=$pkg_cv_FRIBIDI_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+       have_fribidi="yes"
+
+$as_echo "#define HAVE_FRIBIDI 1" >>confdefs.h
+
+       requirement_evas="fribidi ${requirement_evas}"
+
+fi
+fi
+
+if test "x${have_fribidi}" = "xno"; then
+  HAS_BIDI=0
+fi
+
+# harfbuzz support
+have_harfbuzz="no"
+have_harfbuzz_glib="no"
+have_harfbuzz_ft="no"
+# Check whether --enable-harfbuzz was given.
+if test "${enable_harfbuzz+set}" = set; then :
+  enableval=$enable_harfbuzz;
+    if test "x${enableval}" = "xyes" ; then
+       want_harfbuzz="yes"
+    else
+       want_harfbuzz="no"
+    fi
+
+fi
+
+
+if test "x${want_harfbuzz}" = "xyes" -o "x${want_harfbuzz}" = "xauto" ; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for HARFBUZZ" >&5
+$as_echo_n "checking for HARFBUZZ... " >&6; }
+
+if test -n "$HARFBUZZ_CFLAGS"; then
+    pkg_cv_HARFBUZZ_CFLAGS="$HARFBUZZ_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"harfbuzz >= 0.2\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "harfbuzz >= 0.2") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_HARFBUZZ_CFLAGS=`$PKG_CONFIG --cflags "harfbuzz >= 0.2" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$HARFBUZZ_LIBS"; then
+    pkg_cv_HARFBUZZ_LIBS="$HARFBUZZ_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"harfbuzz >= 0.2\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "harfbuzz >= 0.2") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_HARFBUZZ_LIBS=`$PKG_CONFIG --libs "harfbuzz >= 0.2" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               HARFBUZZ_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "harfbuzz >= 0.2" 2>&1`
+        else
+               HARFBUZZ_PKG_ERRORS=`$PKG_CONFIG --print-errors "harfbuzz >= 0.2" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$HARFBUZZ_PKG_ERRORS" >&5
+
+
+       if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
+          as_fn_error $? "Harfbuzz not found (strict dependencies checking)" "$LINENO" 5
+       fi
+
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+       if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
+          as_fn_error $? "Harfbuzz not found (strict dependencies checking)" "$LINENO" 5
+       fi
+
+else
+       HARFBUZZ_CFLAGS=$pkg_cv_HARFBUZZ_CFLAGS
+       HARFBUZZ_LIBS=$pkg_cv_HARFBUZZ_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+       have_harfbuzz="yes"
+       requirement_evas="harfbuzz ${requirement_evas}"
+
+fi
+   if test "x$have_harfbuzz" = "xyes" ; then
+
+      CPPFLAGS_SAVE="$CPPFLAGS"
+      CPPFLAGS="$CPPFLAGS $HARFBUZZ_CFLAGS $FREETYPE_CFLAGS"
+# must have for usage with harfbuzz although harfbuzz may not have it.
+
+      ac_fn_c_check_header_mongrel "$LINENO" "hb-ft.h" "ac_cv_header_hb_ft_h" "$ac_includes_default"
+if test "x$ac_cv_header_hb_ft_h" = x""yes; then :
+
+           have_harfbuzz_ft="yes"
+           #Depend on harfbuzz ft for harfbuzz support
+
+$as_echo "#define HAVE_HARFBUZZ 1" >>confdefs.h
+
+
+else
+
+           if test "x$want_harfbuzz" = "xyes" -a "x$use_strict" = "xyes" ; then
+              as_fn_error $? "Harfbuzz-ft not found (strict dependencies checking)" "$LINENO" 5
+           fi
+           have_harfbuzz="no"
+
+fi
+
+
+# nice to have if harfbuzz has it
+      ac_fn_c_check_header_mongrel "$LINENO" "hb-glib.h" "ac_cv_header_hb_glib_h" "$ac_includes_default"
+if test "x$ac_cv_header_hb_glib_h" = x""yes; then :
+
+           have_harfbuzz_glib="yes"
+
+$as_echo "#define HAVE_HARFBUZZ_GLIB 1" >>confdefs.h
+
+
+else
+
+           have_harfbuzz_glib="no"
+
+fi
+
+
+      CPPFLAGS="$CPPFLAGS_SAVE"
+   fi
+fi
+
+if test "x${have_harfbuzz}" = "xno"; then
+  HAS_HARFBUZZ=0
+fi
+
+### Checks for header files
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+                  (('a' <= (c) && (c) <= 'i') \
+                    || ('j' <= (c) && (c) <= 'r') \
+                    || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+       || toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+for ac_header in unistd.h stdint.h sys/param.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+
+default_max="4096"
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PATH_MAX in limits.h" >&5
+$as_echo_n "checking for PATH_MAX in limits.h... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <limits.h>
+
+int
+main ()
+{
+
+int i = PATH_MAX;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+
+
+cat >>confdefs.h <<_ACEOF
+#define PATH_MAX ${default_max}
+_ACEOF
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no: using ${default_max}" >&5
+$as_echo "no: using ${default_max}" >&6; }
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+
+
+### Checks for types
+
+
+### Checks for structures
+
+
+### Checks for compiler characteristics
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if test "${ac_cv_c_const+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this.  */
+  typedef int charset[2];
+  const charset cs;
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *pcpcc;
+  char **ppc;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  pcpcc = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
+  { /* SCO 3.2v4 cc rejects this.  */
+    char *t;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+    if (s) return 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; };
+    struct s *b; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+    if (!foo) return 0;
+  }
+  return !cs[0] && !zero.x;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_const=yes
+else
+  ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
+$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
+if test "${ac_cv_c_bigendian+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_bigendian=unknown
+    # See if we're dealing with a universal compiler.
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __APPLE_CC__
+              not a universal capable compiler
+            #endif
+            typedef int dummy;
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+       # Check for potential -arch flags.  It is not universal unless
+       # there are at least two -arch flags with different values.
+       ac_arch=
+       ac_prev=
+       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
+        if test -n "$ac_prev"; then
+          case $ac_word in
+            i?86 | x86_64 | ppc | ppc64)
+              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
+                ac_arch=$ac_word
+              else
+                ac_cv_c_bigendian=universal
+                break
+              fi
+              ;;
+          esac
+          ac_prev=
+        elif test "x$ac_word" = "x-arch"; then
+          ac_prev=arch
+        fi
+       done
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if sys/param.h defines the BYTE_ORDER macro.
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+            #include <sys/param.h>
+
+int
+main ()
+{
+#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
+                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
+                    && LITTLE_ENDIAN)
+             bogus endian macros
+            #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <sys/types.h>
+               #include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+                not big endian
+               #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
+             bogus endian macros
+            #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  # It does; now see whether it defined to _BIG_ENDIAN or not.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <limits.h>
+
+int
+main ()
+{
+#ifndef _BIG_ENDIAN
+                not big endian
+               #endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_bigendian=yes
+else
+  ac_cv_c_bigendian=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+    if test $ac_cv_c_bigendian = unknown; then
+      # Compile a test program.
+      if test "$cross_compiling" = yes; then :
+  # Try to guess by grepping values from an object file.
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+short int ascii_mm[] =
+                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+               short int ascii_ii[] =
+                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+               int use_ascii (int i) {
+                 return ascii_mm[i] + ascii_ii[i];
+               }
+               short int ebcdic_ii[] =
+                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+               short int ebcdic_mm[] =
+                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+               int use_ebcdic (int i) {
+                 return ebcdic_mm[i] + ebcdic_ii[i];
+               }
+               extern int foo;
+
+int
+main ()
+{
+return use_ascii (foo) == use_ebcdic (foo);
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
+             ac_cv_c_bigendian=yes
+           fi
+           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+             if test "$ac_cv_c_bigendian" = unknown; then
+               ac_cv_c_bigendian=no
+             else
+               # finding both strings is unlikely to happen, but who knows?
+               ac_cv_c_bigendian=unknown
+             fi
+           fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+            /* Are we little or big endian?  From Harbison&Steele.  */
+            union
+            {
+              long int l;
+              char c[sizeof (long int)];
+            } u;
+            u.l = 1;
+            return u.c[sizeof (long int) - 1] == 1;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_c_bigendian=no
+else
+  ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+    fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
+$as_echo "$ac_cv_c_bigendian" >&6; }
+ case $ac_cv_c_bigendian in #(
+   yes)
+     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
+;; #(
+   no)
+      ;; #(
+   universal)
+
+$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
+
+     ;; #(
+   *)
+     as_fn_error $? "unknown endianness
+ presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5  ;;
+ esac
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__" >&5
+$as_echo_n "checking for __attribute__... " >&6; }
+
+if test "${ac_cv___attribute__+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdlib.h>
+
+int func(int x);
+int foo(int x __attribute__ ((unused)))
+{
+   exit(1);
+}
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv___attribute__="yes"
+else
+  ac_cv___attribute__="no"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv___attribute__" >&5
+$as_echo "$ac_cv___attribute__" >&6; }
+
+if test "x${ac_cv___attribute__}" = "xyes" ; then
+
+$as_echo "#define HAVE___ATTRIBUTE__ 1" >>confdefs.h
+
+
+$as_echo "#define __UNUSED__ __attribute__((unused))" >>confdefs.h
+
+  else
+
+$as_echo "#define __UNUSED__ /**/" >>confdefs.h
+
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "no acceptable C compiler found in \$PATH
+See \`config.log' for more details" "$LINENO" 5 ; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+        CFLAGS="-g"
+        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+       continue
+      else
+       break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+
+am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+
+
+WIN32_CPPFLAGS=""
+case "$host_os" in
+   mingw32ce* | cegcc*)
+      WIN32_CPPFLAGS="-D_WIN32_WCE=0x0420"
+      ;;
+   mingw*)
+      WIN32_CPPFLAGS="-D_WIN32_WINNT=0x0500"
+      ;;
+esac
+
+
+WIN32_CFLAGS=""
+case "${host_os}" in
+   cegcc*)
+      WIN32_CFLAGS="-mwin32"
+   ;;
+esac
+
+
+
+### Checks for linker characteristics
+lt_enable_auto_import=""
+case "${host_os}" in
+   mingw* | cegcc*)
+
+$as_echo "#define EFL_EVAS_BUILD 1" >>confdefs.h
+
+      lt_enable_auto_import="-Wl,--enable-auto-import"
+   ;;
+esac
+
+
+
+### Checks for library functions
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
+$as_echo_n "checking for library containing strerror... " >&6; }
+if test "${ac_cv_search_strerror+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char strerror ();
+int
+main ()
+{
+return strerror ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' cposix; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_strerror=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_strerror+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_strerror+set}" = set; then :
+
+else
+  ac_cv_search_strerror=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
+$as_echo "$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+
+# alloca
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments.  Useless!
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
+$as_echo_n "checking for working alloca.h... " >&6; }
+if test "${ac_cv_working_alloca_h+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <alloca.h>
+int
+main ()
+{
+char *p = (char *) alloca (2 * sizeof (int));
+                         if (p) return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_working_alloca_h=yes
+else
+  ac_cv_working_alloca_h=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
+$as_echo "$ac_cv_working_alloca_h" >&6; }
+if test $ac_cv_working_alloca_h = yes; then
+
+$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
+$as_echo_n "checking for alloca... " >&6; }
+if test "${ac_cv_func_alloca_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+#  include <malloc.h>
+#  define alloca _alloca
+# else
+#  ifdef HAVE_ALLOCA_H
+#   include <alloca.h>
+#  else
+#   ifdef _AIX
+ #pragma alloca
+#   else
+#    ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+#    endif
+#   endif
+#  endif
+# endif
+#endif
+
+int
+main ()
+{
+char *p = (char *) alloca (1);
+                                   if (p) return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_func_alloca_works=yes
+else
+  ac_cv_func_alloca_works=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
+$as_echo "$ac_cv_func_alloca_works" >&6; }
+
+if test $ac_cv_func_alloca_works = yes; then
+
+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
+
+else
+  # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+# that cause trouble.  Some versions do not even contain alloca or
+# contain a buggy version.  If you still want to use their alloca,
+# use ar to extract alloca.o from them instead of compiling alloca.c.
+
+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
+
+$as_echo "#define C_ALLOCA 1" >>confdefs.h
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
+$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
+if test "${ac_cv_os_cray+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#if defined CRAY && ! defined CRAY2
+webecray
+#else
+wenotbecray
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "webecray" >/dev/null 2>&1; then :
+  ac_cv_os_cray=yes
+else
+  ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
+$as_echo "$ac_cv_os_cray" >&6; }
+if test $ac_cv_os_cray = yes; then
+  for ac_func in _getb67 GETB67 getb67; do
+    as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+
+cat >>confdefs.h <<_ACEOF
+#define CRAY_STACKSEG_END $ac_func
+_ACEOF
+
+    break
+fi
+
+  done
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
+$as_echo_n "checking stack direction for C alloca... " >&6; }
+if test "${ac_cv_c_stack_direction+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ac_cv_c_stack_direction=0
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+find_stack_direction ()
+{
+  static char *addr = 0;
+  auto char dummy;
+  if (addr == 0)
+    {
+      addr = &dummy;
+      return find_stack_direction ();
+    }
+  else
+    return (&dummy > addr) ? 1 : -1;
+}
+
+int
+main ()
+{
+  return find_stack_direction () < 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_c_stack_direction=1
+else
+  ac_cv_c_stack_direction=-1
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
+$as_echo "$ac_cv_c_stack_direction" >&6; }
+cat >>confdefs.h <<_ACEOF
+#define STACK_DIRECTION $ac_cv_c_stack_direction
+_ACEOF
+
+
+fi
+
+
+# fnmatch
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "fnmatch.h" "ac_cv_header_fnmatch_h" "$ac_includes_default"
+if test "x$ac_cv_header_fnmatch_h" = x""yes; then :
+  _efl_have_fnmatch="yes"
+else
+  _efl_have_fnmatch="no"
+fi
+
+
+
+if test "x${_efl_have_fnmatch}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing fnmatch" >&5
+$as_echo_n "checking for library containing fnmatch... " >&6; }
+if test "${ac_cv_search_fnmatch+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char fnmatch ();
+int
+main ()
+{
+return fnmatch ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' fnmatch evil iberty; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_fnmatch=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_fnmatch+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_fnmatch+set}" = set; then :
+
+else
+  ac_cv_search_fnmatch=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_fnmatch" >&5
+$as_echo "$ac_cv_search_fnmatch" >&6; }
+ac_res=$ac_cv_search_fnmatch
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+  _efl_have_fnmatch="yes"
+else
+  _efl_have_fnmatch="no"
+fi
+
+fi
+
+EFL_FNMATCH_LIBS=""
+
+if (! test "x${ac_cv_search_fnmatch}" = "xnone required") && (! test "x${ac_cv_search_fnmatch}" = "xno") && (! test "x${ac_cv_search_fnmatch}" = "x-levil") ; then
+   EFL_FNMATCH_LIBS=${ac_cv_search_fnmatch}
+fi
+
+
+
+if test "x$_efl_have_fnmatch" = "xyes"; then :
+
+else
+  as_fn_error $? "Cannot find fnmatch()" "$LINENO" 5
+fi
+
+
+
+# dlopen
+dlopen_libs=""
+case "$host_os" in
+  mingw32ce* | cegcc*)
+# managed by evil
+    $as_echo "#define HAVE_DLADDR 1" >>confdefs.h
+
+  ;;
+  mingw*)
+# nothing on mingw platform
+  ;;
+  *)
+    for ac_func in dlopen
+do :
+  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
+if test "x$ac_cv_func_dlopen" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLOPEN 1
+_ACEOF
+ res=yes
+else
+  res=no
+fi
+done
+
+    if test "x$res" = "xyes"; then
+      for ac_func in dladdr
+do :
+  ac_fn_c_check_func "$LINENO" "dladdr" "ac_cv_func_dladdr"
+if test "x$ac_cv_func_dladdr" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DLADDR 1
+_ACEOF
+ $as_echo "#define HAVE_DLADDR 1" >>confdefs.h
+
+fi
+done
+
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
+$as_echo_n "checking for dlopen in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dlopen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dlopen ();
+int
+main ()
+{
+return dlopen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dlopen=yes
+else
+  ac_cv_lib_dl_dlopen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
+$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
+if test "x$ac_cv_lib_dl_dlopen" = x""yes; then :
+  res=yes
+else
+  res=no
+fi
+
+      if test "x$res" = "xyes"; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dladdr in -ldl" >&5
+$as_echo_n "checking for dladdr in -ldl... " >&6; }
+if test "${ac_cv_lib_dl_dladdr+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dladdr ();
+int
+main ()
+{
+return dladdr ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dl_dladdr=yes
+else
+  ac_cv_lib_dl_dladdr=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dladdr" >&5
+$as_echo "$ac_cv_lib_dl_dladdr" >&6; }
+if test "x$ac_cv_lib_dl_dladdr" = x""yes; then :
+  $as_echo "#define HAVE_DLADDR 1" >>confdefs.h
+
+fi
+
+        dlopen_libs=-ldl
+      else
+        as_fn_error $? "Cannot find dlopen" "$LINENO" 5
+      fi
+    fi
+esac
+
+
+# (shm_open (for cache server)
+# Check whether --enable-evas-cserve was given.
+if test "${enable_evas_cserve+set}" = set; then :
+  enableval=$enable_evas_cserve;
+    if test "x${enableval}" = "xyes" ; then
+       want_evas_cserve="yes"
+    else
+       want_evas_cserve="no"
+    fi
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared cache server and support" >&5
+$as_echo_n "checking whether to build shared cache server and support... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_evas_cserve}" >&5
+$as_echo "${want_evas_cserve}" >&6; }
+
+if test "x${want_evas_cserve}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether shm_open() is present" >&5
+$as_echo_n "checking whether shm_open() is present... " >&6; }
+   LIBS_save=${LIBS}
+   LIBS="${LIBS} -lrt"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <sys/types.h>
+#include <sys/mman.h>
+#include <fcntl.h>
+
+int
+main ()
+{
+
+int fd;
+fd = shm_open("/", O_RDWR | O_CREAT, S_IRUSR | S_IWUSR);
+shm_unlink("/");
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  want_evas_cserve="yes"
+else
+  want_evas_cserve="no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+   LIBS=${LIBS_save}
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_evas_cserve}" >&5
+$as_echo "${want_evas_cserve}" >&6; }
+fi
+
+if test "x${want_evas_cserve}" = "xyes" ; then
+
+$as_echo "#define EVAS_CSERVE 1" >>confdefs.h
+
+fi
+
+ if test "x${want_evas_cserve}" = "xyes"; then
+  EVAS_CSERVE_TRUE=
+  EVAS_CSERVE_FALSE='#'
+else
+  EVAS_CSERVE_TRUE='#'
+  EVAS_CSERVE_FALSE=
+fi
+
+
+
+
+#######################################
+## GL force flavor gles
+gl_flavor_gles="no"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build GLES flavor of GL" >&5
+$as_echo_n "checking whether to build GLES flavor of GL... " >&6; }
+# Check whether --enable-gl-flavor-gles was given.
+if test "${enable_gl_flavor_gles+set}" = set; then :
+  enableval=$enable_gl_flavor_gles;
+      if test "x$enableval" = "xyes" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+        gl_flavor_gles="yes"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        gl_flavor_gles="no"
+      fi
+
+else
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      gl_flavor_gles="no"
+
+
+fi
+
+
+#######################################
+## GLES variety sgx
+gles_variety_sgx="no"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build GLES variety for SGX" >&5
+$as_echo_n "checking whether to build GLES variety for SGX... " >&6; }
+# Check whether --enable-gles-variety-sgx was given.
+if test "${enable_gles_variety_sgx+set}" = set; then :
+  enableval=$enable_gles_variety_sgx;
+      if test "x$enableval" = "xyes" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define GLES_VARIETY_SGX 1" >>confdefs.h
+
+        gles_variety_sgx="yes"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        gles_variety_sgx="no"
+      fi
+
+else
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      gles_variety_sgx="no"
+
+
+fi
+
+
+#######################################
+## GLES variety s3c6410
+gles_variety_s3c6410="no"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build GLES variety for s3c6410" >&5
+$as_echo_n "checking whether to build GLES variety for s3c6410... " >&6; }
+# Check whether --enable-gles-variety-s3c6410 was given.
+if test "${enable_gles_variety_s3c6410+set}" = set; then :
+  enableval=$enable_gles_variety_s3c6410;
+      if test "x$enableval" = "xyes" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define GLES_VARIETY_S3C6410 1" >>confdefs.h
+
+        gles_variety_s3c6410="yes"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        gles_variety_s3c6410="no"
+      fi
+
+else
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      gles_variety_s3c6410="no"
+
+
+fi
+
+
+if test "x$gl_flavor_gles" = "xyes"; then
+  eng=""
+  if test "x$gles_variety_sgx" = "xyes"; then eng="x"$eng; fi
+  if test "x$gles_variety_s3c6410" = "xyes"; then eng="x"$eng; fi
+  if test "x$eng" = "xx"; then
+    eng=""
+  else
+     as_fn_error $? "Please enable just 1 OpenGL-ES flavor. Choices are:
+          --enable-gles-variety-sgx (Most GL-ES2 GPUs with shader compiler)
+          --enable-gles-variety-s3c6410 (s3c6410 with offline shader compiler)
+        You will also need to enable the OpenGL engine for X11 with:
+          --enable-gl-x11
+       " "$LINENO" 5
+  fi
+fi
+
+#####################################################################
+## Engines
+
+
+
+
+want_engine="${want_evas_engine_buffer}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_buffer="no"
+
+# Check whether --enable-buffer was given.
+if test "${enable_buffer+set}" = set; then :
+  enableval=$enable_buffer;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Buffer rendering backend" >&5
+$as_echo_n "checking whether to enable Buffer rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+have_dep="yes"
+evas_engine_buffer_cflags=""
+evas_engine_buffer_libs=""
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Buffer dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Buffer rendering backend will be built" >&5
+$as_echo_n "checking whether Buffer rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_buffer="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_buffer="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_BUFFER 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_BUFFER_TRUE=
+  BUILD_ENGINE_BUFFER_FALSE='#'
+else
+  BUILD_ENGINE_BUFFER_TRUE='#'
+  BUILD_ENGINE_BUFFER_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_BUFFER 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_BUFFER_TRUE=
+  EVAS_STATIC_BUILD_BUFFER_FALSE='#'
+else
+  EVAS_STATIC_BUILD_BUFFER_TRUE='#'
+  EVAS_STATIC_BUILD_BUFFER_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_software_xlib}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_software_xlib="no"
+
+# Check whether --enable-software-xlib was given.
+if test "${enable_software_xlib+set}" = set; then :
+  enableval=$enable_software_xlib;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Software Xlib rendering backend" >&5
+$as_echo_n "checking whether to enable Software Xlib rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+have_dep="no"
+evas_engine_software_xlib_cflags=""
+evas_engine_software_xlib_libs=""
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
+$as_echo_n "checking for X... " >&6; }
+
+
+# Check whether --with-x was given.
+if test "${with_x+set}" = set; then :
+  withval=$with_x;
+fi
+
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+if test "x$with_x" = xno; then
+  # The user explicitly disabled X.
+  have_x=disabled
+else
+  case $x_includes,$x_libraries in #(
+    *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #(
+    *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  # One or both of the vars are not set, and there is no cached value.
+ac_x_includes=no ac_x_libraries=no
+rm -f -r conftest.dir
+if mkdir conftest.dir; then
+  cd conftest.dir
+  cat >Imakefile <<'_ACEOF'
+incroot:
+       @echo incroot='${INCROOT}'
+usrlibdir:
+       @echo usrlibdir='${USRLIBDIR}'
+libdir:
+       @echo libdir='${LIBDIR}'
+_ACEOF
+  if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
+    # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+    for ac_var in incroot usrlibdir libdir; do
+      eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
+    done
+    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+    for ac_extension in a so sl dylib la dll; do
+      if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
+        test -f "$ac_im_libdir/libX11.$ac_extension"; then
+       ac_im_usrlibdir=$ac_im_libdir; break
+      fi
+    done
+    # Screen out bogus values from the imake configuration.  They are
+    # bogus both because they are the default anyway, and because
+    # using them would break gcc on systems where it needs fixed includes.
+    case $ac_im_incroot in
+       /usr/include) ac_x_includes= ;;
+       *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+    esac
+    case $ac_im_usrlibdir in
+       /usr/lib | /usr/lib64 | /lib | /lib64) ;;
+       *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+    esac
+  fi
+  cd ..
+  rm -f -r conftest.dir
+fi
+
+# Standard set of common directories for X headers.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ac_x_header_dirs='
+/usr/X11/include
+/usr/X11R7/include
+/usr/X11R6/include
+/usr/X11R5/include
+/usr/X11R4/include
+
+/usr/include/X11
+/usr/include/X11R7
+/usr/include/X11R6
+/usr/include/X11R5
+/usr/include/X11R4
+
+/usr/local/X11/include
+/usr/local/X11R7/include
+/usr/local/X11R6/include
+/usr/local/X11R5/include
+/usr/local/X11R4/include
+
+/usr/local/include/X11
+/usr/local/include/X11R7
+/usr/local/include/X11R6
+/usr/local/include/X11R5
+/usr/local/include/X11R4
+
+/usr/X386/include
+/usr/x386/include
+/usr/XFree86/include/X11
+
+/usr/include
+/usr/local/include
+/usr/unsupported/include
+/usr/athena/include
+/usr/local/x11r5/include
+/usr/lpp/Xamples/include
+
+/usr/openwin/include
+/usr/openwin/share/include'
+
+if test "$ac_x_includes" = no; then
+  # Guess where to find include files, by looking for Xlib.h.
+  # First, try using that file with no special directory specified.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+  for ac_dir in $ac_x_header_dirs; do
+  if test -r "$ac_dir/X11/Xlib.h"; then
+    ac_x_includes=$ac_dir
+    break
+  fi
+done
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+fi # $ac_x_includes = no
+
+if test "$ac_x_libraries" = no; then
+  # Check for the libraries.
+  # See if we find them without any special options.
+  # Don't add to $LIBS permanently.
+  ac_save_LIBS=$LIBS
+  LIBS="-lX11 $LIBS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+int
+main ()
+{
+XrmInitialize ()
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  LIBS=$ac_save_LIBS
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+  LIBS=$ac_save_LIBS
+for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+do
+  # Don't even attempt the hair of trying to link an X program!
+  for ac_extension in a so sl dylib la dll; do
+    if test -r "$ac_dir/libX11.$ac_extension"; then
+      ac_x_libraries=$ac_dir
+      break 2
+    fi
+  done
+done
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi # $ac_x_libraries = no
+
+case $ac_x_includes,$ac_x_libraries in #(
+  no,* | *,no | *\'*)
+    # Didn't find X, or a directory has "'" in its name.
+    ac_cv_have_x="have_x=no";; #(
+  *)
+    # Record where we found X for the cache.
+    ac_cv_have_x="have_x=yes\
+       ac_x_includes='$ac_x_includes'\
+       ac_x_libraries='$ac_x_libraries'"
+esac
+fi
+;; #(
+    *) have_x=yes;;
+  esac
+  eval "$ac_cv_have_x"
+fi # $with_x != no
+
+if test "$have_x" != yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5
+$as_echo "$have_x" >&6; }
+  no_x=yes
+else
+  # If each of the values was on the command line, it overrides each guess.
+  test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+  test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+  # Update the cache value to reflect the command line values.
+  ac_cv_have_x="have_x=yes\
+       ac_x_includes='$x_includes'\
+       ac_x_libraries='$x_libraries'"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5
+$as_echo "libraries $x_libraries, headers $x_includes" >&6; }
+fi
+
+if test "$no_x" = yes; then
+  # Not all programs may use this symbol, but it does not hurt to define it.
+
+$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h
+
+  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
+else
+  if test -n "$x_includes"; then
+    X_CFLAGS="$X_CFLAGS -I$x_includes"
+  fi
+
+  # It would also be nice to do this for all -L options, not just this one.
+  if test -n "$x_libraries"; then
+    X_LIBS="$X_LIBS -L$x_libraries"
+    # For Solaris; some versions of Sun CC require a space after -R and
+    # others require no space.  Words are not sufficient . . . .
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5
+$as_echo_n "checking whether -R must be followed by a space... " >&6; }
+    ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+    ac_xsave_c_werror_flag=$ac_c_werror_flag
+    ac_c_werror_flag=yes
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       X_LIBS="$X_LIBS -R$x_libraries"
+else
+  LIBS="$ac_xsave_LIBS -R $x_libraries"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+         X_LIBS="$X_LIBS -R $x_libraries"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5
+$as_echo "neither works" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    ac_c_werror_flag=$ac_xsave_c_werror_flag
+    LIBS=$ac_xsave_LIBS
+  fi
+
+  # Check for system-dependent libraries X programs must link with.
+  # Do this before checking for the system-independent R6 libraries
+  # (-lICE), since we may need -lsocket or whatever for X linking.
+
+  if test "$ISC" = yes; then
+    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+  else
+    # Martyn Johnson says this is needed for Ultrix, if the X
+    # libraries were built with DECnet support.  And Karl Berry says
+    # the Alpha needs dnet_stub (dnet does not exist).
+    ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XOpenDisplay ();
+int
+main ()
+{
+return XOpenDisplay ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
+if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dnet_dnet_ntoa=yes
+else
+  ac_cv_lib_dnet_dnet_ntoa=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+fi
+
+    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
+if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet_stub  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dnet_stub_dnet_ntoa=yes
+else
+  ac_cv_lib_dnet_stub_dnet_ntoa=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+fi
+
+    fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LIBS="$ac_xsave_LIBS"
+
+    # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+    # to get the SysV transport functions.
+    # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
+    # needs -lnsl.
+    # The nsl library prevents programs from opening the X display
+    # on Irix 5.2, according to T.E. Dickey.
+    # The functions gethostbyname, getservbyname, and inet_addr are
+    # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+    ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
+if test "x$ac_cv_func_gethostbyname" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_gethostbyname = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
+$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
+if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_nsl_gethostbyname=yes
+else
+  ac_cv_lib_nsl_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
+$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
+if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+fi
+
+      if test $ac_cv_lib_nsl_gethostbyname = no; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
+$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
+if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_bsd_gethostbyname=yes
+else
+  ac_cv_lib_bsd_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
+$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
+if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+fi
+
+      fi
+    fi
+
+    # lieder@skyler.mavd.honeywell.com says without -lsocket,
+    # socket/setsockopt and other routines are undefined under SCO ODT
+    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
+    # on later versions), says Simon Leinen: it contains gethostby*
+    # variants that don't use the name server (or something).  -lsocket
+    # must be given before -lnsl if both are needed.  We assume that
+    # if connect needs -lnsl, so does gethostbyname.
+    ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
+if test "x$ac_cv_func_connect" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_connect = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
+$as_echo_n "checking for connect in -lsocket... " >&6; }
+if test "${ac_cv_lib_socket_connect+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char connect ();
+int
+main ()
+{
+return connect ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_socket_connect=yes
+else
+  ac_cv_lib_socket_connect=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
+$as_echo "$ac_cv_lib_socket_connect" >&6; }
+if test "x$ac_cv_lib_socket_connect" = x""yes; then :
+  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+fi
+
+    fi
+
+    # Guillermo Gomez says -lposix is necessary on A/UX.
+    ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
+if test "x$ac_cv_func_remove" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_remove = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
+$as_echo_n "checking for remove in -lposix... " >&6; }
+if test "${ac_cv_lib_posix_remove+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lposix  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char remove ();
+int
+main ()
+{
+return remove ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_posix_remove=yes
+else
+  ac_cv_lib_posix_remove=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
+$as_echo "$ac_cv_lib_posix_remove" >&6; }
+if test "x$ac_cv_lib_posix_remove" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+fi
+
+    fi
+
+    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+    ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
+if test "x$ac_cv_func_shmat" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_shmat = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
+$as_echo_n "checking for shmat in -lipc... " >&6; }
+if test "${ac_cv_lib_ipc_shmat+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lipc  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shmat ();
+int
+main ()
+{
+return shmat ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ipc_shmat=yes
+else
+  ac_cv_lib_ipc_shmat=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
+$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
+if test "x$ac_cv_lib_ipc_shmat" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+fi
+
+    fi
+  fi
+
+  # Check for libraries that X11R6 Xt/Xaw programs need.
+  ac_save_LDFLAGS=$LDFLAGS
+  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+  # check for ICE first), but we must link in the order -lSM -lICE or
+  # we get undefined symbols.  So assume we have SM if we have ICE.
+  # These have to be linked with before -lX11, unlike the other
+  # libraries we check for below, so use a different variable.
+  # John Interrante, Karl Berry
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
+$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
+if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char IceConnectionNumber ();
+int
+main ()
+{
+return IceConnectionNumber ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ICE_IceConnectionNumber=yes
+else
+  ac_cv_lib_ICE_IceConnectionNumber=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
+if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then :
+  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+fi
+
+  LDFLAGS=$ac_save_LDFLAGS
+
+fi
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "X11/X.h" "ac_cv_header_X11_X_h" "$ac_includes_default"
+if test "x$ac_cv_header_X11_X_h" = x""yes; then :
+  have_dep="yes"
+fi
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCreateImage in -lX11" >&5
+$as_echo_n "checking for XCreateImage in -lX11... " >&6; }
+if test "${ac_cv_lib_X11_XCreateImage+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lX11  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XCreateImage ();
+int
+main ()
+{
+return XCreateImage ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_X11_XCreateImage=yes
+else
+  ac_cv_lib_X11_XCreateImage=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_XCreateImage" >&5
+$as_echo "$ac_cv_lib_X11_XCreateImage" >&6; }
+if test "x$ac_cv_lib_X11_XCreateImage" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XShmCreateImage in -lXext" >&5
+$as_echo_n "checking for XShmCreateImage in -lXext... " >&6; }
+if test "${ac_cv_lib_Xext_XShmCreateImage+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lXext  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XShmCreateImage ();
+int
+main ()
+{
+return XShmCreateImage ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_Xext_XShmCreateImage=yes
+else
+  ac_cv_lib_Xext_XShmCreateImage=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XShmCreateImage" >&5
+$as_echo "$ac_cv_lib_Xext_XShmCreateImage" >&6; }
+if test "x$ac_cv_lib_Xext_XShmCreateImage" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   if test "xyes" = "xyes" ; then
+      x_libs="${x_libs} -lX11 -lXext"
+   else
+      x_dir=${x_dir:-/usr/X11R6}
+      x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
+      x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
+   fi
+   evas_engine_software_xlib_cflags="${x_cflags}"
+   evas_engine_software_xlib_libs="${x_libs}"
+fi
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Software Xlib dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software Xlib rendering backend will be built" >&5
+$as_echo_n "checking whether Software Xlib rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_xlib="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_xlib="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_SOFTWARE_XLIB 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_XLIB_TRUE=
+  BUILD_ENGINE_SOFTWARE_XLIB_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_XLIB_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_XLIB_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_XLIB 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_xrender_x11}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_xrender_x11="no"
+
+# Check whether --enable-xrender-x11 was given.
+if test "${enable_xrender_x11+set}" = set; then :
+  enableval=$enable_xrender_x11;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable XRender X11 rendering backend" >&5
+$as_echo_n "checking whether to enable XRender X11 rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+evas_engine_xrender_x11_cflags=""
+evas_engine_xrender_x11_libs=""
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
+$as_echo_n "checking for X... " >&6; }
+
+
+# Check whether --with-x was given.
+if test "${with_x+set}" = set; then :
+  withval=$with_x;
+fi
+
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+if test "x$with_x" = xno; then
+  # The user explicitly disabled X.
+  have_x=disabled
+else
+  case $x_includes,$x_libraries in #(
+    *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #(
+    *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  # One or both of the vars are not set, and there is no cached value.
+ac_x_includes=no ac_x_libraries=no
+rm -f -r conftest.dir
+if mkdir conftest.dir; then
+  cd conftest.dir
+  cat >Imakefile <<'_ACEOF'
+incroot:
+       @echo incroot='${INCROOT}'
+usrlibdir:
+       @echo usrlibdir='${USRLIBDIR}'
+libdir:
+       @echo libdir='${LIBDIR}'
+_ACEOF
+  if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
+    # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+    for ac_var in incroot usrlibdir libdir; do
+      eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
+    done
+    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+    for ac_extension in a so sl dylib la dll; do
+      if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
+        test -f "$ac_im_libdir/libX11.$ac_extension"; then
+       ac_im_usrlibdir=$ac_im_libdir; break
+      fi
+    done
+    # Screen out bogus values from the imake configuration.  They are
+    # bogus both because they are the default anyway, and because
+    # using them would break gcc on systems where it needs fixed includes.
+    case $ac_im_incroot in
+       /usr/include) ac_x_includes= ;;
+       *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+    esac
+    case $ac_im_usrlibdir in
+       /usr/lib | /usr/lib64 | /lib | /lib64) ;;
+       *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+    esac
+  fi
+  cd ..
+  rm -f -r conftest.dir
+fi
+
+# Standard set of common directories for X headers.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ac_x_header_dirs='
+/usr/X11/include
+/usr/X11R7/include
+/usr/X11R6/include
+/usr/X11R5/include
+/usr/X11R4/include
+
+/usr/include/X11
+/usr/include/X11R7
+/usr/include/X11R6
+/usr/include/X11R5
+/usr/include/X11R4
+
+/usr/local/X11/include
+/usr/local/X11R7/include
+/usr/local/X11R6/include
+/usr/local/X11R5/include
+/usr/local/X11R4/include
+
+/usr/local/include/X11
+/usr/local/include/X11R7
+/usr/local/include/X11R6
+/usr/local/include/X11R5
+/usr/local/include/X11R4
+
+/usr/X386/include
+/usr/x386/include
+/usr/XFree86/include/X11
+
+/usr/include
+/usr/local/include
+/usr/unsupported/include
+/usr/athena/include
+/usr/local/x11r5/include
+/usr/lpp/Xamples/include
+
+/usr/openwin/include
+/usr/openwin/share/include'
+
+if test "$ac_x_includes" = no; then
+  # Guess where to find include files, by looking for Xlib.h.
+  # First, try using that file with no special directory specified.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+  for ac_dir in $ac_x_header_dirs; do
+  if test -r "$ac_dir/X11/Xlib.h"; then
+    ac_x_includes=$ac_dir
+    break
+  fi
+done
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+fi # $ac_x_includes = no
+
+if test "$ac_x_libraries" = no; then
+  # Check for the libraries.
+  # See if we find them without any special options.
+  # Don't add to $LIBS permanently.
+  ac_save_LIBS=$LIBS
+  LIBS="-lX11 $LIBS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+int
+main ()
+{
+XrmInitialize ()
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  LIBS=$ac_save_LIBS
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+  LIBS=$ac_save_LIBS
+for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+do
+  # Don't even attempt the hair of trying to link an X program!
+  for ac_extension in a so sl dylib la dll; do
+    if test -r "$ac_dir/libX11.$ac_extension"; then
+      ac_x_libraries=$ac_dir
+      break 2
+    fi
+  done
+done
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi # $ac_x_libraries = no
+
+case $ac_x_includes,$ac_x_libraries in #(
+  no,* | *,no | *\'*)
+    # Didn't find X, or a directory has "'" in its name.
+    ac_cv_have_x="have_x=no";; #(
+  *)
+    # Record where we found X for the cache.
+    ac_cv_have_x="have_x=yes\
+       ac_x_includes='$ac_x_includes'\
+       ac_x_libraries='$ac_x_libraries'"
+esac
+fi
+;; #(
+    *) have_x=yes;;
+  esac
+  eval "$ac_cv_have_x"
+fi # $with_x != no
+
+if test "$have_x" != yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5
+$as_echo "$have_x" >&6; }
+  no_x=yes
+else
+  # If each of the values was on the command line, it overrides each guess.
+  test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+  test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+  # Update the cache value to reflect the command line values.
+  ac_cv_have_x="have_x=yes\
+       ac_x_includes='$x_includes'\
+       ac_x_libraries='$x_libraries'"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5
+$as_echo "libraries $x_libraries, headers $x_includes" >&6; }
+fi
+
+if test "$no_x" = yes; then
+  # Not all programs may use this symbol, but it does not hurt to define it.
+
+$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h
+
+  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
+else
+  if test -n "$x_includes"; then
+    X_CFLAGS="$X_CFLAGS -I$x_includes"
+  fi
+
+  # It would also be nice to do this for all -L options, not just this one.
+  if test -n "$x_libraries"; then
+    X_LIBS="$X_LIBS -L$x_libraries"
+    # For Solaris; some versions of Sun CC require a space after -R and
+    # others require no space.  Words are not sufficient . . . .
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5
+$as_echo_n "checking whether -R must be followed by a space... " >&6; }
+    ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+    ac_xsave_c_werror_flag=$ac_c_werror_flag
+    ac_c_werror_flag=yes
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       X_LIBS="$X_LIBS -R$x_libraries"
+else
+  LIBS="$ac_xsave_LIBS -R $x_libraries"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+         X_LIBS="$X_LIBS -R $x_libraries"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5
+$as_echo "neither works" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    ac_c_werror_flag=$ac_xsave_c_werror_flag
+    LIBS=$ac_xsave_LIBS
+  fi
+
+  # Check for system-dependent libraries X programs must link with.
+  # Do this before checking for the system-independent R6 libraries
+  # (-lICE), since we may need -lsocket or whatever for X linking.
+
+  if test "$ISC" = yes; then
+    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+  else
+    # Martyn Johnson says this is needed for Ultrix, if the X
+    # libraries were built with DECnet support.  And Karl Berry says
+    # the Alpha needs dnet_stub (dnet does not exist).
+    ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XOpenDisplay ();
+int
+main ()
+{
+return XOpenDisplay ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
+if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dnet_dnet_ntoa=yes
+else
+  ac_cv_lib_dnet_dnet_ntoa=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+fi
+
+    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
+if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet_stub  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dnet_stub_dnet_ntoa=yes
+else
+  ac_cv_lib_dnet_stub_dnet_ntoa=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+fi
+
+    fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LIBS="$ac_xsave_LIBS"
+
+    # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+    # to get the SysV transport functions.
+    # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
+    # needs -lnsl.
+    # The nsl library prevents programs from opening the X display
+    # on Irix 5.2, according to T.E. Dickey.
+    # The functions gethostbyname, getservbyname, and inet_addr are
+    # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+    ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
+if test "x$ac_cv_func_gethostbyname" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_gethostbyname = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
+$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
+if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_nsl_gethostbyname=yes
+else
+  ac_cv_lib_nsl_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
+$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
+if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+fi
+
+      if test $ac_cv_lib_nsl_gethostbyname = no; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
+$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
+if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_bsd_gethostbyname=yes
+else
+  ac_cv_lib_bsd_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
+$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
+if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+fi
+
+      fi
+    fi
+
+    # lieder@skyler.mavd.honeywell.com says without -lsocket,
+    # socket/setsockopt and other routines are undefined under SCO ODT
+    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
+    # on later versions), says Simon Leinen: it contains gethostby*
+    # variants that don't use the name server (or something).  -lsocket
+    # must be given before -lnsl if both are needed.  We assume that
+    # if connect needs -lnsl, so does gethostbyname.
+    ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
+if test "x$ac_cv_func_connect" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_connect = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
+$as_echo_n "checking for connect in -lsocket... " >&6; }
+if test "${ac_cv_lib_socket_connect+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char connect ();
+int
+main ()
+{
+return connect ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_socket_connect=yes
+else
+  ac_cv_lib_socket_connect=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
+$as_echo "$ac_cv_lib_socket_connect" >&6; }
+if test "x$ac_cv_lib_socket_connect" = x""yes; then :
+  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+fi
+
+    fi
+
+    # Guillermo Gomez says -lposix is necessary on A/UX.
+    ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
+if test "x$ac_cv_func_remove" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_remove = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
+$as_echo_n "checking for remove in -lposix... " >&6; }
+if test "${ac_cv_lib_posix_remove+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lposix  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char remove ();
+int
+main ()
+{
+return remove ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_posix_remove=yes
+else
+  ac_cv_lib_posix_remove=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
+$as_echo "$ac_cv_lib_posix_remove" >&6; }
+if test "x$ac_cv_lib_posix_remove" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+fi
+
+    fi
+
+    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+    ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
+if test "x$ac_cv_func_shmat" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_shmat = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
+$as_echo_n "checking for shmat in -lipc... " >&6; }
+if test "${ac_cv_lib_ipc_shmat+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lipc  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shmat ();
+int
+main ()
+{
+return shmat ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ipc_shmat=yes
+else
+  ac_cv_lib_ipc_shmat=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
+$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
+if test "x$ac_cv_lib_ipc_shmat" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+fi
+
+    fi
+  fi
+
+  # Check for libraries that X11R6 Xt/Xaw programs need.
+  ac_save_LDFLAGS=$LDFLAGS
+  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+  # check for ICE first), but we must link in the order -lSM -lICE or
+  # we get undefined symbols.  So assume we have SM if we have ICE.
+  # These have to be linked with before -lX11, unlike the other
+  # libraries we check for below, so use a different variable.
+  # John Interrante, Karl Berry
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
+$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
+if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char IceConnectionNumber ();
+int
+main ()
+{
+return IceConnectionNumber ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ICE_IceConnectionNumber=yes
+else
+  ac_cv_lib_ICE_IceConnectionNumber=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
+if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then :
+  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+fi
+
+  LDFLAGS=$ac_save_LDFLAGS
+
+fi
+
+
+for ac_header in X11/Xlib.h X11/extensions/Xrender.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+ have_dep="yes"
+else
+  have_dep="no"; break;
+fi
+
+done
+
+
+if test "x${have_dep}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCreateImage in -lX11" >&5
+$as_echo_n "checking for XCreateImage in -lX11... " >&6; }
+if test "${ac_cv_lib_X11_XCreateImage+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lX11  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XCreateImage ();
+int
+main ()
+{
+return XCreateImage ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_X11_XCreateImage=yes
+else
+  ac_cv_lib_X11_XCreateImage=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_XCreateImage" >&5
+$as_echo "$ac_cv_lib_X11_XCreateImage" >&6; }
+if test "x$ac_cv_lib_X11_XCreateImage" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XShmCreateImage in -lXext" >&5
+$as_echo_n "checking for XShmCreateImage in -lXext... " >&6; }
+if test "${ac_cv_lib_Xext_XShmCreateImage+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lXext  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XShmCreateImage ();
+int
+main ()
+{
+return XShmCreateImage ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_Xext_XShmCreateImage=yes
+else
+  ac_cv_lib_Xext_XShmCreateImage=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XShmCreateImage" >&5
+$as_echo "$ac_cv_lib_Xext_XShmCreateImage" >&6; }
+if test "x$ac_cv_lib_Xext_XShmCreateImage" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRenderCreatePicture in -lXrender" >&5
+$as_echo_n "checking for XRenderCreatePicture in -lXrender... " >&6; }
+if test "${ac_cv_lib_Xrender_XRenderCreatePicture+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lXrender  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XRenderCreatePicture ();
+int
+main ()
+{
+return XRenderCreatePicture ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_Xrender_XRenderCreatePicture=yes
+else
+  ac_cv_lib_Xrender_XRenderCreatePicture=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xrender_XRenderCreatePicture" >&5
+$as_echo "$ac_cv_lib_Xrender_XRenderCreatePicture" >&6; }
+if test "x$ac_cv_lib_Xrender_XRenderCreatePicture" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   if test "xyes" = "xyes" ; then
+      x_libs="${x_libs} -lX11 -lXext"
+   else
+      x_dir=${x_dir:-/usr/X11R6}
+      x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
+      x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
+   fi
+   evas_engine_xrender_x11_cflags="${x_cflags}"
+   evas_engine_xrender_x11_libs="${x_libs} -lXrender"
+fi
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "XRender X11 dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether XRender X11 rendering backend will be built" >&5
+$as_echo_n "checking whether XRender X11 rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_xrender_x11="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_xrender_x11="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_XRENDER_X11 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_XRENDER_X11_TRUE=
+  BUILD_ENGINE_XRENDER_X11_FALSE='#'
+else
+  BUILD_ENGINE_XRENDER_X11_TRUE='#'
+  BUILD_ENGINE_XRENDER_X11_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_XRENDER_X11 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_XRENDER_X11_TRUE=
+  EVAS_STATIC_BUILD_XRENDER_X11_FALSE='#'
+else
+  EVAS_STATIC_BUILD_XRENDER_X11_TRUE='#'
+  EVAS_STATIC_BUILD_XRENDER_X11_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_gl_x11}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_gl_x11="no"
+
+# Check whether --enable-gl-x11 was given.
+if test "${enable_gl_x11+set}" = set; then :
+  enableval=$enable_gl_x11;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable OpenGL X11 rendering backend" >&5
+$as_echo_n "checking whether to enable OpenGL X11 rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+evas_engine_gl_x11_cflags=""
+evas_engine_gl_x11_libs=""
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
+$as_echo_n "checking for X... " >&6; }
+
+
+# Check whether --with-x was given.
+if test "${with_x+set}" = set; then :
+  withval=$with_x;
+fi
+
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+if test "x$with_x" = xno; then
+  # The user explicitly disabled X.
+  have_x=disabled
+else
+  case $x_includes,$x_libraries in #(
+    *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #(
+    *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  # One or both of the vars are not set, and there is no cached value.
+ac_x_includes=no ac_x_libraries=no
+rm -f -r conftest.dir
+if mkdir conftest.dir; then
+  cd conftest.dir
+  cat >Imakefile <<'_ACEOF'
+incroot:
+       @echo incroot='${INCROOT}'
+usrlibdir:
+       @echo usrlibdir='${USRLIBDIR}'
+libdir:
+       @echo libdir='${LIBDIR}'
+_ACEOF
+  if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
+    # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+    for ac_var in incroot usrlibdir libdir; do
+      eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
+    done
+    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+    for ac_extension in a so sl dylib la dll; do
+      if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
+        test -f "$ac_im_libdir/libX11.$ac_extension"; then
+       ac_im_usrlibdir=$ac_im_libdir; break
+      fi
+    done
+    # Screen out bogus values from the imake configuration.  They are
+    # bogus both because they are the default anyway, and because
+    # using them would break gcc on systems where it needs fixed includes.
+    case $ac_im_incroot in
+       /usr/include) ac_x_includes= ;;
+       *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+    esac
+    case $ac_im_usrlibdir in
+       /usr/lib | /usr/lib64 | /lib | /lib64) ;;
+       *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+    esac
+  fi
+  cd ..
+  rm -f -r conftest.dir
+fi
+
+# Standard set of common directories for X headers.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ac_x_header_dirs='
+/usr/X11/include
+/usr/X11R7/include
+/usr/X11R6/include
+/usr/X11R5/include
+/usr/X11R4/include
+
+/usr/include/X11
+/usr/include/X11R7
+/usr/include/X11R6
+/usr/include/X11R5
+/usr/include/X11R4
+
+/usr/local/X11/include
+/usr/local/X11R7/include
+/usr/local/X11R6/include
+/usr/local/X11R5/include
+/usr/local/X11R4/include
+
+/usr/local/include/X11
+/usr/local/include/X11R7
+/usr/local/include/X11R6
+/usr/local/include/X11R5
+/usr/local/include/X11R4
+
+/usr/X386/include
+/usr/x386/include
+/usr/XFree86/include/X11
+
+/usr/include
+/usr/local/include
+/usr/unsupported/include
+/usr/athena/include
+/usr/local/x11r5/include
+/usr/lpp/Xamples/include
+
+/usr/openwin/include
+/usr/openwin/share/include'
+
+if test "$ac_x_includes" = no; then
+  # Guess where to find include files, by looking for Xlib.h.
+  # First, try using that file with no special directory specified.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+  for ac_dir in $ac_x_header_dirs; do
+  if test -r "$ac_dir/X11/Xlib.h"; then
+    ac_x_includes=$ac_dir
+    break
+  fi
+done
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+fi # $ac_x_includes = no
+
+if test "$ac_x_libraries" = no; then
+  # Check for the libraries.
+  # See if we find them without any special options.
+  # Don't add to $LIBS permanently.
+  ac_save_LIBS=$LIBS
+  LIBS="-lX11 $LIBS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+int
+main ()
+{
+XrmInitialize ()
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  LIBS=$ac_save_LIBS
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+  LIBS=$ac_save_LIBS
+for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+do
+  # Don't even attempt the hair of trying to link an X program!
+  for ac_extension in a so sl dylib la dll; do
+    if test -r "$ac_dir/libX11.$ac_extension"; then
+      ac_x_libraries=$ac_dir
+      break 2
+    fi
+  done
+done
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi # $ac_x_libraries = no
+
+case $ac_x_includes,$ac_x_libraries in #(
+  no,* | *,no | *\'*)
+    # Didn't find X, or a directory has "'" in its name.
+    ac_cv_have_x="have_x=no";; #(
+  *)
+    # Record where we found X for the cache.
+    ac_cv_have_x="have_x=yes\
+       ac_x_includes='$ac_x_includes'\
+       ac_x_libraries='$ac_x_libraries'"
+esac
+fi
+;; #(
+    *) have_x=yes;;
+  esac
+  eval "$ac_cv_have_x"
+fi # $with_x != no
+
+if test "$have_x" != yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5
+$as_echo "$have_x" >&6; }
+  no_x=yes
+else
+  # If each of the values was on the command line, it overrides each guess.
+  test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+  test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+  # Update the cache value to reflect the command line values.
+  ac_cv_have_x="have_x=yes\
+       ac_x_includes='$x_includes'\
+       ac_x_libraries='$x_libraries'"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5
+$as_echo "libraries $x_libraries, headers $x_includes" >&6; }
+fi
+
+if test "$no_x" = yes; then
+  # Not all programs may use this symbol, but it does not hurt to define it.
+
+$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h
+
+  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
+else
+  if test -n "$x_includes"; then
+    X_CFLAGS="$X_CFLAGS -I$x_includes"
+  fi
+
+  # It would also be nice to do this for all -L options, not just this one.
+  if test -n "$x_libraries"; then
+    X_LIBS="$X_LIBS -L$x_libraries"
+    # For Solaris; some versions of Sun CC require a space after -R and
+    # others require no space.  Words are not sufficient . . . .
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5
+$as_echo_n "checking whether -R must be followed by a space... " >&6; }
+    ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+    ac_xsave_c_werror_flag=$ac_c_werror_flag
+    ac_c_werror_flag=yes
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       X_LIBS="$X_LIBS -R$x_libraries"
+else
+  LIBS="$ac_xsave_LIBS -R $x_libraries"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+         X_LIBS="$X_LIBS -R $x_libraries"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5
+$as_echo "neither works" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    ac_c_werror_flag=$ac_xsave_c_werror_flag
+    LIBS=$ac_xsave_LIBS
+  fi
+
+  # Check for system-dependent libraries X programs must link with.
+  # Do this before checking for the system-independent R6 libraries
+  # (-lICE), since we may need -lsocket or whatever for X linking.
+
+  if test "$ISC" = yes; then
+    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+  else
+    # Martyn Johnson says this is needed for Ultrix, if the X
+    # libraries were built with DECnet support.  And Karl Berry says
+    # the Alpha needs dnet_stub (dnet does not exist).
+    ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XOpenDisplay ();
+int
+main ()
+{
+return XOpenDisplay ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
+if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dnet_dnet_ntoa=yes
+else
+  ac_cv_lib_dnet_dnet_ntoa=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+fi
+
+    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
+if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet_stub  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dnet_stub_dnet_ntoa=yes
+else
+  ac_cv_lib_dnet_stub_dnet_ntoa=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+fi
+
+    fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LIBS="$ac_xsave_LIBS"
+
+    # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+    # to get the SysV transport functions.
+    # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
+    # needs -lnsl.
+    # The nsl library prevents programs from opening the X display
+    # on Irix 5.2, according to T.E. Dickey.
+    # The functions gethostbyname, getservbyname, and inet_addr are
+    # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+    ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
+if test "x$ac_cv_func_gethostbyname" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_gethostbyname = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
+$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
+if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_nsl_gethostbyname=yes
+else
+  ac_cv_lib_nsl_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
+$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
+if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+fi
+
+      if test $ac_cv_lib_nsl_gethostbyname = no; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
+$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
+if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_bsd_gethostbyname=yes
+else
+  ac_cv_lib_bsd_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
+$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
+if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+fi
+
+      fi
+    fi
+
+    # lieder@skyler.mavd.honeywell.com says without -lsocket,
+    # socket/setsockopt and other routines are undefined under SCO ODT
+    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
+    # on later versions), says Simon Leinen: it contains gethostby*
+    # variants that don't use the name server (or something).  -lsocket
+    # must be given before -lnsl if both are needed.  We assume that
+    # if connect needs -lnsl, so does gethostbyname.
+    ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
+if test "x$ac_cv_func_connect" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_connect = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
+$as_echo_n "checking for connect in -lsocket... " >&6; }
+if test "${ac_cv_lib_socket_connect+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char connect ();
+int
+main ()
+{
+return connect ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_socket_connect=yes
+else
+  ac_cv_lib_socket_connect=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
+$as_echo "$ac_cv_lib_socket_connect" >&6; }
+if test "x$ac_cv_lib_socket_connect" = x""yes; then :
+  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+fi
+
+    fi
+
+    # Guillermo Gomez says -lposix is necessary on A/UX.
+    ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
+if test "x$ac_cv_func_remove" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_remove = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
+$as_echo_n "checking for remove in -lposix... " >&6; }
+if test "${ac_cv_lib_posix_remove+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lposix  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char remove ();
+int
+main ()
+{
+return remove ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_posix_remove=yes
+else
+  ac_cv_lib_posix_remove=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
+$as_echo "$ac_cv_lib_posix_remove" >&6; }
+if test "x$ac_cv_lib_posix_remove" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+fi
+
+    fi
+
+    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+    ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
+if test "x$ac_cv_func_shmat" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_shmat = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
+$as_echo_n "checking for shmat in -lipc... " >&6; }
+if test "${ac_cv_lib_ipc_shmat+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lipc  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shmat ();
+int
+main ()
+{
+return shmat ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ipc_shmat=yes
+else
+  ac_cv_lib_ipc_shmat=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
+$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
+if test "x$ac_cv_lib_ipc_shmat" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+fi
+
+    fi
+  fi
+
+  # Check for libraries that X11R6 Xt/Xaw programs need.
+  ac_save_LDFLAGS=$LDFLAGS
+  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+  # check for ICE first), but we must link in the order -lSM -lICE or
+  # we get undefined symbols.  So assume we have SM if we have ICE.
+  # These have to be linked with before -lX11, unlike the other
+  # libraries we check for below, so use a different variable.
+  # John Interrante, Karl Berry
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
+$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
+if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char IceConnectionNumber ();
+int
+main ()
+{
+return IceConnectionNumber ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ICE_IceConnectionNumber=yes
+else
+  ac_cv_lib_ICE_IceConnectionNumber=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
+if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then :
+  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+fi
+
+  LDFLAGS=$ac_save_LDFLAGS
+
+fi
+
+
+ac_fn_c_check_header_compile "$LINENO" "GL/gl.h" "ac_cv_header_GL_gl_h" "
+#include <GL/gl.h>
+#include <GL/glext.h>
+#include <GL/glx.h>
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+#include <X11/Xutil.h>
+#include <X11/extensions/Xrender.h>
+#include <X11/Xresource.h>
+
+"
+if test "x$ac_cv_header_GL_gl_h" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+
+
+gl_pt_lib="";
+have_gl_pt="no"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5
+$as_echo_n "checking for pthread_create in -lpthread... " >&6; }
+if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_create ();
+int
+main ()
+{
+return pthread_create ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_pthread_pthread_create=yes
+else
+  ac_cv_lib_pthread_pthread_create=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5
+$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; }
+if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then :
+  have_gl_pt="yes"
+else
+  have_gl_pt="no"
+fi
+
+if test "x$have_gl_pt" = "xyes" ; then
+   gl_pt_lib=" -lpthread"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCreateColormap in -lX11" >&5
+$as_echo_n "checking for XCreateColormap in -lX11... " >&6; }
+if test "${ac_cv_lib_X11_XCreateColormap+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lX11  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XCreateColormap ();
+int
+main ()
+{
+return XCreateColormap ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_X11_XCreateColormap=yes
+else
+  ac_cv_lib_X11_XCreateColormap=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_XCreateColormap" >&5
+$as_echo "$ac_cv_lib_X11_XCreateColormap" >&6; }
+if test "x$ac_cv_lib_X11_XCreateColormap" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XRenderCreatePicture in -lXrender" >&5
+$as_echo_n "checking for XRenderCreatePicture in -lXrender... " >&6; }
+if test "${ac_cv_lib_Xrender_XRenderCreatePicture+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lXrender  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XRenderCreatePicture ();
+int
+main ()
+{
+return XRenderCreatePicture ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_Xrender_XRenderCreatePicture=yes
+else
+  ac_cv_lib_Xrender_XRenderCreatePicture=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xrender_XRenderCreatePicture" >&5
+$as_echo "$ac_cv_lib_Xrender_XRenderCreatePicture" >&6; }
+if test "x$ac_cv_lib_Xrender_XRenderCreatePicture" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glXCreateContext in -lGL" >&5
+$as_echo_n "checking for glXCreateContext in -lGL... " >&6; }
+if test "${ac_cv_lib_GL_glXCreateContext+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lGL -lX11 -lXext -lXrender -lm $gl_pt_lib $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char glXCreateContext ();
+int
+main ()
+{
+return glXCreateContext ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_GL_glXCreateContext=yes
+else
+  ac_cv_lib_GL_glXCreateContext=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GL_glXCreateContext" >&5
+$as_echo "$ac_cv_lib_GL_glXCreateContext" >&6; }
+if test "x$ac_cv_lib_GL_glXCreateContext" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+fi
+
+if test "x$gl_flavor_gles" = "xyes" ; then
+  have_dep=no
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   if test "xyes" = "xyes" ; then
+      x_libs="${x_libs} -lX11 -lXext -lXrender"
+   else
+      x_dir=${x_dir:-/usr/X11R6}
+      x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
+      x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
+   fi
+   evas_engine_gl_x11_cflags="-I/usr/include ${x_cflags}"
+   evas_engine_gl_x11_libs="${x_libs} -lGL $gl_pt_lib"
+   evas_engine_gl_common_libs="-lGL $gl_pt_lib"
+else
+   if test "xyes" = "xyes" ; then
+      x_libs="${x_libs} -lX11 -lXext -lXrender"
+   else
+      x_dir=${x_dir:-/usr/X11R6}
+      x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
+      x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext -lXrender"
+   fi
+   ac_fn_c_check_header_compile "$LINENO" "GLES2/gl2.h" "ac_cv_header_GLES2_gl2_h" "
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+#include <EGL/egl.h>
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+#include <X11/Xutil.h>
+#include <X11/extensions/Xrender.h>
+#include <X11/Xresource.h>
+
+"
+if test "x$ac_cv_header_GLES2_gl2_h" = x""yes; then :
+  have_egl="yes"
+else
+  have_egl="no"
+fi
+
+
+   if test "x${have_egl}" = "xyes" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glTexImage2D in -lGLESv2" >&5
+$as_echo_n "checking for glTexImage2D in -lGLESv2... " >&6; }
+if test "${ac_cv_lib_GLESv2_glTexImage2D+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lGLESv2 -lEGL ${x_libs} -lm $gl_pt_lib $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char glTexImage2D ();
+int
+main ()
+{
+return glTexImage2D ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_GLESv2_glTexImage2D=yes
+else
+  ac_cv_lib_GLESv2_glTexImage2D=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLESv2_glTexImage2D" >&5
+$as_echo "$ac_cv_lib_GLESv2_glTexImage2D" >&6; }
+if test "x$ac_cv_lib_GLESv2_glTexImage2D" = x""yes; then :
+  have_glesv2="yes"
+fi
+
+      if test "x${have_glesv2}" = "xyes" ; then
+         evas_engine_gl_x11_cflags="${x_cflags}"
+         evas_engine_gl_x11_libs="${x_libs} -lGLESv2 -lEGL -lm $gl_pt_lib"
+         evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib"
+         have_dep="yes"
+         gl_flavor_gles="no"
+
+$as_echo "#define GLES_VARIETY_SGX 1" >>confdefs.h
+
+         gles_variety_sgx="yes"
+      fi
+   fi
+fi
+
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "OpenGL X11 dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenGL X11 rendering backend will be built" >&5
+$as_echo_n "checking whether OpenGL X11 rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_gl_x11="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_gl_x11="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_GL_X11 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_GL_X11_TRUE=
+  BUILD_ENGINE_GL_X11_FALSE='#'
+else
+  BUILD_ENGINE_GL_X11_TRUE='#'
+  BUILD_ENGINE_GL_X11_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_GL_X11 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_GL_X11_TRUE=
+  EVAS_STATIC_BUILD_GL_X11_FALSE='#'
+else
+  EVAS_STATIC_BUILD_GL_X11_TRUE='#'
+  EVAS_STATIC_BUILD_GL_X11_FALSE=
+fi
+
+
+
+
+
+
+
+# disable cairo engine for the release
+#EVAS_CHECK_ENGINE([cairo-x11], [${want_evas_engine_cairo_x11}], [yes], [Cairo X11])
+
+
+
+
+want_engine="${want_evas_engine_software_xcb}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_software_xcb="no"
+
+# Check whether --enable-software-xcb was given.
+if test "${enable_software_xcb+set}" = set; then :
+  enableval=$enable_software_xcb;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Software XCB rendering backend" >&5
+$as_echo_n "checking whether to enable Software XCB rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+requirement=""
+have_dep="no"
+evas_engine_software_xcb_cflags=""
+evas_engine_software_xcb_libs=""
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB" >&5
+$as_echo_n "checking for XCB... " >&6; }
+
+if test -n "$XCB_CFLAGS"; then
+    pkg_cv_XCB_CFLAGS="$XCB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb xcb-shm xcb-image >= 0.2.1 pixman-1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_XCB_CFLAGS=`$PKG_CONFIG --cflags "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$XCB_LIBS"; then
+    pkg_cv_XCB_LIBS="$XCB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb xcb-shm xcb-image >= 0.2.1 pixman-1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_XCB_LIBS=`$PKG_CONFIG --libs "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>&1`
+        else
+               XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$XCB_PKG_ERRORS" >&5
+
+
+    have_dep="no"
+
+
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+    have_dep="no"
+
+
+else
+       XCB_CFLAGS=$pkg_cv_XCB_CFLAGS
+       XCB_LIBS=$pkg_cv_XCB_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+    have_dep="yes"
+    requirement="xcb xcb-shm xcb-image pixman-1"
+    evas_engine_software_xcb_cflags="${XCB_CFLAGS}"
+    evas_engine_software_xcb_libs="${XCB_LIBS}"
+
+fi
+
+
+
+
+if test "x${want_engine}" = "xstatic" ; then
+   requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Software XCB dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software XCB rendering backend will be built" >&5
+$as_echo_n "checking whether Software XCB rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_xcb="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_xcb="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_SOFTWARE_XCB 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_XCB_TRUE=
+  BUILD_ENGINE_SOFTWARE_XCB_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_XCB_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_XCB_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_XCB 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_xrender_xcb}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_xrender_xcb="no"
+
+# Check whether --enable-xrender-xcb was given.
+if test "${enable_xrender_xcb+set}" = set; then :
+  enableval=$enable_xrender_xcb;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable XRender XCB rendering backend" >&5
+$as_echo_n "checking whether to enable XRender XCB rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+requirement=""
+have_dep="no"
+evas_engine_xrender_xcb_cflags=""
+evas_engine_xrender_xcb_libs=""
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCBRENDER" >&5
+$as_echo_n "checking for XCBRENDER... " >&6; }
+
+if test -n "$XCBRENDER_CFLAGS"; then
+    pkg_cv_XCBRENDER_CFLAGS="$XCBRENDER_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb xcb-shm xcb-render xcb-image >= 0.2.1 pixman-1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "xcb xcb-shm xcb-render xcb-image >= 0.2.1 pixman-1") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_XCBRENDER_CFLAGS=`$PKG_CONFIG --cflags "xcb xcb-shm xcb-render xcb-image >= 0.2.1 pixman-1" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$XCBRENDER_LIBS"; then
+    pkg_cv_XCBRENDER_LIBS="$XCBRENDER_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb xcb-shm xcb-render xcb-image >= 0.2.1 pixman-1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "xcb xcb-shm xcb-render xcb-image >= 0.2.1 pixman-1") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_XCBRENDER_LIBS=`$PKG_CONFIG --libs "xcb xcb-shm xcb-render xcb-image >= 0.2.1 pixman-1" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               XCBRENDER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb xcb-shm xcb-render xcb-image >= 0.2.1 pixman-1" 2>&1`
+        else
+               XCBRENDER_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb xcb-shm xcb-render xcb-image >= 0.2.1 pixman-1" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$XCBRENDER_PKG_ERRORS" >&5
+
+
+    have_dep="no"
+
+
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+    have_dep="no"
+
+
+else
+       XCBRENDER_CFLAGS=$pkg_cv_XCBRENDER_CFLAGS
+       XCBRENDER_LIBS=$pkg_cv_XCBRENDER_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+    have_dep="yes"
+    requirement="xcb xcb-shm xcb-render xcb-image pixman-1"
+    evas_engine_xrender_xcb_cflags="${XCBRENDER_CFLAGS}"
+    evas_engine_xrender_xcb_libs="${XCBRENDER_LIBS}"
+
+fi
+
+
+
+
+if test "x${want_engine}" = "xstatic" ; then
+   requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "XRender XCB dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether XRender XCB rendering backend will be built" >&5
+$as_echo_n "checking whether XRender XCB rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_xrender_xcb="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_xrender_xcb="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_XRENDER_XCB 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_XRENDER_XCB_TRUE=
+  BUILD_ENGINE_XRENDER_XCB_FALSE='#'
+else
+  BUILD_ENGINE_XRENDER_XCB_TRUE='#'
+  BUILD_ENGINE_XRENDER_XCB_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_XRENDER_XCB 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_XRENDER_XCB_TRUE=
+  EVAS_STATIC_BUILD_XRENDER_XCB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_XRENDER_XCB_TRUE='#'
+  EVAS_STATIC_BUILD_XRENDER_XCB_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_software_gdi}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_software_gdi="no"
+
+# Check whether --enable-software-gdi was given.
+if test "${enable_software_gdi+set}" = set; then :
+  enableval=$enable_software_gdi;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Software GDI rendering backend" >&5
+$as_echo_n "checking whether to enable Software GDI rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+have_dep="no"
+evas_engine_software_gdi_cflags=""
+evas_engine_software_gdi_libs=""
+
+ac_fn_c_check_header_mongrel "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default"
+if test "x$ac_cv_header_windows_h" = x""yes; then :
+
+    have_dep="yes"
+    evas_engine_software_gdi_libs="-lgdi32"
+
+
+fi
+
+
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Software GDI dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software GDI rendering backend will be built" >&5
+$as_echo_n "checking whether Software GDI rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_gdi="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_gdi="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_SOFTWARE_GDI 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_GDI_TRUE=
+  BUILD_ENGINE_SOFTWARE_GDI_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_GDI_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_GDI_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_GDI 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_software_ddraw}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_software_ddraw="no"
+
+# Check whether --enable-software-ddraw was given.
+if test "${enable_software_ddraw+set}" = set; then :
+  enableval=$enable_software_ddraw;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Software DirectDraw rendering backend" >&5
+$as_echo_n "checking whether to enable Software DirectDraw rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+have_dep="no"
+evas_engine_software_ddraw_cflags=""
+evas_engine_software_ddraw_libs=""
+
+ac_fn_c_check_header_mongrel "$LINENO" "ddraw.h" "ac_cv_header_ddraw_h" "$ac_includes_default"
+if test "x$ac_cv_header_ddraw_h" = x""yes; then :
+
+    have_dep="yes"
+    evas_engine_software_ddraw_libs="-lddraw"
+
+
+fi
+
+
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Software DirectDraw dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software DirectDraw rendering backend will be built" >&5
+$as_echo_n "checking whether Software DirectDraw rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_ddraw="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_ddraw="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_SOFTWARE_DDRAW 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_DDRAW_TRUE=
+  BUILD_ENGINE_SOFTWARE_DDRAW_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_DDRAW_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_DDRAW_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_DDRAW 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_direct3d}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_direct3d="no"
+
+# Check whether --enable-direct3d was given.
+if test "${enable_direct3d+set}" = set; then :
+  enableval=$enable_direct3d;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Direct3D rendering backend" >&5
+$as_echo_n "checking whether to enable Direct3D rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+evas_engine_direct3d_cflags=""
+evas_engine_direct3d_libs=""
+
+for ac_header in d3d9.h d3dx9.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+    have_dep="yes"
+    evas_engine_direct3d_libs="-ld3d9 -ld3dx9 -lgdi32"
+
+else
+  have_dep="no"; break
+
+fi
+
+done
+
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Direct3D dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Direct3D rendering backend will be built" >&5
+$as_echo_n "checking whether Direct3D rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_direct3d="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_direct3d="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_DIRECT3D 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_DIRECT3D_TRUE=
+  BUILD_ENGINE_DIRECT3D_FALSE='#'
+else
+  BUILD_ENGINE_DIRECT3D_TRUE='#'
+  BUILD_ENGINE_DIRECT3D_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_DIRECT3D 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_DIRECT3D_TRUE=
+  EVAS_STATIC_BUILD_DIRECT3D_FALSE='#'
+else
+  EVAS_STATIC_BUILD_DIRECT3D_TRUE='#'
+  EVAS_STATIC_BUILD_DIRECT3D_FALSE=
+fi
+
+
+
+
+
+
+
+if test "x${rw_cv_prog_objc_works}" = "xyes"; then :
+  ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the Objective C preprocessor" >&5
+$as_echo_n "checking how to run the Objective C preprocessor... " >&6; }
+if test -z "$OBJCPP"; then
+  if test "${ac_cv_prog_OBJCPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because OBJCPP needs to be expanded
+    for OBJCPP in "$OBJC -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_objc_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if ac_fn_objc_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_objc_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_OBJCPP=$OBJCPP
+
+fi
+  OBJCPP=$ac_cv_prog_OBJCPP
+else
+  ac_cv_prog_OBJCPP=$OBJCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJCPP" >&5
+$as_echo "$OBJCPP" >&6; }
+ac_preproc_ok=false
+for ac_objc_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
+_ACEOF
+if ac_fn_objc_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_objc_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.i conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Objective C preprocessor \"$OBJCPP\" fails sanity check
+See \`config.log' for more details" "$LINENO" 5 ; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+
+
+
+
+
+want_engine="${want_evas_engine_quartz}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_quartz="no"
+
+# Check whether --enable-quartz was given.
+if test "${enable_quartz+set}" = set; then :
+  enableval=$enable_quartz;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Quartz rendering backend" >&5
+$as_echo_n "checking whether to enable Quartz rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+have_dep="no"
+evas_engine_quartz_cflags=""
+evas_engine_quartz_libs=""
+
+
+
+if test "x${rw_cv_prog_objc_works}" = "xyes"; then :
+
+   ac_ext=m
+ac_cpp='$OBJCPP $CPPFLAGS'
+ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_objc_compiler_gnu
+
+   ac_fn_objc_check_header_mongrel "$LINENO" "/System/Library/Frameworks/Cocoa.framework/Headers/Cocoa.h" "ac_cv_header__System_Library_Frameworks_Cocoa_framework_Headers_Cocoa_h" "$ac_includes_default"
+if test "x$ac_cv_header__System_Library_Frameworks_Cocoa_framework_Headers_Cocoa_h" = x""yes; then :
+
+      have_dep="yes"
+      evas_engine_quartz_libs="-framework Cocoa"
+
+else
+
+      have_dep="no"
+
+fi
+
+
+   ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Quartz dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Quartz rendering backend will be built" >&5
+$as_echo_n "checking whether Quartz rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_quartz="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_quartz="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_QUARTZ 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_QUARTZ_TRUE=
+  BUILD_ENGINE_QUARTZ_FALSE='#'
+else
+  BUILD_ENGINE_QUARTZ_TRUE='#'
+  BUILD_ENGINE_QUARTZ_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_QUARTZ 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_QUARTZ_TRUE=
+  EVAS_STATIC_BUILD_QUARTZ_FALSE='#'
+else
+  EVAS_STATIC_BUILD_QUARTZ_TRUE='#'
+  EVAS_STATIC_BUILD_QUARTZ_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_gl_glew}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_gl_glew="no"
+
+# Check whether --enable-gl-glew was given.
+if test "${enable_gl_glew+set}" = set; then :
+  enableval=$enable_gl_glew;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable OpenGL Glew rendering backend" >&5
+$as_echo_n "checking whether to enable OpenGL Glew rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+evas_engine_gl_glew_cflags=""
+evas_engine_gl_glew_libs=""
+
+for ac_header in GL/gl.h GL/glew.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+    have_dep="yes"
+    evas_engine_gl_glew_libs="-lglew32 -lopengl32 -lgdi32"
+
+else
+  have_dep="no"; break;
+
+fi
+
+done
+
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "OpenGL Glew dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenGL Glew rendering backend will be built" >&5
+$as_echo_n "checking whether OpenGL Glew rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_gl_glew="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_gl_glew="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_GL_GLEW 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_GL_GLEW_TRUE=
+  BUILD_ENGINE_GL_GLEW_FALSE='#'
+else
+  BUILD_ENGINE_GL_GLEW_TRUE='#'
+  BUILD_ENGINE_GL_GLEW_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_GL_GLEW 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_GL_GLEW_TRUE=
+  EVAS_STATIC_BUILD_GL_GLEW_FALSE='#'
+else
+  EVAS_STATIC_BUILD_GL_GLEW_TRUE='#'
+  EVAS_STATIC_BUILD_GL_GLEW_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_software_sdl}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_software_sdl="no"
+
+# Check whether --enable-software-sdl was given.
+if test "${enable_software_sdl+set}" = set; then :
+  enableval=$enable_software_sdl;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Software SDL rendering backend" >&5
+$as_echo_n "checking whether to enable Software SDL rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+requirement=""
+have_dep="no"
+evas_engine_software_sdl_cflags=""
+evas_engine_software_sdl_libs=""
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5
+$as_echo_n "checking for SDL... " >&6; }
+
+if test -n "$SDL_CFLAGS"; then
+    pkg_cv_SDL_CFLAGS="$SDL_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl >= 1.2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$SDL_LIBS"; then
+    pkg_cv_SDL_LIBS="$SDL_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl >= 1.2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl >= 1.2.0" 2>&1`
+        else
+               SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl >= 1.2.0" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$SDL_PKG_ERRORS" >&5
+
+       as_fn_error $? "Package requirements (sdl >= 1.2.0) were not met:
+
+$SDL_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables SDL_CFLAGS
+and SDL_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables SDL_CFLAGS
+and SDL_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5 ; }
+else
+       SDL_CFLAGS=$pkg_cv_SDL_CFLAGS
+       SDL_LIBS=$pkg_cv_SDL_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+    have_dep="yes"
+    requirement="sdl"
+    evas_engine_software_sdl_cflags="${SDL_CFLAGS}"
+    evas_engine_software_sdl_libs="${SDL_LIBS}"
+
+
+fi
+
+
+
+
+if test "x${want_engine}" = "xstatic" ; then
+   requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Software SDL dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software SDL rendering backend will be built" >&5
+$as_echo_n "checking whether Software SDL rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_sdl="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_sdl="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_SOFTWARE_SDL 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_SDL_TRUE=
+  BUILD_ENGINE_SOFTWARE_SDL_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_SDL_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_SDL_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_SDL 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_gl_sdl}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_gl_sdl="no"
+
+# Check whether --enable-gl-sdl was given.
+if test "${enable_gl_sdl+set}" = set; then :
+  enableval=$enable_gl_sdl;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable OpenGL SDL rendering backend" >&5
+$as_echo_n "checking whether to enable OpenGL SDL rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+requirement=""
+have_dep="no"
+evas_engine_gl_sdl_cflags=""
+evas_engine_gl_sdl_libs=""
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL" >&5
+$as_echo_n "checking for SDL... " >&6; }
+
+if test -n "$SDL_CFLAGS"; then
+    pkg_cv_SDL_CFLAGS="$SDL_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_SDL_CFLAGS=`$PKG_CONFIG --cflags "sdl >= 1.2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$SDL_LIBS"; then
+    pkg_cv_SDL_LIBS="$SDL_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl >= 1.2.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "sdl >= 1.2.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_SDL_LIBS=`$PKG_CONFIG --libs "sdl >= 1.2.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               SDL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "sdl >= 1.2.0" 2>&1`
+        else
+               SDL_PKG_ERRORS=`$PKG_CONFIG --print-errors "sdl >= 1.2.0" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$SDL_PKG_ERRORS" >&5
+
+       as_fn_error $? "Package requirements (sdl >= 1.2.0) were not met:
+
+$SDL_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables SDL_CFLAGS
+and SDL_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables SDL_CFLAGS
+and SDL_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5 ; }
+else
+       SDL_CFLAGS=$pkg_cv_SDL_CFLAGS
+       SDL_LIBS=$pkg_cv_SDL_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+    have_dep="yes"
+    requirement="sdl"
+    evas_engine_gl_sdl_cflags="${SDL_CFLAGS}"
+    evas_engine_gl_sdl_libs="${SDL_LIBS}"
+
+
+fi
+
+gl_pt_lib="";
+have_gl_pt="no"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5
+$as_echo_n "checking for pthread_create in -lpthread... " >&6; }
+if test "${ac_cv_lib_pthread_pthread_create+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_create ();
+int
+main ()
+{
+return pthread_create ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_pthread_pthread_create=yes
+else
+  ac_cv_lib_pthread_pthread_create=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_create" >&5
+$as_echo "$ac_cv_lib_pthread_pthread_create" >&6; }
+if test "x$ac_cv_lib_pthread_pthread_create" = x""yes; then :
+  have_gl_pt="yes"
+else
+  have_gl_pt="no"
+fi
+
+if test "x$have_gl_pt" = "xyes" ; then
+   gl_pt_lib=" -lpthread"
+fi
+
+ac_fn_c_check_header_compile "$LINENO" "GL/gl.h" "ac_cv_header_GL_gl_h" "
+#include <GL/gl.h>
+#include <GL/glext.h>
+
+"
+if test "x$ac_cv_header_GL_gl_h" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+
+
+if test "x$gl_flavor_gles" = "xyes" ; then
+  have_dep=no
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   evas_engine_gl_sdl_cflags="${SDL_CFLAGS}"
+   evas_engine_gl_sdl_libs="${SDL_LIBS} -lGL -lm $gl_pt_lib"
+   evas_engine_gl_common_libs="-lGL -lm $gl_pt_lib"
+else
+   ac_fn_c_check_header_compile "$LINENO" "SDL/SDL_opengles.h" "ac_cv_header_SDL_SDL_opengles_h" "
+#include <SDL/SDL_opengles.h>
+#include <EGL/egl.h>
+
+"
+if test "x$ac_cv_header_SDL_SDL_opengles_h" = x""yes; then :
+  have_egl="yes"
+else
+  have_egl="no"
+fi
+
+
+   if test "x${have_egl}" = "xyes" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for glTexImage2D in -lGLESv2" >&5
+$as_echo_n "checking for glTexImage2D in -lGLESv2... " >&6; }
+if test "${ac_cv_lib_GLESv2_glTexImage2D+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lGLESv2 -lEGL -lm $gl_pt_lib $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char glTexImage2D ();
+int
+main ()
+{
+return glTexImage2D ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_GLESv2_glTexImage2D=yes
+else
+  ac_cv_lib_GLESv2_glTexImage2D=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_GLESv2_glTexImage2D" >&5
+$as_echo "$ac_cv_lib_GLESv2_glTexImage2D" >&6; }
+if test "x$ac_cv_lib_GLESv2_glTexImage2D" = x""yes; then :
+  have_glesv2="yes"
+fi
+
+      if test "x${have_glesv2}" = "xyes" ; then
+         evas_engine_gl_sdl_cflags="${SDL_CFLAGS}"
+         evas_engine_gl_sdl_libs="${SDL_LIBS} -lGLESv2 -lEGL -lm $gl_pt_lib"
+         evas_engine_gl_common_libs="-lGLESv2 -lm $gl_pt_lib"
+         have_dep="yes"
+         gl_flavor_gles="no"
+
+$as_echo "#define GLES_VARIETY_SGX 1" >>confdefs.h
+
+         gles_variety_sgx="yes"
+      fi
+   fi
+fi
+
+
+
+
+if test "x${want_engine}" = "xstatic" ; then
+   requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "OpenGL SDL dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether OpenGL SDL rendering backend will be built" >&5
+$as_echo_n "checking whether OpenGL SDL rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_gl_sdl="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_gl_sdl="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_GL_SDL 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_GL_SDL_TRUE=
+  BUILD_ENGINE_GL_SDL_FALSE='#'
+else
+  BUILD_ENGINE_GL_SDL_TRUE='#'
+  BUILD_ENGINE_GL_SDL_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_GL_SDL 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_GL_SDL_TRUE=
+  EVAS_STATIC_BUILD_GL_SDL_FALSE='#'
+else
+  EVAS_STATIC_BUILD_GL_SDL_TRUE='#'
+  EVAS_STATIC_BUILD_GL_SDL_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_fb}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_fb="no"
+
+# Check whether --enable-fb was given.
+if test "${enable_fb+set}" = set; then :
+  enableval=$enable_fb;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Framebuffer rendering backend" >&5
+$as_echo_n "checking whether to enable Framebuffer rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+have_dep="no"
+evas_engine_fb_cflags=""
+evas_engine_fb_libs=""
+
+ac_fn_c_check_header_mongrel "$LINENO" "linux/fb.h" "ac_cv_header_linux_fb_h" "$ac_includes_default"
+if test "x$ac_cv_header_linux_fb_h" = x""yes; then :
+  have_dep="yes"
+fi
+
+
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Framebuffer dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Framebuffer rendering backend will be built" >&5
+$as_echo_n "checking whether Framebuffer rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_fb="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_fb="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_FB 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_FB_TRUE=
+  BUILD_ENGINE_FB_FALSE='#'
+else
+  BUILD_ENGINE_FB_TRUE='#'
+  BUILD_ENGINE_FB_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_FB 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_FB_TRUE=
+  EVAS_STATIC_BUILD_FB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_FB_TRUE='#'
+  EVAS_STATIC_BUILD_FB_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_directfb}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_directfb="no"
+
+# Check whether --enable-directfb was given.
+if test "${enable_directfb+set}" = set; then :
+  enableval=$enable_directfb;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable DirectFB rendering backend" >&5
+$as_echo_n "checking whether to enable DirectFB rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+requirement=""
+have_dep="no"
+evas_engine_directfb_cflags=""
+evas_engine_directfb_libs=""
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for DIRECTFB" >&5
+$as_echo_n "checking for DIRECTFB... " >&6; }
+
+if test -n "$DIRECTFB_CFLAGS"; then
+    pkg_cv_DIRECTFB_CFLAGS="$DIRECTFB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags "directfb >= 0.9.16" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$DIRECTFB_LIBS"; then
+    pkg_cv_DIRECTFB_LIBS="$DIRECTFB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"directfb >= 0.9.16\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "directfb >= 0.9.16") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_DIRECTFB_LIBS=`$PKG_CONFIG --libs "directfb >= 0.9.16" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "directfb >= 0.9.16" 2>&1`
+        else
+               DIRECTFB_PKG_ERRORS=`$PKG_CONFIG --print-errors "directfb >= 0.9.16" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$DIRECTFB_PKG_ERRORS" >&5
+
+       as_fn_error $? "Package requirements (directfb >= 0.9.16) were not met:
+
+$DIRECTFB_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables DIRECTFB_CFLAGS
+and DIRECTFB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables DIRECTFB_CFLAGS
+and DIRECTFB_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5 ; }
+else
+       DIRECTFB_CFLAGS=$pkg_cv_DIRECTFB_CFLAGS
+       DIRECTFB_LIBS=$pkg_cv_DIRECTFB_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+    have_dep="yes"
+    requirement="directfb"
+    evas_engine_directfb_cflags="${DIRECTFB_CFLAGS}"
+    evas_engine_directfb_libs="${DIRECTFB_LIBS}"
+
+
+fi
+
+
+
+
+if test "x${want_engine}" = "xstatic" ; then
+   requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "DirectFB dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether DirectFB rendering backend will be built" >&5
+$as_echo_n "checking whether DirectFB rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_directfb="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_directfb="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_DIRECTFB 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_DIRECTFB_TRUE=
+  BUILD_ENGINE_DIRECTFB_FALSE='#'
+else
+  BUILD_ENGINE_DIRECTFB_TRUE='#'
+  BUILD_ENGINE_DIRECTFB_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_DIRECTFB 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_DIRECTFB_TRUE=
+  EVAS_STATIC_BUILD_DIRECTFB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_DIRECTFB_TRUE='#'
+  EVAS_STATIC_BUILD_DIRECTFB_FALSE=
+fi
+
+
+
+
+
+
+
+# disable qtopia engine for the release
+#EVAS_CHECK_ENGINE([software-qtopia], [${want_evas_engine_software_qtopia}], [no], [Qtopia])
+
+
+
+
+want_engine="${want_evas_engine_software_8_x11}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_software_8_x11="no"
+
+# Check whether --enable-software-8-x11 was given.
+if test "${enable_software_8_x11+set}" = set; then :
+  enableval=$enable_software_8_x11;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Software X11 8 bits grayscale rendering backend" >&5
+$as_echo_n "checking whether to enable Software X11 8 bits grayscale rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+have_dep="no"
+evas_engine_software_8_x11_cflags=""
+evas_engine_software_8_x11_libs=""
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCB" >&5
+$as_echo_n "checking for XCB... " >&6; }
+
+if test -n "$XCB_CFLAGS"; then
+    pkg_cv_XCB_CFLAGS="$XCB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb xcb-shm xcb-image >= 0.2.1 pixman-1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_XCB_CFLAGS=`$PKG_CONFIG --cflags "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$XCB_LIBS"; then
+    pkg_cv_XCB_LIBS="$XCB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xcb xcb-shm xcb-image >= 0.2.1 pixman-1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_XCB_LIBS=`$PKG_CONFIG --libs "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               XCB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>&1`
+        else
+               XCB_PKG_ERRORS=`$PKG_CONFIG --print-errors "xcb xcb-shm xcb-image >= 0.2.1 pixman-1" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$XCB_PKG_ERRORS" >&5
+
+
+    have_dep="no"
+
+
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+    have_dep="no"
+
+
+else
+       XCB_CFLAGS=$pkg_cv_XCB_CFLAGS
+       XCB_LIBS=$pkg_cv_XCB_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+    have_dep="yes"
+    requirement="xcb xcb-shm xcb-image pixman-1"
+    evas_engine_software_8_x11_cflags="${XCB_CFLAGS}"
+    evas_engine_software_8_x11_libs="${XCB_LIBS}"
+
+fi
+
+
+
+
+if test "x${want_engine}" = "xstatic" ; then
+   requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Software X11 8 bits grayscale dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software X11 8 bits grayscale rendering backend will be built" >&5
+$as_echo_n "checking whether Software X11 8 bits grayscale rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_8_x11="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_8_x11="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_SOFTWARE_8_X11 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_8_X11_TRUE=
+  BUILD_ENGINE_SOFTWARE_8_X11_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_8_X11_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_8_X11_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_8_X11 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_8_X11_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_8_X11_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_software_16_x11}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_software_16_x11="no"
+
+# Check whether --enable-software-16-x11 was given.
+if test "${enable_software_16_x11+set}" = set; then :
+  enableval=$enable_software_16_x11;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Software X11 16 bits rendering backend" >&5
+$as_echo_n "checking whether to enable Software X11 16 bits rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+have_dep="no"
+evas_engine_software_16_x11_cflags=""
+evas_engine_software_16_x11_libs=""
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5
+$as_echo_n "checking for X... " >&6; }
+
+
+# Check whether --with-x was given.
+if test "${with_x+set}" = set; then :
+  withval=$with_x;
+fi
+
+# $have_x is `yes', `no', `disabled', or empty when we do not yet know.
+if test "x$with_x" = xno; then
+  # The user explicitly disabled X.
+  have_x=disabled
+else
+  case $x_includes,$x_libraries in #(
+    *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #(
+    *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  # One or both of the vars are not set, and there is no cached value.
+ac_x_includes=no ac_x_libraries=no
+rm -f -r conftest.dir
+if mkdir conftest.dir; then
+  cd conftest.dir
+  cat >Imakefile <<'_ACEOF'
+incroot:
+       @echo incroot='${INCROOT}'
+usrlibdir:
+       @echo usrlibdir='${USRLIBDIR}'
+libdir:
+       @echo libdir='${LIBDIR}'
+_ACEOF
+  if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
+    # GNU make sometimes prints "make[1]: Entering ...", which would confuse us.
+    for ac_var in incroot usrlibdir libdir; do
+      eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
+    done
+    # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
+    for ac_extension in a so sl dylib la dll; do
+      if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
+        test -f "$ac_im_libdir/libX11.$ac_extension"; then
+       ac_im_usrlibdir=$ac_im_libdir; break
+      fi
+    done
+    # Screen out bogus values from the imake configuration.  They are
+    # bogus both because they are the default anyway, and because
+    # using them would break gcc on systems where it needs fixed includes.
+    case $ac_im_incroot in
+       /usr/include) ac_x_includes= ;;
+       *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
+    esac
+    case $ac_im_usrlibdir in
+       /usr/lib | /usr/lib64 | /lib | /lib64) ;;
+       *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;;
+    esac
+  fi
+  cd ..
+  rm -f -r conftest.dir
+fi
+
+# Standard set of common directories for X headers.
+# Check X11 before X11Rn because it is often a symlink to the current release.
+ac_x_header_dirs='
+/usr/X11/include
+/usr/X11R7/include
+/usr/X11R6/include
+/usr/X11R5/include
+/usr/X11R4/include
+
+/usr/include/X11
+/usr/include/X11R7
+/usr/include/X11R6
+/usr/include/X11R5
+/usr/include/X11R4
+
+/usr/local/X11/include
+/usr/local/X11R7/include
+/usr/local/X11R6/include
+/usr/local/X11R5/include
+/usr/local/X11R4/include
+
+/usr/local/include/X11
+/usr/local/include/X11R7
+/usr/local/include/X11R6
+/usr/local/include/X11R5
+/usr/local/include/X11R4
+
+/usr/X386/include
+/usr/x386/include
+/usr/XFree86/include/X11
+
+/usr/include
+/usr/local/include
+/usr/unsupported/include
+/usr/athena/include
+/usr/local/x11r5/include
+/usr/lpp/Xamples/include
+
+/usr/openwin/include
+/usr/openwin/share/include'
+
+if test "$ac_x_includes" = no; then
+  # Guess where to find include files, by looking for Xlib.h.
+  # First, try using that file with no special directory specified.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # We can compile using X headers with no special include directory.
+ac_x_includes=
+else
+  for ac_dir in $ac_x_header_dirs; do
+  if test -r "$ac_dir/X11/Xlib.h"; then
+    ac_x_includes=$ac_dir
+    break
+  fi
+done
+fi
+rm -f conftest.err conftest.i conftest.$ac_ext
+fi # $ac_x_includes = no
+
+if test "$ac_x_libraries" = no; then
+  # Check for the libraries.
+  # See if we find them without any special options.
+  # Don't add to $LIBS permanently.
+  ac_save_LIBS=$LIBS
+  LIBS="-lX11 $LIBS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+int
+main ()
+{
+XrmInitialize ()
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  LIBS=$ac_save_LIBS
+# We can link X programs with no special library path.
+ac_x_libraries=
+else
+  LIBS=$ac_save_LIBS
+for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+do
+  # Don't even attempt the hair of trying to link an X program!
+  for ac_extension in a so sl dylib la dll; do
+    if test -r "$ac_dir/libX11.$ac_extension"; then
+      ac_x_libraries=$ac_dir
+      break 2
+    fi
+  done
+done
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi # $ac_x_libraries = no
+
+case $ac_x_includes,$ac_x_libraries in #(
+  no,* | *,no | *\'*)
+    # Didn't find X, or a directory has "'" in its name.
+    ac_cv_have_x="have_x=no";; #(
+  *)
+    # Record where we found X for the cache.
+    ac_cv_have_x="have_x=yes\
+       ac_x_includes='$ac_x_includes'\
+       ac_x_libraries='$ac_x_libraries'"
+esac
+fi
+;; #(
+    *) have_x=yes;;
+  esac
+  eval "$ac_cv_have_x"
+fi # $with_x != no
+
+if test "$have_x" != yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5
+$as_echo "$have_x" >&6; }
+  no_x=yes
+else
+  # If each of the values was on the command line, it overrides each guess.
+  test "x$x_includes" = xNONE && x_includes=$ac_x_includes
+  test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
+  # Update the cache value to reflect the command line values.
+  ac_cv_have_x="have_x=yes\
+       ac_x_includes='$x_includes'\
+       ac_x_libraries='$x_libraries'"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5
+$as_echo "libraries $x_libraries, headers $x_includes" >&6; }
+fi
+
+if test "$no_x" = yes; then
+  # Not all programs may use this symbol, but it does not hurt to define it.
+
+$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h
+
+  X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS=
+else
+  if test -n "$x_includes"; then
+    X_CFLAGS="$X_CFLAGS -I$x_includes"
+  fi
+
+  # It would also be nice to do this for all -L options, not just this one.
+  if test -n "$x_libraries"; then
+    X_LIBS="$X_LIBS -L$x_libraries"
+    # For Solaris; some versions of Sun CC require a space after -R and
+    # others require no space.  Words are not sufficient . . . .
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5
+$as_echo_n "checking whether -R must be followed by a space... " >&6; }
+    ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+    ac_xsave_c_werror_flag=$ac_c_werror_flag
+    ac_c_werror_flag=yes
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       X_LIBS="$X_LIBS -R$x_libraries"
+else
+  LIBS="$ac_xsave_LIBS -R $x_libraries"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+         X_LIBS="$X_LIBS -R $x_libraries"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5
+$as_echo "neither works" >&6; }
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    ac_c_werror_flag=$ac_xsave_c_werror_flag
+    LIBS=$ac_xsave_LIBS
+  fi
+
+  # Check for system-dependent libraries X programs must link with.
+  # Do this before checking for the system-independent R6 libraries
+  # (-lICE), since we may need -lsocket or whatever for X linking.
+
+  if test "$ISC" = yes; then
+    X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet"
+  else
+    # Martyn Johnson says this is needed for Ultrix, if the X
+    # libraries were built with DECnet support.  And Karl Berry says
+    # the Alpha needs dnet_stub (dnet does not exist).
+    ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11"
+    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XOpenDisplay ();
+int
+main ()
+{
+return XOpenDisplay ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
+if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dnet_dnet_ntoa=yes
+else
+  ac_cv_lib_dnet_dnet_ntoa=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_dnet_ntoa" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
+fi
+
+    if test $ac_cv_lib_dnet_dnet_ntoa = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
+if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ldnet_stub  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dnet_ntoa ();
+int
+main ()
+{
+return dnet_ntoa ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_dnet_stub_dnet_ntoa=yes
+else
+  ac_cv_lib_dnet_stub_dnet_ntoa=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
+if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
+fi
+
+    fi
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+    LIBS="$ac_xsave_LIBS"
+
+    # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT,
+    # to get the SysV transport functions.
+    # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4)
+    # needs -lnsl.
+    # The nsl library prevents programs from opening the X display
+    # on Irix 5.2, according to T.E. Dickey.
+    # The functions gethostbyname, getservbyname, and inet_addr are
+    # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
+    ac_fn_c_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname"
+if test "x$ac_cv_func_gethostbyname" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_gethostbyname = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
+$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
+if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lnsl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_nsl_gethostbyname=yes
+else
+  ac_cv_lib_nsl_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
+$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
+if test "x$ac_cv_lib_nsl_gethostbyname" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
+fi
+
+      if test $ac_cv_lib_nsl_gethostbyname = no; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5
+$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
+if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lbsd  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char gethostbyname ();
+int
+main ()
+{
+return gethostbyname ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_bsd_gethostbyname=yes
+else
+  ac_cv_lib_bsd_gethostbyname=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5
+$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
+if test "x$ac_cv_lib_bsd_gethostbyname" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
+fi
+
+      fi
+    fi
+
+    # lieder@skyler.mavd.honeywell.com says without -lsocket,
+    # socket/setsockopt and other routines are undefined under SCO ODT
+    # 2.0.  But -lsocket is broken on IRIX 5.2 (and is not necessary
+    # on later versions), says Simon Leinen: it contains gethostby*
+    # variants that don't use the name server (or something).  -lsocket
+    # must be given before -lnsl if both are needed.  We assume that
+    # if connect needs -lnsl, so does gethostbyname.
+    ac_fn_c_check_func "$LINENO" "connect" "ac_cv_func_connect"
+if test "x$ac_cv_func_connect" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_connect = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5
+$as_echo_n "checking for connect in -lsocket... " >&6; }
+if test "${ac_cv_lib_socket_connect+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char connect ();
+int
+main ()
+{
+return connect ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_socket_connect=yes
+else
+  ac_cv_lib_socket_connect=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5
+$as_echo "$ac_cv_lib_socket_connect" >&6; }
+if test "x$ac_cv_lib_socket_connect" = x""yes; then :
+  X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
+fi
+
+    fi
+
+    # Guillermo Gomez says -lposix is necessary on A/UX.
+    ac_fn_c_check_func "$LINENO" "remove" "ac_cv_func_remove"
+if test "x$ac_cv_func_remove" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_remove = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5
+$as_echo_n "checking for remove in -lposix... " >&6; }
+if test "${ac_cv_lib_posix_remove+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lposix  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char remove ();
+int
+main ()
+{
+return remove ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_posix_remove=yes
+else
+  ac_cv_lib_posix_remove=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5
+$as_echo "$ac_cv_lib_posix_remove" >&6; }
+if test "x$ac_cv_lib_posix_remove" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
+fi
+
+    fi
+
+    # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
+    ac_fn_c_check_func "$LINENO" "shmat" "ac_cv_func_shmat"
+if test "x$ac_cv_func_shmat" = x""yes; then :
+
+fi
+
+    if test $ac_cv_func_shmat = no; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5
+$as_echo_n "checking for shmat in -lipc... " >&6; }
+if test "${ac_cv_lib_ipc_shmat+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lipc  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char shmat ();
+int
+main ()
+{
+return shmat ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ipc_shmat=yes
+else
+  ac_cv_lib_ipc_shmat=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5
+$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
+if test "x$ac_cv_lib_ipc_shmat" = x""yes; then :
+  X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
+fi
+
+    fi
+  fi
+
+  # Check for libraries that X11R6 Xt/Xaw programs need.
+  ac_save_LDFLAGS=$LDFLAGS
+  test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries"
+  # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to
+  # check for ICE first), but we must link in the order -lSM -lICE or
+  # we get undefined symbols.  So assume we have SM if we have ICE.
+  # These have to be linked with before -lX11, unlike the other
+  # libraries we check for below, so use a different variable.
+  # John Interrante, Karl Berry
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5
+$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
+if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lICE $X_EXTRA_LIBS $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char IceConnectionNumber ();
+int
+main ()
+{
+return IceConnectionNumber ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ICE_IceConnectionNumber=yes
+else
+  ac_cv_lib_ICE_IceConnectionNumber=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
+if test "x$ac_cv_lib_ICE_IceConnectionNumber" = x""yes; then :
+  X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
+fi
+
+  LDFLAGS=$ac_save_LDFLAGS
+
+fi
+
+
+ac_fn_c_check_header_mongrel "$LINENO" "X11/X.h" "ac_cv_header_X11_X_h" "$ac_includes_default"
+if test "x$ac_cv_header_X11_X_h" = x""yes; then :
+  have_dep="yes"
+fi
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XCreateImage in -lX11" >&5
+$as_echo_n "checking for XCreateImage in -lX11... " >&6; }
+if test "${ac_cv_lib_X11_XCreateImage+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lX11  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XCreateImage ();
+int
+main ()
+{
+return XCreateImage ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_X11_XCreateImage=yes
+else
+  ac_cv_lib_X11_XCreateImage=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_XCreateImage" >&5
+$as_echo "$ac_cv_lib_X11_XCreateImage" >&6; }
+if test "x$ac_cv_lib_X11_XCreateImage" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XShmCreateImage in -lXext" >&5
+$as_echo_n "checking for XShmCreateImage in -lXext... " >&6; }
+if test "${ac_cv_lib_Xext_XShmCreateImage+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lXext  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XShmCreateImage ();
+int
+main ()
+{
+return XShmCreateImage ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_Xext_XShmCreateImage=yes
+else
+  ac_cv_lib_Xext_XShmCreateImage=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xext_XShmCreateImage" >&5
+$as_echo "$ac_cv_lib_Xext_XShmCreateImage" >&6; }
+if test "x$ac_cv_lib_Xext_XShmCreateImage" = x""yes; then :
+  have_dep="yes"
+else
+  have_dep="no"
+fi
+
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   if test "xyes" = "xyes" ; then
+      x_libs="${x_libs} -lX11 -lXext"
+   else
+      x_dir=${x_dir:-/usr/X11R6}
+      x_cflags=${x_cflags:--I${x_includes:-$x_dir/include}}
+      x_libs="${x_libs:--L${x_libraries:-$x_dir/lib}} -lX11 -lXext"
+   fi
+   evas_engine_software_16_x11_cflags="${x_cflags}"
+   evas_engine_software_16_x11_libs="${x_libs}"
+fi
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Software X11 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software X11 16 bits rendering backend will be built" >&5
+$as_echo_n "checking whether Software X11 16 bits rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_16_x11="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_16_x11="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_SOFTWARE_16_X11 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_16_X11_TRUE=
+  BUILD_ENGINE_SOFTWARE_16_X11_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_16_X11_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_16_X11_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_16_X11 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_software_16_ddraw}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_software_16_ddraw="no"
+
+# Check whether --enable-software-16-ddraw was given.
+if test "${enable_software_16_ddraw+set}" = set; then :
+  enableval=$enable_software_16_ddraw;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Software DirectDraw 16 bits rendering backend" >&5
+$as_echo_n "checking whether to enable Software DirectDraw 16 bits rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+have_dep="no"
+evas_engine_software_16_ddraw_cflags=""
+evas_engine_software_16_ddraw_libs=""
+
+ac_fn_c_check_header_mongrel "$LINENO" "ddraw.h" "ac_cv_header_ddraw_h" "$ac_includes_default"
+if test "x$ac_cv_header_ddraw_h" = x""yes; then :
+
+    have_dep="yes"
+    evas_engine_software_16_ddraw_libs="-lddraw -lgdi32"
+
+
+fi
+
+
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Software DirectDraw 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software DirectDraw 16 bits rendering backend will be built" >&5
+$as_echo_n "checking whether Software DirectDraw 16 bits rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_16_ddraw="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_16_ddraw="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_SOFTWARE_16_DDRAW 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE=
+  BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+want_engine="${want_evas_engine_software_16_wince}"
+want_static_engine="no"
+have_engine="no"
+have_evas_engine_software_16_wince="no"
+
+# Check whether --enable-software-16-wince was given.
+if test "${enable_software_16_wince+set}" = set; then :
+  enableval=$enable_software_16_wince;
+    if test "x${enableval}" = "xyes" ; then
+       want_engine="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_engine="static"
+       else
+          want_engine="no"
+       fi
+    fi
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Software Windows CE 16 bits rendering backend" >&5
+$as_echo_n "checking whether to enable Software Windows CE 16 bits rendering backend... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_engine}" >&5
+$as_echo "${want_engine}" >&6; }
+
+if test "x${want_engine}" = "xyes" -o "x${want_engine}" = "xstatic" -o "x${want_engine}" = "xauto" ; then
+
+
+have_dep="yes"
+evas_engine_software_16_wince_cflags=""
+evas_engine_software_16_wince_libs=""
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_engine="yes"
+else
+  have_engine="no"
+fi
+
+
+fi
+
+if test "x${have_engine}" = "xno" -a "x${want_engine}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Software Windows CE 16 bits dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Software Windows CE 16 bits rendering backend will be built" >&5
+$as_echo_n "checking whether Software Windows CE 16 bits rendering backend will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_engine}" >&5
+$as_echo "${have_engine}" >&6; }
+
+if test "x${have_engine}" = "xyes" ; then
+   if test "x${want_engine}" = "xstatic" ; then
+      have_evas_engine_software_16_wince="static"
+      want_static_engine="yes"
+   else
+      have_evas_engine_software_16_wince="yes"
+   fi
+fi
+
+if test "x${have_engine}" = "xyes" ; then
+
+$as_echo "#define BUILD_ENGINE_SOFTWARE_16_WINCE 1" >>confdefs.h
+
+fi
+
+ if test "x${have_engine}" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE=
+  BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE=
+fi
+
+
+if test "x${want_static_engine}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_16_WINCE 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_engine}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE=
+fi
+
+
+
+
+
+
+
+# common cairo
+#have_evas_engine_cairo_common="no"
+#if test "x${have_evas_engine_cairo_x11}" = "xyes" ; then
+#   have_evas_engine_cairo_common="yes"
+#   AC_DEFINE([BUILD_ENGINE_CAIRO_COMMON], [1], [Generic Cairo Rendering Support])
+#fi
+#AM_CONDITIONAL([BUILD_ENGINE_CAIRO_COMMON], [test "x$have_evas_engine_cairo_common" = "xyes"])
+
+# common gl
+have_evas_engine_gl_common="no"
+have_static_evas_engine_gl_common="no"
+if test "x$have_evas_engine_gl_x11" = "xyes" \
+   || test "x$have_evas_engine_gl_glew" = "xyes" \
+   || test "x$have_evas_engine_gl_sdl" = "xyes"; then
+   have_evas_engine_gl_common="yes"
+fi
+if test "x$have_evas_engine_gl_x11" = "xstatic" \
+   || test "x$have_evas_engine_gl_glew" = "xstatic" \
+   || test "x$have_evas_engine_gl_sdl" = "xstatic"; then
+   have_evas_engine_gl_common="yes"
+   have_static_evas_engine_gl_common="yes"
+fi
+
+if test "x$have_evas_engine_gl_common" = "xyes"; then
+   evas_engine_gl_common_libs=""
+
+$as_echo "#define BUILD_ENGINE_GL_COMMON 1" >>confdefs.h
+
+fi
+
+
+
+ if test "x$have_evas_engine_gl_common" = "xyes"; then
+  BUILD_ENGINE_GL_COMMON_TRUE=
+  BUILD_ENGINE_GL_COMMON_FALSE='#'
+else
+  BUILD_ENGINE_GL_COMMON_TRUE='#'
+  BUILD_ENGINE_GL_COMMON_FALSE=
+fi
+
+
+ if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
+  EVAS_STATIC_BUILD_GL_COMMON_TRUE=
+  EVAS_STATIC_BUILD_GL_COMMON_FALSE='#'
+else
+  EVAS_STATIC_BUILD_GL_COMMON_TRUE='#'
+  EVAS_STATIC_BUILD_GL_COMMON_FALSE=
+fi
+
+if test "x${have_static_evas_engine_gl_common}" = "xyes"; then
+
+$as_echo "#define EVAS_STATIC_BUILD_GL_COMMON 1" >>confdefs.h
+
+fi
+
+# gl_sdl
+if test "x$have_evas_engine_gl_sdl" = "xyes" || test "x$have_evas_engine_gl_sdl" = "xstatic" ; then
+   ac_fn_c_check_decl "$LINENO" "SDL_GL_CONTEXT_MAJOR_VERSION" "ac_cv_have_decl_SDL_GL_CONTEXT_MAJOR_VERSION" "#include <SDL/SDL_video.h>
+"
+if test "x$ac_cv_have_decl_SDL_GL_CONTEXT_MAJOR_VERSION" = x""yes; then :
+
+$as_echo "#define HAVE_SDL_GL_CONTEXT_VERSION 1" >>confdefs.h
+
+fi
+
+fi
+
+if test "x$gl_flavor_gles" = "xyes"; then
+   ac_fn_c_check_decl "$LINENO" "SDL_OPENGLES" "ac_cv_have_decl_SDL_OPENGLES" "#include <SDL/SDL_video.h>
+"
+if test "x$ac_cv_have_decl_SDL_OPENGLES" = x""yes; then :
+
+$as_echo "#define HAVE_SDL_FLAG_OPENGLES 1" >>confdefs.h
+
+fi
+
+fi
+
+# SDL primitive
+sdl_primitive="no"
+
+# Check whether --enable-sdl-primitive was given.
+if test "${enable_sdl_primitive+set}" = set; then :
+  enableval=$enable_sdl_primitive; sdl_primitive=${enableval}
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use SDL primitive when possible" >&5
+$as_echo_n "checking whether to use SDL primitive when possible... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${sdl_primitive}" >&5
+$as_echo "${sdl_primitive}" >&6; }
+
+if test "x${sdl_primitive}" = "xyes" ; then
+
+$as_echo "#define ENGINE_SDL_PRIMITIVE 1" >>confdefs.h
+
+fi
+
+# if software generic need to be build as part of libevas.so
+have_static_software_generic="no"
+# Check whether --enable-static-software-generic was given.
+if test "${enable_static_software_generic+set}" = set; then :
+  enableval=$enable_static_software_generic; have_static_software_generic=${enableval}
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Whether to build software generic engine as part of libevas" >&5
+$as_echo_n "checking Whether to build software generic engine as part of libevas... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_static_software_generic}" >&5
+$as_echo "${have_static_software_generic}" >&6; }
+
+if test "x${have_static_module}" = "xyes" -a "x${have_static_software_generic}" = "xno"; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Forcing --enable-static-software-generic as engines must be compiled statically" >&5
+$as_echo "$as_me: WARNING: Forcing --enable-static-software-generic as engines must be compiled statically" >&2;}
+   have_static_software_generic="yes"
+fi
+
+ if test "x${have_static_software_generic}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE=
+fi
+
+if test "x${have_static_software_generic}" = "xyes"; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_GENERIC 1" >>confdefs.h
+
+fi
+
+# if software_xlib or software_xcb are available, define everything needed for X11
+have_evas_engine_software_x11="no"
+if test "x$have_evas_engine_software_xlib" = "xstatic" -o "x$have_evas_engine_software_xcb" = "xstatic" ; then
+   have_evas_engine_software_x11="static"
+else
+   if test "x$have_evas_engine_software_xlib" = "xyes" -o "x$have_evas_engine_software_xcb" = "xyes" ; then
+      have_evas_engine_software_x11="yes"
+   fi
+fi
+
+if test "x$have_evas_engine_software_xlib" = "xstatic" ; then
+   have_evas_engine_software_xlib="yes"
+fi
+
+if test "x$have_evas_engine_software_xcb" = "xstatic" ; then
+   have_evas_engine_software_xcb="yes"
+fi
+
+if test "x$have_evas_engine_software_x11" = "xyes" -o "x$have_evas_engine_software_x11" = "xstatic" ; then
+
+$as_echo "#define BUILD_ENGINE_SOFTWARE_X11 1" >>confdefs.h
+
+fi
+
+if test "x$have_evas_engine_software_x11" = "xstatic" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_X11 1" >>confdefs.h
+
+fi
+
+ if test "x${have_evas_engine_software_x11}" = "xyes" -o "x${have_evas_engine_software_x11}" = "xstatic"; then
+  BUILD_ENGINE_SOFTWARE_X11_TRUE=
+  BUILD_ENGINE_SOFTWARE_X11_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_X11_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_X11_FALSE=
+fi
+
+ if test "x${have_evas_engine_software_x11}" = "xstatic"; then
+  EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE=
+fi
+
+
+
+
+
+# if software 16 x11 is enabled - build software_16 (the generic 16bit
+# engine). later enable it fb_16 or other "16" bit engines are enabled.
+have_evas_engine_software_16="no"
+if test "x$have_evas_engine_software_16_x11" = "xyes" -o "x$have_evas_engine_software_16_x11" = "xstatic"; then
+   have_evas_engine_software_16="yes"
+fi
+if test "x$have_evas_engine_software_sdl" = "xyes" -o "x$have_evas_engine_software_sdl" = "xstatic"; then
+   have_evas_engine_software_16="yes"
+fi
+if test "x$have_evas_engine_software_16_ddraw" = "xyes" -o "x$have_evas_engine_software_16_ddraw" = "xstatic"; then
+   have_evas_engine_software_16="yes"
+fi
+if test "x$have_evas_engine_software_16_wince" = "xyes" -o "x$have_evas_engine_software_16_wince" = "xstatic"; then
+   have_evas_engine_software_16="yes"
+fi
+ if test "x$have_evas_engine_software_16" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_16_TRUE=
+  BUILD_ENGINE_SOFTWARE_16_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_16_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_16_FALSE=
+fi
+
+
+# if software 16 need to be build as part of libevas.so
+have_static_software_16="no"
+# Check whether --enable-static-software-16 was given.
+if test "${enable_static_software_16+set}" = set; then :
+  enableval=$enable_static_software_16; have_static_software_16=${enableval}
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Whether to build software 16 engine as part of libevas" >&5
+$as_echo_n "checking Whether to build software 16 engine as part of libevas... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_static_software_16}" >&5
+$as_echo "${have_static_software_16}" >&6; }
+
+ if test "x${have_static_software_16}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_16_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_16_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_16_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_16_FALSE=
+fi
+
+if test "x${have_static_software_16}" = "xyes"; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_16 1" >>confdefs.h
+
+fi
+
+# if software 8 x11 is enabled - build software_8 (the generic 8bit
+# engine).
+have_evas_engine_software_8="no"
+if test "x$have_evas_engine_software_8_x11" = "xyes" -o "x$have_evas_engine_software_8_x11" = "xstatic"; then
+   have_evas_engine_software_8="yes"
+fi
+ if test "x$have_evas_engine_software_8" = "xyes"; then
+  BUILD_ENGINE_SOFTWARE_8_TRUE=
+  BUILD_ENGINE_SOFTWARE_8_FALSE='#'
+else
+  BUILD_ENGINE_SOFTWARE_8_TRUE='#'
+  BUILD_ENGINE_SOFTWARE_8_FALSE=
+fi
+
+
+# if software 8 need to be build as part of libevas.so
+have_static_software_8="no"
+# Check whether --enable-static-software-8 was given.
+if test "${enable_static_software_8+set}" = set; then :
+  enableval=$enable_static_software_8; have_static_software_8=${enableval}
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking Whether to build software 8 engine as part of libevas" >&5
+$as_echo_n "checking Whether to build software 8 engine as part of libevas... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_static_software_8}" >&5
+$as_echo "${have_static_software_8}" >&6; }
+
+ if test "x${have_static_software_8}" = "xyes"; then
+  EVAS_STATIC_BUILD_SOFTWARE_8_TRUE=
+  EVAS_STATIC_BUILD_SOFTWARE_8_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SOFTWARE_8_TRUE='#'
+  EVAS_STATIC_BUILD_SOFTWARE_8_FALSE=
+fi
+
+if test "x${have_static_software_8}" = "xyes"; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SOFTWARE_8 1" >>confdefs.h
+
+fi
+
+#####################################################################
+## Image loaders
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_edb}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_edb="no"
+
+# Check whether --enable-image-loader-edb was given.
+if test "${enable_image_loader_edb+set}" = set; then :
+  enableval=$enable_image_loader_edb;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Edb image loader" >&5
+$as_echo_n "checking whether to enable Edb image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+requirement=""
+have_dep="no"
+evas_image_loader_edb_cflags=""
+evas_image_loader_edb_libs=""
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EDB" >&5
+$as_echo_n "checking for EDB... " >&6; }
+
+if test -n "$EDB_CFLAGS"; then
+    pkg_cv_EDB_CFLAGS="$EDB_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"edb\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "edb") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_EDB_CFLAGS=`$PKG_CONFIG --cflags "edb" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$EDB_LIBS"; then
+    pkg_cv_EDB_LIBS="$EDB_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"edb\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "edb") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_EDB_LIBS=`$PKG_CONFIG --libs "edb" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               EDB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "edb" 2>&1`
+        else
+               EDB_PKG_ERRORS=`$PKG_CONFIG --print-errors "edb" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$EDB_PKG_ERRORS" >&5
+
+       have_dep="no"
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       have_dep="no"
+else
+       EDB_CFLAGS=$pkg_cv_EDB_CFLAGS
+       EDB_LIBS=$pkg_cv_EDB_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_dep="yes" requirement="edb"
+fi
+evas_image_loader_edb_cflags="${EDB_CFLAGS}"
+evas_image_loader_edb_libs="${EDB_LIBS}"
+
+
+
+
+if test "x${want_loader}" = "xstatic" ; then
+   requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Edb dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Edb image loader will be built" >&5
+$as_echo_n "checking whether Edb image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_edb="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_edb="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_EDB 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_EDB_TRUE=
+  BUILD_LOADER_EDB_FALSE='#'
+else
+  BUILD_LOADER_EDB_TRUE='#'
+  BUILD_LOADER_EDB_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_EDB 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_EDB_TRUE=
+  EVAS_STATIC_BUILD_EDB_FALSE='#'
+else
+  EVAS_STATIC_BUILD_EDB_TRUE='#'
+  EVAS_STATIC_BUILD_EDB_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_eet}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_eet="no"
+
+# Check whether --enable-image-loader-eet was given.
+if test "${enable_image_loader_eet+set}" = set; then :
+  enableval=$enable_image_loader_eet;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Eet image loader" >&5
+$as_echo_n "checking whether to enable Eet image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+requirement=""
+have_dep="no"
+evas_image_loader_eet_cflags=""
+evas_image_loader_eet_libs=""
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EET" >&5
+$as_echo_n "checking for EET... " >&6; }
+
+if test -n "$EET_CFLAGS"; then
+    pkg_cv_EET_CFLAGS="$EET_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.4.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "eet >= 1.4.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.4.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$EET_LIBS"; then
+    pkg_cv_EET_LIBS="$EET_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.4.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "eet >= 1.4.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.4.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eet >= 1.4.0" 2>&1`
+        else
+               EET_PKG_ERRORS=`$PKG_CONFIG --print-errors "eet >= 1.4.0" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$EET_PKG_ERRORS" >&5
+
+       have_dep="no"
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       have_dep="no"
+else
+       EET_CFLAGS=$pkg_cv_EET_CFLAGS
+       EET_LIBS=$pkg_cv_EET_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_dep="yes" requirement="eet >= 1.4.0"
+fi
+evas_image_loader_eet_cflags="${EET_CFLAGS}"
+evas_image_loader_eet_libs="${EET_LIBS}"
+
+
+
+
+if test "x${want_loader}" = "xstatic" ; then
+   requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Eet dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Eet image loader will be built" >&5
+$as_echo_n "checking whether Eet image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_eet="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_eet="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_EET 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_EET_TRUE=
+  BUILD_LOADER_EET_FALSE='#'
+else
+  BUILD_LOADER_EET_TRUE='#'
+  BUILD_LOADER_EET_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_EET 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_EET_TRUE=
+  EVAS_STATIC_BUILD_EET_FALSE='#'
+else
+  EVAS_STATIC_BUILD_EET_TRUE='#'
+  EVAS_STATIC_BUILD_EET_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_font_loader_eet}"
+have_evas_font_loader_eet="no"
+
+# Check whether --enable-font-loader-eet was given.
+if test "${enable_font_loader_eet+set}" = set; then :
+  enableval=$enable_font_loader_eet; want_loader=${enableval}
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Eet font loader" >&5
+$as_echo_n "checking whether to enable Eet font loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x$want_loader" = "xyes" -o "x$want_loader" = "xauto"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EET" >&5
+$as_echo_n "checking for EET... " >&6; }
+
+if test -n "$EET_CFLAGS"; then
+    pkg_cv_EET_CFLAGS="$EET_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.4.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "eet >= 1.4.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_EET_CFLAGS=`$PKG_CONFIG --cflags "eet >= 1.4.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$EET_LIBS"; then
+    pkg_cv_EET_LIBS="$EET_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"eet >= 1.4.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "eet >= 1.4.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_EET_LIBS=`$PKG_CONFIG --libs "eet >= 1.4.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               EET_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "eet >= 1.4.0" 2>&1`
+        else
+               EET_PKG_ERRORS=`$PKG_CONFIG --print-errors "eet >= 1.4.0" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$EET_PKG_ERRORS" >&5
+
+       have_evas_font_loader_eet="no"
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       have_evas_font_loader_eet="no"
+else
+       EET_CFLAGS=$pkg_cv_EET_CFLAGS
+       EET_LIBS=$pkg_cv_EET_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_evas_font_loader_eet="yes"
+fi
+fi
+
+if test "x${have_evas_font_loader_eet}" = "xno" -a "x$want_loader" = "xyes" -a "x$use_strict" = "xyes" ; then
+   as_fn_error $? "Eet dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+if test "x$have_evas_font_loader_eet" = "xyes" ; then
+
+$as_echo "#define BUILD_FONT_LOADER_EET 1" >>confdefs.h
+
+   requirement_evas="eet >= 1.4.0 ${requirement_evas}"
+fi
+
+
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_gif}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_gif="no"
+
+# Check whether --enable-image-loader-gif was given.
+if test "${enable_image_loader_gif+set}" = set; then :
+  enableval=$enable_image_loader_gif;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Gif image loader" >&5
+$as_echo_n "checking whether to enable Gif image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+have_dep="no"
+evas_image_loader_gif_cflags=""
+evas_image_loader_gif_libs=""
+
+ac_fn_c_check_header_mongrel "$LINENO" "gif_lib.h" "ac_cv_header_gif_lib_h" "$ac_includes_default"
+if test "x$ac_cv_header_gif_lib_h" = x""yes; then :
+  have_dep="yes"
+fi
+
+
+
+if test "x${have_dep}"  = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DGifOpenFileName in -lgif" >&5
+$as_echo_n "checking for DGifOpenFileName in -lgif... " >&6; }
+if test "${ac_cv_lib_gif_DGifOpenFileName+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lgif  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char DGifOpenFileName ();
+int
+main ()
+{
+return DGifOpenFileName ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_gif_DGifOpenFileName=yes
+else
+  ac_cv_lib_gif_DGifOpenFileName=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gif_DGifOpenFileName" >&5
+$as_echo "$ac_cv_lib_gif_DGifOpenFileName" >&6; }
+if test "x$ac_cv_lib_gif_DGifOpenFileName" = x""yes; then :
+
+       evas_image_loader_gif_libs="-lgif"
+
+else
+  have_dep="no"
+
+fi
+
+
+   if test "x${have_dep}"  = "xno" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DGifOpenFileName in -lungif" >&5
+$as_echo_n "checking for DGifOpenFileName in -lungif... " >&6; }
+if test "${ac_cv_lib_ungif_DGifOpenFileName+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lungif  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char DGifOpenFileName ();
+int
+main ()
+{
+return DGifOpenFileName ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_ungif_DGifOpenFileName=yes
+else
+  ac_cv_lib_ungif_DGifOpenFileName=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ungif_DGifOpenFileName" >&5
+$as_echo "$ac_cv_lib_ungif_DGifOpenFileName" >&6; }
+if test "x$ac_cv_lib_ungif_DGifOpenFileName" = x""yes; then :
+
+          have_dep="yes"
+          evas_image_loader_gif_libs="-lungif"
+
+
+fi
+
+   fi
+fi
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Gif dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Gif image loader will be built" >&5
+$as_echo_n "checking whether Gif image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_gif="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_gif="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_GIF 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_GIF_TRUE=
+  BUILD_LOADER_GIF_FALSE='#'
+else
+  BUILD_LOADER_GIF_TRUE='#'
+  BUILD_LOADER_GIF_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_GIF 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_GIF_TRUE=
+  EVAS_STATIC_BUILD_GIF_FALSE='#'
+else
+  EVAS_STATIC_BUILD_GIF_TRUE='#'
+  EVAS_STATIC_BUILD_GIF_FALSE=
+fi
+
+
+
+
+
+
+
+have_evas_image_saver_jpeg="no"
+
+
+
+
+
+want_loader="${want_evas_image_loader_jpeg}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_jpeg="no"
+
+# Check whether --enable-image-loader-jpeg was given.
+if test "${enable_image_loader_jpeg+set}" = set; then :
+  enableval=$enable_image_loader_jpeg;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Jpeg image loader" >&5
+$as_echo_n "checking whether to enable Jpeg image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+have_dep="no"
+evas_image_loader_jpeg_cflags=""
+evas_image_loader_jpeg_libs=""
+
+ac_fn_c_check_header_mongrel "$LINENO" "jpeglib.h" "ac_cv_header_jpeglib_h" "$ac_includes_default"
+if test "x$ac_cv_header_jpeglib_h" = x""yes; then :
+  have_dep="yes"
+fi
+
+
+
+if test "x${have_dep}"  = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for jpeg_CreateDecompress in -ljpeg" >&5
+$as_echo_n "checking for jpeg_CreateDecompress in -ljpeg... " >&6; }
+if test "${ac_cv_lib_jpeg_jpeg_CreateDecompress+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ljpeg  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char jpeg_CreateDecompress ();
+int
+main ()
+{
+return jpeg_CreateDecompress ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_jpeg_jpeg_CreateDecompress=yes
+else
+  ac_cv_lib_jpeg_jpeg_CreateDecompress=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_jpeg_jpeg_CreateDecompress" >&5
+$as_echo "$ac_cv_lib_jpeg_jpeg_CreateDecompress" >&6; }
+if test "x$ac_cv_lib_jpeg_jpeg_CreateDecompress" = x""yes; then :
+
+       evas_image_loader_jpeg_libs="-ljpeg"
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <stdio.h>
+#include <jpeglib.h>
+#include <setjmp.h>
+
+int
+main ()
+{
+
+struct jpeg_decompress_struct decomp;
+decomp.region_x = 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  have_jpeg_region="yes"
+else
+  have_jpeg_region="no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+else
+  have_dep="no"
+
+fi
+
+   if test "x${have_jpeg_region}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_JPEG_REGION 1" >>confdefs.h
+
+   fi
+fi
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Jpeg dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Jpeg image loader will be built" >&5
+$as_echo_n "checking whether Jpeg image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_jpeg="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_jpeg="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_JPEG 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_JPEG_TRUE=
+  BUILD_LOADER_JPEG_FALSE='#'
+else
+  BUILD_LOADER_JPEG_TRUE='#'
+  BUILD_LOADER_JPEG_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_JPEG 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_JPEG_TRUE=
+  EVAS_STATIC_BUILD_JPEG_FALSE='#'
+else
+  EVAS_STATIC_BUILD_JPEG_TRUE='#'
+  EVAS_STATIC_BUILD_JPEG_FALSE=
+fi
+
+
+
+
+
+
+
+case "$host_os" in
+   mingw* | cegcc*)
+      ;;
+   *)
+      if test "x${have_evas_image_loader_jpeg}" = "xyes" ; then
+
+$as_echo "#define EVAS_BUILD_SAVER_JPEG 1" >>confdefs.h
+
+         have_evas_image_saver_jpeg="yes"
+      fi
+      ;;
+esac
+ if test "x${have_evas_image_saver_jpeg}" = "xyes"; then
+  BUILD_SAVER_JPEG_TRUE=
+  BUILD_SAVER_JPEG_FALSE='#'
+else
+  BUILD_SAVER_JPEG_TRUE='#'
+  BUILD_SAVER_JPEG_FALSE=
+fi
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_pmaps}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_pmaps="no"
+
+# Check whether --enable-image-loader-pmaps was given.
+if test "${enable_image_loader_pmaps+set}" = set; then :
+  enableval=$enable_image_loader_pmaps;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable PMAPS image loader" >&5
+$as_echo_n "checking whether to enable PMAPS image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+have_dep="yes"
+evas_image_loader_pmaps_cflags=""
+evas_image_loader_pmaps_libs=""
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "PMAPS dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether PMAPS image loader will be built" >&5
+$as_echo_n "checking whether PMAPS image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_pmaps="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_pmaps="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_PMAPS 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_PMAPS_TRUE=
+  BUILD_LOADER_PMAPS_FALSE='#'
+else
+  BUILD_LOADER_PMAPS_TRUE='#'
+  BUILD_LOADER_PMAPS_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_PMAPS 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_PMAPS_TRUE=
+  EVAS_STATIC_BUILD_PMAPS_FALSE='#'
+else
+  EVAS_STATIC_BUILD_PMAPS_TRUE='#'
+  EVAS_STATIC_BUILD_PMAPS_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_png}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_png="no"
+
+# Check whether --enable-image-loader-png was given.
+if test "${enable_image_loader_png+set}" = set; then :
+  enableval=$enable_image_loader_png;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable PNG image loader" >&5
+$as_echo_n "checking whether to enable PNG image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+requirement=""
+have_dep="no"
+evas_image_loader_png_cflags=""
+evas_image_loader_png_libs=""
+
+if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng14\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng14") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PNG" >&5
+$as_echo_n "checking for PNG... " >&6; }
+
+if test -n "$PNG_CFLAGS"; then
+    pkg_cv_PNG_CFLAGS="$PNG_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng14\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng14") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PNG_CFLAGS=`$PKG_CONFIG --cflags "libpng14" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$PNG_LIBS"; then
+    pkg_cv_PNG_LIBS="$PNG_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng14\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng14") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PNG_LIBS=`$PKG_CONFIG --libs "libpng14" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpng14" 2>&1`
+        else
+               PNG_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpng14" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$PNG_PKG_ERRORS" >&5
+
+       have_dep="no"
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       have_dep="no"
+else
+       PNG_CFLAGS=$pkg_cv_PNG_CFLAGS
+       PNG_LIBS=$pkg_cv_PNG_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_dep="yes" requirement="libpng14"
+fi
+else
+  if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng12\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng12") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PNG" >&5
+$as_echo_n "checking for PNG... " >&6; }
+
+if test -n "$PNG_CFLAGS"; then
+    pkg_cv_PNG_CFLAGS="$PNG_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng12\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng12") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PNG_CFLAGS=`$PKG_CONFIG --cflags "libpng12" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$PNG_LIBS"; then
+    pkg_cv_PNG_LIBS="$PNG_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng12\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng12") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PNG_LIBS=`$PKG_CONFIG --libs "libpng12" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpng12" 2>&1`
+        else
+               PNG_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpng12" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$PNG_PKG_ERRORS" >&5
+
+       have_dep="no"
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       have_dep="no"
+else
+       PNG_CFLAGS=$pkg_cv_PNG_CFLAGS
+       PNG_LIBS=$pkg_cv_PNG_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_dep="yes" requirement="libpng12"
+fi
+else
+  if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng10\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng10") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PNG" >&5
+$as_echo_n "checking for PNG... " >&6; }
+
+if test -n "$PNG_CFLAGS"; then
+    pkg_cv_PNG_CFLAGS="$PNG_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng10\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng10") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PNG_CFLAGS=`$PKG_CONFIG --cflags "libpng10" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$PNG_LIBS"; then
+    pkg_cv_PNG_LIBS="$PNG_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng10\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng10") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PNG_LIBS=`$PKG_CONFIG --libs "libpng10" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpng10" 2>&1`
+        else
+               PNG_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpng10" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$PNG_PKG_ERRORS" >&5
+
+       have_dep="no"
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       have_dep="no"
+else
+       PNG_CFLAGS=$pkg_cv_PNG_CFLAGS
+       PNG_LIBS=$pkg_cv_PNG_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_dep="yes" requirement="libpng10"
+fi
+else
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PNG" >&5
+$as_echo_n "checking for PNG... " >&6; }
+
+if test -n "$PNG_CFLAGS"; then
+    pkg_cv_PNG_CFLAGS="$PNG_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PNG_CFLAGS=`$PKG_CONFIG --cflags "libpng" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$PNG_LIBS"; then
+    pkg_cv_PNG_LIBS="$PNG_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpng\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libpng") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PNG_LIBS=`$PKG_CONFIG --libs "libpng" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               PNG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libpng" 2>&1`
+        else
+               PNG_PKG_ERRORS=`$PKG_CONFIG --print-errors "libpng" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$PNG_PKG_ERRORS" >&5
+
+       have_dep="no"
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       have_dep="no"
+else
+       PNG_CFLAGS=$pkg_cv_PNG_CFLAGS
+       PNG_LIBS=$pkg_cv_PNG_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_dep="yes" requirement="libpng"
+fi
+
+fi
+
+fi
+
+fi
+
+evas_image_loader_png_cflags="${PNG_CFLAGS}"
+evas_image_loader_png_libs="${PNG_LIBS}"
+
+
+
+
+if test "x${want_loader}" = "xstatic" ; then
+   requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "PNG dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether PNG image loader will be built" >&5
+$as_echo_n "checking whether PNG image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_png="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_png="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_PNG 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_PNG_TRUE=
+  BUILD_LOADER_PNG_FALSE='#'
+else
+  BUILD_LOADER_PNG_TRUE='#'
+  BUILD_LOADER_PNG_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_PNG 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_PNG_TRUE=
+  EVAS_STATIC_BUILD_PNG_FALSE='#'
+else
+  EVAS_STATIC_BUILD_PNG_TRUE='#'
+  EVAS_STATIC_BUILD_PNG_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_svg}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_svg="no"
+
+# Check whether --enable-image-loader-svg was given.
+if test "${enable_image_loader_svg+set}" = set; then :
+  enableval=$enable_image_loader_svg;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable SVG image loader" >&5
+$as_echo_n "checking whether to enable SVG image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+requirement=""
+have_dep="no"
+evas_image_loader_svg_cflags=""
+evas_image_loader_svg_libs=""
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for SVG" >&5
+$as_echo_n "checking for SVG... " >&6; }
+
+if test -n "$SVG_CFLAGS"; then
+    pkg_cv_SVG_CFLAGS="$SVG_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librsvg-2.0 >= 2.14.0
+                          cairo >= 1.0.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "librsvg-2.0 >= 2.14.0
+                          cairo >= 1.0.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_SVG_CFLAGS=`$PKG_CONFIG --cflags "librsvg-2.0 >= 2.14.0
+                          cairo >= 1.0.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$SVG_LIBS"; then
+    pkg_cv_SVG_LIBS="$SVG_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"librsvg-2.0 >= 2.14.0
+                          cairo >= 1.0.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "librsvg-2.0 >= 2.14.0
+                          cairo >= 1.0.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_SVG_LIBS=`$PKG_CONFIG --libs "librsvg-2.0 >= 2.14.0
+                          cairo >= 1.0.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               SVG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "librsvg-2.0 >= 2.14.0
+                          cairo >= 1.0.0" 2>&1`
+        else
+               SVG_PKG_ERRORS=`$PKG_CONFIG --print-errors "librsvg-2.0 >= 2.14.0
+                          cairo >= 1.0.0" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$SVG_PKG_ERRORS" >&5
+
+       have_svg="no"
+
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       have_svg="no"
+
+else
+       SVG_CFLAGS=$pkg_cv_SVG_CFLAGS
+       SVG_LIBS=$pkg_cv_SVG_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+       have_dep="yes" requirement="librsvg-2.0 cairo"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+   evas_image_loader_svg_cflags="${SVG_CFLAGS}"
+   evas_image_loader_svg_libs="${SVG_LIBS}"
+fi
+
+
+
+
+if test "x${want_loader}" = "xstatic" ; then
+   requirement_evas="${requirement} ${requirement_evas}"
+fi
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "SVG dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether SVG image loader will be built" >&5
+$as_echo_n "checking whether SVG image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_svg="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_svg="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_SVG 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_SVG_TRUE=
+  BUILD_LOADER_SVG_FALSE='#'
+else
+  BUILD_LOADER_SVG_TRUE='#'
+  BUILD_LOADER_SVG_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_SVG 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_SVG_TRUE=
+  EVAS_STATIC_BUILD_SVG_FALSE='#'
+else
+  EVAS_STATIC_BUILD_SVG_TRUE='#'
+  EVAS_STATIC_BUILD_SVG_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_tiff}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_tiff="no"
+
+# Check whether --enable-image-loader-tiff was given.
+if test "${enable_image_loader_tiff+set}" = set; then :
+  enableval=$enable_image_loader_tiff;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable Tiff image loader" >&5
+$as_echo_n "checking whether to enable Tiff image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+have_dep="no"
+evas_image_loader_tiff_cflags=""
+evas_image_loader_tiff_libs=""
+
+ac_fn_c_check_header_mongrel "$LINENO" "tiffio.h" "ac_cv_header_tiffio_h" "$ac_includes_default"
+if test "x$ac_cv_header_tiffio_h" = x""yes; then :
+  have_dep="yes"
+fi
+
+
+
+if test "x${have_dep}"  = "xyes" ; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIFFReadScanline in -ltiff" >&5
+$as_echo_n "checking for TIFFReadScanline in -ltiff... " >&6; }
+if test "${ac_cv_lib_tiff_TIFFReadScanline+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltiff  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char TIFFReadScanline ();
+int
+main ()
+{
+return TIFFReadScanline ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_tiff_TIFFReadScanline=yes
+else
+  ac_cv_lib_tiff_TIFFReadScanline=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tiff_TIFFReadScanline" >&5
+$as_echo "$ac_cv_lib_tiff_TIFFReadScanline" >&6; }
+if test "x$ac_cv_lib_tiff_TIFFReadScanline" = x""yes; then :
+
+       evas_image_loader_tiff_libs="-ltiff"
+
+else
+  have_dep="no"
+
+fi
+
+
+   if test "x${have_dep}"  = "xno" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIFFReadScanline in -ltiff" >&5
+$as_echo_n "checking for TIFFReadScanline in -ltiff... " >&6; }
+if test "${ac_cv_lib_tiff_TIFFReadScanline+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltiff  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char TIFFReadScanline ();
+int
+main ()
+{
+return TIFFReadScanline ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_tiff_TIFFReadScanline=yes
+else
+  ac_cv_lib_tiff_TIFFReadScanline=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tiff_TIFFReadScanline" >&5
+$as_echo "$ac_cv_lib_tiff_TIFFReadScanline" >&6; }
+if test "x$ac_cv_lib_tiff_TIFFReadScanline" = x""yes; then :
+
+          have_dep="yes"
+          evas_image_loader_tiff_libs="-ltiff -ljpeg -lz -lm"
+
+
+fi
+
+   fi
+
+   if test "x${have_dep}"  = "xno" ; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for TIFFReadScanline in -ltiff34" >&5
+$as_echo_n "checking for TIFFReadScanline in -ltiff34... " >&6; }
+if test "${ac_cv_lib_tiff34_TIFFReadScanline+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-ltiff34  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char TIFFReadScanline ();
+int
+main ()
+{
+return TIFFReadScanline ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_tiff34_TIFFReadScanline=yes
+else
+  ac_cv_lib_tiff34_TIFFReadScanline=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_tiff34_TIFFReadScanline" >&5
+$as_echo "$ac_cv_lib_tiff34_TIFFReadScanline" >&6; }
+if test "x$ac_cv_lib_tiff34_TIFFReadScanline" = x""yes; then :
+
+          have_dep="yes"
+          evas_image_loader_tiff_libs="-ltiff34 -ljpeg -lz -lm"
+
+
+fi
+
+   fi
+fi
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "Tiff dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Tiff image loader will be built" >&5
+$as_echo_n "checking whether Tiff image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_tiff="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_tiff="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_TIFF 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_TIFF_TRUE=
+  BUILD_LOADER_TIFF_FALSE='#'
+else
+  BUILD_LOADER_TIFF_TRUE='#'
+  BUILD_LOADER_TIFF_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_TIFF 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_TIFF_TRUE=
+  EVAS_STATIC_BUILD_TIFF_FALSE='#'
+else
+  EVAS_STATIC_BUILD_TIFF_TRUE='#'
+  EVAS_STATIC_BUILD_TIFF_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_xpm}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_xpm="no"
+
+# Check whether --enable-image-loader-xpm was given.
+if test "${enable_image_loader_xpm+set}" = set; then :
+  enableval=$enable_image_loader_xpm;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable XPM image loader" >&5
+$as_echo_n "checking whether to enable XPM image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+have_dep="yes"
+evas_image_loader_xpm_cflags=""
+evas_image_loader_xpm_libs=""
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "XPM dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether XPM image loader will be built" >&5
+$as_echo_n "checking whether XPM image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_xpm="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_xpm="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_XPM 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_XPM_TRUE=
+  BUILD_LOADER_XPM_FALSE='#'
+else
+  BUILD_LOADER_XPM_TRUE='#'
+  BUILD_LOADER_XPM_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_XPM 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_XPM_TRUE=
+  EVAS_STATIC_BUILD_XPM_FALSE='#'
+else
+  EVAS_STATIC_BUILD_XPM_TRUE='#'
+  EVAS_STATIC_BUILD_XPM_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_bmp}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_bmp="no"
+
+# Check whether --enable-image-loader-bmp was given.
+if test "${enable_image_loader_bmp+set}" = set; then :
+  enableval=$enable_image_loader_bmp;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable BMP image loader" >&5
+$as_echo_n "checking whether to enable BMP image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+have_dep="yes"
+evas_image_loader_bmp_cflags=""
+evas_image_loader_bmp_libs=""
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "BMP dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BMP image loader will be built" >&5
+$as_echo_n "checking whether BMP image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_bmp="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_bmp="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_BMP 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_BMP_TRUE=
+  BUILD_LOADER_BMP_FALSE='#'
+else
+  BUILD_LOADER_BMP_TRUE='#'
+  BUILD_LOADER_BMP_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_BMP 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_BMP_TRUE=
+  EVAS_STATIC_BUILD_BMP_FALSE='#'
+else
+  EVAS_STATIC_BUILD_BMP_TRUE='#'
+  EVAS_STATIC_BUILD_BMP_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_tga}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_tga="no"
+
+# Check whether --enable-image-loader-tga was given.
+if test "${enable_image_loader_tga+set}" = set; then :
+  enableval=$enable_image_loader_tga;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable TGA image loader" >&5
+$as_echo_n "checking whether to enable TGA image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+have_dep="yes"
+evas_image_loader_tga_cflags=""
+evas_image_loader_tga_libs=""
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "TGA dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether TGA image loader will be built" >&5
+$as_echo_n "checking whether TGA image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_tga="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_tga="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_TGA 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_TGA_TRUE=
+  BUILD_LOADER_TGA_FALSE='#'
+else
+  BUILD_LOADER_TGA_TRUE='#'
+  BUILD_LOADER_TGA_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_TGA 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_TGA_TRUE=
+  EVAS_STATIC_BUILD_TGA_FALSE='#'
+else
+  EVAS_STATIC_BUILD_TGA_TRUE='#'
+  EVAS_STATIC_BUILD_TGA_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_wbmp}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_wbmp="no"
+
+# Check whether --enable-image-loader-wbmp was given.
+if test "${enable_image_loader_wbmp+set}" = set; then :
+  enableval=$enable_image_loader_wbmp;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable WBMP image loader" >&5
+$as_echo_n "checking whether to enable WBMP image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+have_dep="yes"
+evas_image_loader_wbmp_cflags=""
+evas_image_loader_wbmp_libs=""
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "WBMP dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether WBMP image loader will be built" >&5
+$as_echo_n "checking whether WBMP image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_wbmp="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_wbmp="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_WBMP 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_WBMP_TRUE=
+  BUILD_LOADER_WBMP_FALSE='#'
+else
+  BUILD_LOADER_WBMP_TRUE='#'
+  BUILD_LOADER_WBMP_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_WBMP 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_WBMP_TRUE=
+  EVAS_STATIC_BUILD_WBMP_FALSE='#'
+else
+  EVAS_STATIC_BUILD_WBMP_TRUE='#'
+  EVAS_STATIC_BUILD_WBMP_FALSE=
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+want_loader="${want_evas_image_loader_ico}"
+want_static_loader="no"
+have_loader="no"
+have_evas_image_loader_ico="no"
+
+# Check whether --enable-image-loader-ico was given.
+if test "${enable_image_loader_ico+set}" = set; then :
+  enableval=$enable_image_loader_ico;
+    if test "x${enableval}" = "xyes" ; then
+       want_loader="yes"
+    else
+       if test "x${enableval}" = "xstatic" ; then
+          want_loader="static"
+       else
+          want_loader="no"
+       fi
+    fi
+
+
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable ICO image loader" >&5
+$as_echo_n "checking whether to enable ICO image loader... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${want_loader}" >&5
+$as_echo "${want_loader}" >&6; }
+
+if test "x${want_loader}" = "xyes" -o "x${want_loader}" = "xstatic" -o "x${want_loader}" = "xauto"; then
+
+
+have_dep="yes"
+evas_image_loader_ico_cflags=""
+evas_image_loader_ico_libs=""
+
+
+
+
+if test "x${have_dep}" = "xyes" ; then
+  have_loader="yes"
+else
+  have_loader="no"
+fi
+
+
+fi
+
+if test "x${have_loader}" = "xno" -a "x${want_loader}" = "xyes" -a "x${use_strict}" = "xyes" ; then
+   as_fn_error $? "ICO dependencies not found (strict dependencies checking)" "$LINENO" 5
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ICO image loader will be built" >&5
+$as_echo_n "checking whether ICO image loader will be built... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${have_loader}" >&5
+$as_echo "${have_loader}" >&6; }
+
+if test "x${have_loader}" = "xyes" ; then
+   if test "x${want_loader}" = "xstatic" ; then
+      have_evas_image_loader_ico="static"
+      want_static_loader="yes"
+   else
+      have_evas_image_loader_ico="yes"
+   fi
+fi
+
+if test "x${have_loader}" = "xyes" ; then
+
+$as_echo "#define BUILD_LOADER_ICO 1" >>confdefs.h
+
+fi
+
+ if test "x${have_loader}" = "xyes"; then
+  BUILD_LOADER_ICO_TRUE=
+  BUILD_LOADER_ICO_FALSE='#'
+else
+  BUILD_LOADER_ICO_TRUE='#'
+  BUILD_LOADER_ICO_FALSE=
+fi
+
+
+if test "x${want_static_loader}" = "xyes" ; then
+
+$as_echo "#define EVAS_STATIC_BUILD_ICO 1" >>confdefs.h
+
+   have_static_module="yes"
+fi
+
+ if test "x${want_static_loader}" = "xyes"; then
+  EVAS_STATIC_BUILD_ICO_TRUE=
+  EVAS_STATIC_BUILD_ICO_FALSE='#'
+else
+  EVAS_STATIC_BUILD_ICO_TRUE='#'
+  EVAS_STATIC_BUILD_ICO_FALSE=
+fi
+
+
+
+
+
+
+
+#####################################################################
+## Cpu based optimizations
+
+#######################################
+## PTHREADS
+pthread_cflags=""
+pthread_libs=""
+build_pthreads="no"
+has_pthreads="no"
+need_pthreads="no"
+# basic pthread support
+ac_fn_c_check_header_mongrel "$LINENO" "pthread.h" "ac_cv_header_pthread_h" "$ac_includes_default"
+if test "x$ac_cv_header_pthread_h" = x""yes; then :
+
+   has_pthreads="yes"
+
+else
+
+   has_pthreads="no"
+
+
+fi
+
+
+
+# sched_getaffinity pthread_attr_setaffinity_np
+for ac_header in pthread.h sched.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_attr_setaffinity_np in -lpthread" >&5
+$as_echo_n "checking for pthread_attr_setaffinity_np in -lpthread... " >&6; }
+if test "${ac_cv_lib_pthread_pthread_attr_setaffinity_np+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_attr_setaffinity_np ();
+int
+main ()
+{
+return pthread_attr_setaffinity_np ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_pthread_pthread_attr_setaffinity_np=yes
+else
+  ac_cv_lib_pthread_pthread_attr_setaffinity_np=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_attr_setaffinity_np" >&5
+$as_echo "$ac_cv_lib_pthread_pthread_attr_setaffinity_np" >&6; }
+if test "x$ac_cv_lib_pthread_pthread_attr_setaffinity_np" = x""yes; then :
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_barrier_wait in -lpthread" >&5
+$as_echo_n "checking for pthread_barrier_wait in -lpthread... " >&6; }
+if test "${ac_cv_lib_pthread_pthread_barrier_wait+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lpthread  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char pthread_barrier_wait ();
+int
+main ()
+{
+return pthread_barrier_wait ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_pthread_pthread_barrier_wait=yes
+else
+  ac_cv_lib_pthread_pthread_barrier_wait=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_pthread_pthread_barrier_wait" >&5
+$as_echo "$ac_cv_lib_pthread_pthread_barrier_wait" >&6; }
+if test "x$ac_cv_lib_pthread_pthread_barrier_wait" = x""yes; then :
+   build_pthreads="yes"
+else
+   build_pthreads="no"
+
+fi
+
+
+else
+   build_pthreads="no"
+
+fi
+
+
+else
+   build_pthreads="no"
+
+fi
+
+done
+
+
+#######################################
+## Pthread
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build pthread code" >&5
+$as_echo_n "checking whether to build pthread code... " >&6; }
+# Check whether --enable-pthreads was given.
+if test "${enable_pthreads+set}" = set; then :
+  enableval=$enable_pthreads;
+    if test "x$enableval" = "xyes" ; then
+      if test "x$build_pthreads" = "xyes"; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define BUILD_PTHREAD 1" >>confdefs.h
+
+        build_pthreads="yes"
+        need_pthreads="yes"
+      else
+        if "x$use_strict" = "xyes"; then
+          as_fn_error $? "pthreads headers or functions not found (strict dependencies checking)" "$LINENO" 5
+        else
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: no: pthread headers or functions not found" >&5
+$as_echo "no: pthread headers or functions not found" >&6; }
+        fi
+      fi
+    else
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+      build_pthreads="no"
+    fi
+
+else
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_pthreads" >&5
+$as_echo "$build_pthreads" >&6; }
+    if test "x$build_pthreads" = "xyes" ; then
+
+$as_echo "#define BUILD_PTHREAD 1" >>confdefs.h
+
+      need_pthreads="yes"
+    fi
+
+
+fi
+
+
+#######################################
+## Pipe Renderer
+build_pipe_render="no"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Threaded Pipe Rendering support" >&5
+$as_echo_n "checking whether to build Threaded Pipe Rendering support... " >&6; }
+# Check whether --enable-pipe-render was given.
+if test "${enable_pipe_render+set}" = set; then :
+  enableval=$enable_pipe_render;  build_pipe_render=$enableval
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_pipe_render" >&5
+$as_echo "$build_pipe_render" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build Threaded Pipe Rendering support" >&5
+$as_echo_n "checking whether we can build Threaded Pipe Rendering support... " >&6; }
+if test \( "x$build_pipe_render" = "xyes" -o "x$build_pipe_render" = "xauto" \); then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define BUILD_PIPE_RENDER 1" >>confdefs.h
+
+  build_pipe_render="yes"
+  need_pthreads="yes"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  build_pipe_render="no"
+fi
+
+#######################################
+## Async Renderer
+build_async_render="no"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Asynchronously Threaded Pipe Rendering support" >&5
+$as_echo_n "checking whether to build Asynchronously Threaded Pipe Rendering support... " >&6; }
+# Check whether --enable-async-render was given.
+if test "${enable_async_render+set}" = set; then :
+  enableval=$enable_async_render;  build_async_render=$enableval
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_async_render" >&5
+$as_echo "$build_async_render" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build Asynchronously Threaded Pipe Rendering support" >&5
+$as_echo_n "checking whether we can build Asynchronously Threaded Pipe Rendering support... " >&6; }
+if test \( "x$build_async_render" = "xyes" \); then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define EVAS_FRAME_QUEUING 1" >>confdefs.h
+
+  build_async_render="yes"
+
+$as_echo "#define BUILD_PIPE_RENDER 1" >>confdefs.h
+
+  build_pipe_render="yes"
+  need_pthreads="yes"
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XEXT" >&5
+$as_echo_n "checking for XEXT... " >&6; }
+
+if test -n "$XEXT_CFLAGS"; then
+    pkg_cv_XEXT_CFLAGS="$XEXT_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xext < 1.1.1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "xext < 1.1.1") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_XEXT_CFLAGS=`$PKG_CONFIG --cflags "xext < 1.1.1" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$XEXT_LIBS"; then
+    pkg_cv_XEXT_LIBS="$XEXT_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xext < 1.1.1\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "xext < 1.1.1") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_XEXT_LIBS=`$PKG_CONFIG --libs "xext < 1.1.1" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               XEXT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "xext < 1.1.1" 2>&1`
+        else
+               XEXT_PKG_ERRORS=`$PKG_CONFIG --print-errors "xext < 1.1.1" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$XEXT_PKG_ERRORS" >&5
+
+        build_avoid_libXext_bug=no
+
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        build_avoid_libXext_bug=no
+
+else
+       XEXT_CFLAGS=$pkg_cv_XEXT_CFLAGS
+       XEXT_LIBS=$pkg_cv_XEXT_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+        build_avoid_libXext_bug=yes
+fi
+  if test \( "x$build_avoid_libXext_bug" = "xyes" \); then
+
+$as_echo "#define LIBXEXT_VERSION_LOW 1" >>confdefs.h
+
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  build_async_render="no"
+fi
+
+#######################################
+## Async events
+build_async_events="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Async Events support" >&5
+$as_echo_n "checking whether to build Async Events support... " >&6; }
+# Check whether --enable-async-events was given.
+if test "${enable_async_events+set}" = set; then :
+  enableval=$enable_async_events;  build_async_events=$enableval
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_async_events" >&5
+$as_echo "$build_async_events" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build Async Events support" >&5
+$as_echo_n "checking whether we can build Async Events support... " >&6; }
+if test "x$build_async_events" = "xyes" || test "x$build_async_events" = "xauto" ; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define BUILD_ASYNC_EVENTS 1" >>confdefs.h
+
+  build_async_events="yes"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  build_async_events="no"
+fi
+
+#######################################
+## Async image preload
+build_async_preload="auto"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build Async Image Preload support" >&5
+$as_echo_n "checking whether to build Async Image Preload support... " >&6; }
+# Check whether --enable-async-preload was given.
+if test "${enable_async_preload+set}" = set; then :
+  enableval=$enable_async_preload;  build_async_preload=$enableval
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_async_preload" >&5
+$as_echo "$build_async_preload" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we can build Async Image Preload support" >&5
+$as_echo_n "checking whether we can build Async Image Preload support... " >&6; }
+if test \( "x$build_async_preload" = "xyes" -o "x$build_async_preload" = "xauto" \) -a "x$build_async_events" = "xyes"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define BUILD_ASYNC_PRELOAD 1" >>confdefs.h
+
+  build_async_preload="yes"
+  need_pthreads="yes"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  build_async_preload="no"
+fi
+
+#######################################
+## Link with pthread if needed
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we should link with pthread" >&5
+$as_echo_n "checking whether we should link with pthread... " >&6; }
+if test "x$need_pthreads" = "xyes"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  pthread_cflags=""
+  pthread_libs="-lpthread"
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+#######################################
+## MMX
+build_cpu_mmx="no"
+case $host_cpu in
+  i*86)
+    build_cpu_mmx="yes"
+    ;;
+  x86_64)
+    build_cpu_mmx="yes"
+    ;;
+  amd64)
+    build_cpu_mmx="yes"
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build mmx code" >&5
+$as_echo_n "checking whether to build mmx code... " >&6; }
+# Check whether --enable-cpu-mmx was given.
+if test "${enable_cpu_mmx+set}" = set; then :
+  enableval=$enable_cpu_mmx;
+      if test "x$enableval" = "xyes" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define BUILD_MMX 1" >>confdefs.h
+
+        build_cpu_mmx="yes"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        build_cpu_mmx="no"
+      fi
+
+else
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_cpu_mmx" >&5
+$as_echo "$build_cpu_mmx" >&6; }
+    if test "x$build_cpu_mmx" = "xyes" ; then
+
+$as_echo "#define BUILD_MMX 1" >>confdefs.h
+
+    fi
+
+
+fi
+
+
+#######################################
+## SSE
+build_cpu_sse="no"
+case $host_cpu in
+  i*86)
+    build_cpu_sse="yes"
+    ;;
+  x86_64)
+    build_cpu_sse="yes"
+    ;;
+  amd64)
+    build_cpu_sse="yes"
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build sse code" >&5
+$as_echo_n "checking whether to build sse code... " >&6; }
+# Check whether --enable-cpu-sse was given.
+if test "${enable_cpu_sse+set}" = set; then :
+  enableval=$enable_cpu_sse;
+      if test "x$enableval" = "xyes" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define BUILD_SSE 1" >>confdefs.h
+
+        build_cpu_sse="yes"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        build_cpu_sse="no"
+      fi
+
+else
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_cpu_sse" >&5
+$as_echo "$build_cpu_sse" >&6; }
+    if test "x$build_cpu_sse" = "xyes" ; then
+
+$as_echo "#define BUILD_SSE 1" >>confdefs.h
+
+    fi
+
+
+fi
+
+
+#######################################
+## ALTIVEC
+build_cpu_altivec="no"
+case $host_cpu in
+  *power* | *ppc*)
+    build_cpu_altivec="auto"
+    ;;
+esac
+altivec_cflags=""
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build altivec code" >&5
+$as_echo_n "checking whether to build altivec code... " >&6; }
+# Check whether --enable-cpu-altivec was given.
+if test "${enable_cpu_altivec+set}" = set; then :
+  enableval=$enable_cpu_altivec;  build_cpu_altivec=$enableval
+else
+
+    if test ! "x$build_cpu_altivec" = "xauto"; then
+      build_cpu_altivec="no"
+    fi
+
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_cpu_altivec" >&5
+$as_echo "$build_cpu_altivec" >&6; }
+
+if test "x$build_cpu_altivec" = "xyes"; then
+   ac_fn_c_check_header_mongrel "$LINENO" "altivec.h" "ac_cv_header_altivec_h" "$ac_includes_default"
+if test "x$ac_cv_header_altivec_h" = x""yes; then :
+
+
+$as_echo "#define BUILD_ALTIVEC 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_ALTIVEC_H 1" >>confdefs.h
+
+        build_cpu_altivec="yes"
+
+else
+
+       save_CFLAGS=$CFLAGS
+       save_CPPFLAGS=$CPPFLAGS
+       CFLAGS=$CFLAGS" -maltivec"
+       CPPFLAGS=$CPPFLAGS" -maltivec"
+       unset ac_cv_header_altivec_h
+       ac_fn_c_check_header_mongrel "$LINENO" "altivec.h" "ac_cv_header_altivec_h" "$ac_includes_default"
+if test "x$ac_cv_header_altivec_h" = x""yes; then :
+
+
+$as_echo "#define BUILD_ALTIVEC 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_ALTIVEC_H 1" >>confdefs.h
+
+            build_cpu_altivec="yes"
+
+else
+
+            if test "x$build_cpu_altivec" = "xyes" -a "x$use_strict" = "xyes" ; then
+              as_fn_error $? "Altivec not found (strict dependencies checking)" "$LINENO" 5
+            fi
+            build_cpu_altivec="no"
+
+
+fi
+
+
+       CFLAGS=$save_CFLAGS
+       CPPFLAGS=$save_CPPFLAGS
+
+
+fi
+
+
+fi
+
+if test "x$build_cpu_altivec" = "xyes"; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use altivec compiler flag" >&5
+$as_echo_n "checking whether to use altivec compiler flag... " >&6; }
+   if test "x$GCC" = "xyes"; then
+      if echo "int main(){return 0;}" | ${CPP} -faltivec - > /dev/null 2>&1; then
+         altivec_cflags="-faltivec"
+
+$as_echo "#define BUILD_ALTIVEC 1" >>confdefs.h
+
+      elif echo "int main(){return 0;}" | ${CPP} -maltivec - > /dev/null 2>&1; then
+         altivec_cflags="-maltivec"
+
+$as_echo "#define BUILD_ALTIVEC 1" >>confdefs.h
+
+      fi
+   fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $altivec_cflags" >&5
+$as_echo "$altivec_cflags" >&6; }
+   CFLAGS="$CFLAGS $altivec_cflags"
+fi
+
+#######################################
+## NEON
+build_cpu_neon="no"
+case $host_cpu in
+  arm*)
+    build_cpu_neon="yes"
+    ;;
+esac
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build neon code" >&5
+$as_echo_n "checking whether to build neon code... " >&6; }
+# Check whether --enable-cpu-neon was given.
+if test "${enable_cpu_neon+set}" = set; then :
+  enableval=$enable_cpu_neon;
+     if test "x$enableval" = "xyes" ; then
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+asm volatile (".fpu neon\nvqadd.u8 d0, d1, d0\n")
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define BUILD_NEON 1" >>confdefs.h
+
+          build_cpu_neon="yes"
+
+else
+
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+          build_cpu_neon="no"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        build_cpu_neon="no"
+      fi
+
+else
+
+    if test "x$build_cpu_neon" = "xyes" ; then
+       cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <arm_neon.h>
+int
+main ()
+{
+asm volatile ("vqadd.u8 d0, d1, d0\n")
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define BUILD_NEON 1" >>confdefs.h
+
+          build_cpu_neon="yes"
+
+else
+
+          { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+          build_cpu_neon="no"
+
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+    fi
+
+
+fi
+
+
+#######################################
+## C
+build_cpu_c="yes"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build c code" >&5
+$as_echo_n "checking whether to build c code... " >&6; }
+# Check whether --enable-cpu-c was given.
+if test "${enable_cpu_c+set}" = set; then :
+  enableval=$enable_cpu_c;
+      if test "x$enableval" = "xyes" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define BUILD_C 1" >>confdefs.h
+
+        build_cpu_c="yes"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        build_cpu_c="no"
+      fi
+
+else
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $build_cpu_c" >&5
+$as_echo "$build_cpu_c" >&6; }
+      if test "x$build_cpu_c" = "xyes" ; then
+
+$as_echo "#define BUILD_C 1" >>confdefs.h
+
+      fi
+
+
+fi
+
+
+#######################################
+## MAGIC_DEBUG
+want_evas_magic_debug="yes"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to check magic for evas object" >&5
+$as_echo_n "checking whether to check magic for evas object... " >&6; }
+# Check whether --enable-evas-magic-debug was given.
+if test "${enable_evas_magic_debug+set}" = set; then :
+  enableval=$enable_evas_magic_debug;  want_evas_magic_debug="$enableval"
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $want_evas_magic_debug" >&5
+$as_echo "$want_evas_magic_debug" >&6; }
+
+ if test "x$want_evas_magic_debug" = "xyes"; then
+  EVAS_MAGIC_DEBUG_TRUE=
+  EVAS_MAGIC_DEBUG_FALSE='#'
+else
+  EVAS_MAGIC_DEBUG_TRUE='#'
+  EVAS_MAGIC_DEBUG_FALSE=
+fi
+
+if test "x$want_evas_magic_debug" = "xyes"; then
+
+$as_echo "#define EVAS_MAGIC_DEBUG 1" >>confdefs.h
+
+fi
+
+
+#######################################
+## Word Caching
+want_word_cache="no"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable caching of rendered words" >&5
+$as_echo_n "checking whether to enable caching of rendered words... " >&6; }
+# Check whether --enable-word-cache was given.
+if test "${enable_word_cache+set}" = set; then :
+  enableval=$enable_word_cache;  want_word_cache="$enableval"
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $want_word_cache" >&5
+$as_echo "$want_word_cache" >&6; }
+
+ if test "x$want_word_cache" = "xyes"; then
+  WORD_CACHE_TRUE=
+  WORD_CACHE_FALSE='#'
+else
+  WORD_CACHE_TRUE='#'
+  WORD_CACHE_FALSE=
+fi
+
+if test "x$want_word_cache" = "xyes"; then
+
+$as_echo "#define WORD_CACHE 1" >>confdefs.h
+
+fi
+
+#######################################
+## Metric Caching
+want_metric_cache="no"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable caching of rendered metrics" >&5
+$as_echo_n "checking whether to enable caching of rendered metrics... " >&6; }
+# Check whether --enable-metric-cache was given.
+if test "${enable_metric_cache+set}" = set; then :
+  enableval=$enable_metric_cache;  want_metric_cache="$enableval"
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $want_metric_cache" >&5
+$as_echo "$want_metric_cache" >&6; }
+
+ if test "x$want_metric_cache" = "xyes"; then
+  METRIC_CACHE_TRUE=
+  METRIC_CACHE_FALSE='#'
+else
+  METRIC_CACHE_TRUE='#'
+  METRIC_CACHE_FALSE=
+fi
+
+if test "x$want_metric_cache" = "xyes"; then
+
+$as_echo "#define METRIC_CACHE 1" >>confdefs.h
+
+fi
+
+
+
+#####################################################################
+## ARGB engine options
+
+#######################################
+## Nearest sampling scaler
+
+
+# Check whether --enable-scale-sample was given.
+if test "${enable_scale_sample+set}" = set; then :
+  enableval=$enable_scale_sample;
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_scaler_option_scale_sample="yes"
+    else
+       _efl_enable_scaler_option_scale_sample="no"
+    fi
+
+else
+  _efl_enable_scaler_option_scale_sample="yes"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build sampling scaler" >&5
+$as_echo_n "checking whether to build sampling scaler... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_enable_scaler_option_scale_sample}" >&5
+$as_echo "${_efl_enable_scaler_option_scale_sample}" >&6; }
+
+if test "x${_efl_enable_scaler_option_scale_sample}" = "xyes" ; then
+
+$as_echo "#define BUILD_SCALE_SAMPLE 1" >>confdefs.h
+
+fi
+
+if test "x${_efl_enable_scaler_option_scale_sample}" = "xyes" ; then
+   scaler_sample="yes"
+else
+   scaler_sample="no"
+fi
+
+
+
+
+## Smooth super and sub sampling scaler
+
+
+# Check whether --enable-scale-smooth was given.
+if test "${enable_scale_smooth+set}" = set; then :
+  enableval=$enable_scale_smooth;
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_scaler_option_scale_smooth="yes"
+    else
+       _efl_enable_scaler_option_scale_smooth="no"
+    fi
+
+else
+  _efl_enable_scaler_option_scale_smooth="yes"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build smooth scaler" >&5
+$as_echo_n "checking whether to build smooth scaler... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_enable_scaler_option_scale_smooth}" >&5
+$as_echo "${_efl_enable_scaler_option_scale_smooth}" >&6; }
+
+if test "x${_efl_enable_scaler_option_scale_smooth}" = "xyes" ; then
+
+$as_echo "#define BUILD_SCALE_SMOOTH 1" >>confdefs.h
+
+fi
+
+if test "x${_efl_enable_scaler_option_scale_smooth}" = "xyes" ; then
+   scaler_smooth="yes"
+else
+   scaler_smooth="no"
+fi
+
+
+
+
+
+#######################################
+## YUV -> ARGB converter
+conv_yuv="no"
+conv_yuv="yes"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build yuv converter code" >&5
+$as_echo_n "checking whether to build yuv converter code... " >&6; }
+# Check whether --enable-convert-yuv was given.
+if test "${enable_convert_yuv+set}" = set; then :
+  enableval=$enable_convert_yuv;
+      if test "x$enableval" = "xyes" ; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define BUILD_CONVERT_YUV 1" >>confdefs.h
+
+        conv_yuv="yes"
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+        conv_yuv="no"
+      fi
+
+else
+
+      { $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_yuv" >&5
+$as_echo "$conv_yuv" >&6; }
+      if test "x$conv_yuv" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_YUV 1" >>confdefs.h
+
+      fi
+
+
+fi
+
+
+#####################################################################
+## Output rendering features
+
+#######################################
+## Small dither mask instead of big one (lower quality)
+
+
+# Check whether --enable-small-dither-mask was given.
+if test "${enable_small_dither_mask+set}" = set; then :
+  enableval=$enable_small_dither_mask;
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_dither_option_small_dither_mask="yes"
+    else
+       _efl_enable_dither_option_small_dither_mask="no"
+    fi
+
+else
+  _efl_enable_dither_option_small_dither_mask="no"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build small dither mask" >&5
+$as_echo_n "checking whether to build small dither mask... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_enable_dither_option_small_dither_mask}" >&5
+$as_echo "${_efl_enable_dither_option_small_dither_mask}" >&6; }
+
+if test "x${_efl_enable_dither_option_small_dither_mask}" = "xyes" ; then
+
+$as_echo "#define BUILD_SMALL_DITHER_MASK 1" >>confdefs.h
+
+fi
+
+if test "x${_efl_enable_dither_option_small_dither_mask}" = "xyes" ; then
+   conv_small_dither="yes"
+else
+   conv_small_dither="no"
+fi
+
+
+
+
+## Alternate Line dither mask instead of big one (lower quality - but fastest)
+
+
+# Check whether --enable-line-dither-mask was given.
+if test "${enable_line_dither_mask+set}" = set; then :
+  enableval=$enable_line_dither_mask;
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_dither_option_line_dither_mask="yes"
+    else
+       _efl_enable_dither_option_line_dither_mask="no"
+    fi
+
+else
+  _efl_enable_dither_option_line_dither_mask="no"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build line dither mask" >&5
+$as_echo_n "checking whether to build line dither mask... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_enable_dither_option_line_dither_mask}" >&5
+$as_echo "${_efl_enable_dither_option_line_dither_mask}" >&6; }
+
+if test "x${_efl_enable_dither_option_line_dither_mask}" = "xyes" ; then
+
+$as_echo "#define BUILD_LINE_DITHER_MASK 1" >>confdefs.h
+
+fi
+
+if test "x${_efl_enable_dither_option_line_dither_mask}" = "xyes" ; then
+   conv_line_dither="yes"
+else
+   conv_line_dither="no"
+fi
+
+
+
+
+## No dither mask at all for 16bpp
+
+
+# Check whether --enable-no-dither-mask was given.
+if test "${enable_no_dither_mask+set}" = set; then :
+  enableval=$enable_no_dither_mask;
+    if test "x${enableval}" = "xyes" ; then
+       _efl_enable_dither_option_no_dither_mask="yes"
+    else
+       _efl_enable_dither_option_no_dither_mask="no"
+    fi
+
+else
+  _efl_enable_dither_option_no_dither_mask="no"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build conversion to 16bpp without dither mask" >&5
+$as_echo_n "checking whether to build conversion to 16bpp without dither mask... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_efl_enable_dither_option_no_dither_mask}" >&5
+$as_echo "${_efl_enable_dither_option_no_dither_mask}" >&6; }
+
+if test "x${_efl_enable_dither_option_no_dither_mask}" = "xyes" ; then
+
+$as_echo "#define BUILD_NO_DITHER_MASK 1" >>confdefs.h
+
+fi
+
+if test "x${_efl_enable_dither_option_no_dither_mask}" = "xyes" ; then
+   conv_no_dither="yes"
+else
+   conv_no_dither="no"
+fi
+
+
+
+
+
+#######################################
+## Convert to 8bpp RGB 332
+
+
+conv_8_rgb_332="no"
+
+
+  # Check whether --enable-convert-8-rgb-332 was given.
+if test "${enable_convert_8_rgb_332+set}" = set; then :
+  enableval=$enable_convert_8_rgb_332;  conv_8_rgb_332=$enableval
+else
+   conv_8_rgb_332=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 8bpp RGB 332 converter code" >&5
+$as_echo_n "checking whether to build 8bpp RGB 332 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_8_rgb_332" >&5
+$as_echo "$conv_8_rgb_332" >&6; }
+
+if test "x$conv_8_rgb_332" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_8_RGB_332 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 8bpp RGB 666
+
+
+conv_8_rgb_666="no"
+
+
+  # Check whether --enable-convert-8-rgb-666 was given.
+if test "${enable_convert_8_rgb_666+set}" = set; then :
+  enableval=$enable_convert_8_rgb_666;  conv_8_rgb_666=$enableval
+else
+   conv_8_rgb_666=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 8bpp RGB 666 converter code" >&5
+$as_echo_n "checking whether to build 8bpp RGB 666 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_8_rgb_666" >&5
+$as_echo "$conv_8_rgb_666" >&6; }
+
+if test "x$conv_8_rgb_666" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_8_RGB_666 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 8bpp RGB 232
+
+
+conv_8_rgb_232="no"
+
+
+  # Check whether --enable-convert-8-rgb-232 was given.
+if test "${enable_convert_8_rgb_232+set}" = set; then :
+  enableval=$enable_convert_8_rgb_232;  conv_8_rgb_232=$enableval
+else
+   conv_8_rgb_232=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 8bpp RGB 232 converter code" >&5
+$as_echo_n "checking whether to build 8bpp RGB 232 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_8_rgb_232" >&5
+$as_echo "$conv_8_rgb_232" >&6; }
+
+if test "x$conv_8_rgb_232" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_8_RGB_232 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 8bpp RGB 222
+
+
+conv_8_rgb_222="no"
+
+
+  # Check whether --enable-convert-8-rgb-222 was given.
+if test "${enable_convert_8_rgb_222+set}" = set; then :
+  enableval=$enable_convert_8_rgb_222;  conv_8_rgb_222=$enableval
+else
+   conv_8_rgb_222=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 8bpp RGB 222 converter code" >&5
+$as_echo_n "checking whether to build 8bpp RGB 222 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_8_rgb_222" >&5
+$as_echo "$conv_8_rgb_222" >&6; }
+
+if test "x$conv_8_rgb_222" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_8_RGB_222 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 8bpp RGB 221
+
+
+conv_8_rgb_221="no"
+
+
+  # Check whether --enable-convert-8-rgb-221 was given.
+if test "${enable_convert_8_rgb_221+set}" = set; then :
+  enableval=$enable_convert_8_rgb_221;  conv_8_rgb_221=$enableval
+else
+   conv_8_rgb_221=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 8bpp RGB 221 converter code" >&5
+$as_echo_n "checking whether to build 8bpp RGB 221 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_8_rgb_221" >&5
+$as_echo "$conv_8_rgb_221" >&6; }
+
+if test "x$conv_8_rgb_221" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_8_RGB_221 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 8bpp RGB 121
+
+
+conv_8_rgb_121="no"
+
+
+  # Check whether --enable-convert-8-rgb-121 was given.
+if test "${enable_convert_8_rgb_121+set}" = set; then :
+  enableval=$enable_convert_8_rgb_121;  conv_8_rgb_121=$enableval
+else
+   conv_8_rgb_121=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 8bpp RGB 121 converter code" >&5
+$as_echo_n "checking whether to build 8bpp RGB 121 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_8_rgb_121" >&5
+$as_echo "$conv_8_rgb_121" >&6; }
+
+if test "x$conv_8_rgb_121" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_8_RGB_121 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 8bpp RGB 111
+
+
+conv_8_rgb_111="no"
+
+
+  # Check whether --enable-convert-8-rgb-111 was given.
+if test "${enable_convert_8_rgb_111+set}" = set; then :
+  enableval=$enable_convert_8_rgb_111;  conv_8_rgb_111=$enableval
+else
+   conv_8_rgb_111=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 8bpp RGB 111 converter code" >&5
+$as_echo_n "checking whether to build 8bpp RGB 111 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_8_rgb_111" >&5
+$as_echo "$conv_8_rgb_111" >&6; }
+
+if test "x$conv_8_rgb_111" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_8_RGB_111 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 16bpp RGB 565
+
+
+conv_16_rgb_565="no"
+
+
+  # Check whether --enable-convert-16-rgb-565 was given.
+if test "${enable_convert_16_rgb_565+set}" = set; then :
+  enableval=$enable_convert_16_rgb_565;  conv_16_rgb_565=$enableval
+else
+   conv_16_rgb_565=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 16bpp RGB 565 converter code" >&5
+$as_echo_n "checking whether to build 16bpp RGB 565 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_16_rgb_565" >&5
+$as_echo "$conv_16_rgb_565" >&6; }
+
+if test "x$conv_16_rgb_565" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_16_RGB_565 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 16bpp BGR 565
+
+
+conv_16_bgr_565="no"
+
+
+  # Check whether --enable-convert-16-bgr-565 was given.
+if test "${enable_convert_16_bgr_565+set}" = set; then :
+  enableval=$enable_convert_16_bgr_565;  conv_16_bgr_565=$enableval
+else
+   conv_16_bgr_565=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 16bpp BGR 565 converter code" >&5
+$as_echo_n "checking whether to build 16bpp BGR 565 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_16_bgr_565" >&5
+$as_echo "$conv_16_bgr_565" >&6; }
+
+if test "x$conv_16_bgr_565" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_16_BGR_565 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 16bpp RGB 555
+
+
+conv_16_rgb_555="no"
+
+
+  # Check whether --enable-convert-16-rgb-555 was given.
+if test "${enable_convert_16_rgb_555+set}" = set; then :
+  enableval=$enable_convert_16_rgb_555;  conv_16_rgb_555=$enableval
+else
+   conv_16_rgb_555=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 16bpp RGB 555 converter code" >&5
+$as_echo_n "checking whether to build 16bpp RGB 555 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_16_rgb_555" >&5
+$as_echo "$conv_16_rgb_555" >&6; }
+
+if test "x$conv_16_rgb_555" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_16_RGB_555 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 16bpp RGB 444
+
+
+conv_16_rgb_444="no"
+
+
+  # Check whether --enable-convert-16-rgb-444 was given.
+if test "${enable_convert_16_rgb_444+set}" = set; then :
+  enableval=$enable_convert_16_rgb_444;  conv_16_rgb_444=$enableval
+else
+   conv_16_rgb_444=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 16bpp RGB 444 converter code" >&5
+$as_echo_n "checking whether to build 16bpp RGB 444 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_16_rgb_444" >&5
+$as_echo "$conv_16_rgb_444" >&6; }
+
+if test "x$conv_16_rgb_444" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_16_RGB_444 1" >>confdefs.h
+
+fi
+
+
+
+
+
+
+#######################################
+## Convert to 16bpp RGB 565 (444 ipaq)
+conv_16_rgb_ipq="yes"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 16bpp 565 (444 ipaq) converter code" >&5
+$as_echo_n "checking whether to build 16bpp 565 (444 ipaq) converter code... " >&6; }
+# Check whether --enable-convert-16-rgb-ipq was given.
+if test "${enable_convert_16_rgb_ipq+set}" = set; then :
+  enableval=$enable_convert_16_rgb_ipq;
+      if test "x$enableval" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_16_RGB_454645 1" >>confdefs.h
+
+        conv_16_rgb_ipq="yes"
+      else
+        conv_16_rgb_ipq="no"
+      fi
+
+else
+
+      if test "x$conv_16_rgb_ipq" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_16_RGB_454645 1" >>confdefs.h
+
+      fi
+
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_16_rgb_ipq" >&5
+$as_echo "$conv_16_rgb_ipq" >&6; }
+
+#######################################
+## Convert to 16bpp RGB with rotation of 0
+
+
+conv_16_rgb_rot_0="no"
+
+
+  # Check whether --enable-convert-16-rgb-rot-0 was given.
+if test "${enable_convert_16_rgb_rot_0+set}" = set; then :
+  enableval=$enable_convert_16_rgb_rot_0;  conv_16_rgb_rot_0=$enableval
+else
+   conv_16_rgb_rot_0=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 16bpp RGB rotation 0 converter code" >&5
+$as_echo_n "checking whether to build 16bpp RGB rotation 0 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_16_rgb_rot_0" >&5
+$as_echo "$conv_16_rgb_rot_0" >&6; }
+
+if test "x$conv_16_rgb_rot_0" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_16_RGB_ROT0 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 16bpp RGB with rotation of 180
+
+
+conv_16_rgb_rot_180="no"
+
+
+  # Check whether --enable-convert-16-rgb-rot-180 was given.
+if test "${enable_convert_16_rgb_rot_180+set}" = set; then :
+  enableval=$enable_convert_16_rgb_rot_180;  conv_16_rgb_rot_180=$enableval
+else
+   conv_16_rgb_rot_180=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 16bpp RGB rotation 180 converter code" >&5
+$as_echo_n "checking whether to build 16bpp RGB rotation 180 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_16_rgb_rot_180" >&5
+$as_echo "$conv_16_rgb_rot_180" >&6; }
+
+if test "x$conv_16_rgb_rot_180" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_16_RGB_ROT180 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 16bpp RGB with rotation of 270
+
+
+conv_16_rgb_rot_270="no"
+
+
+  # Check whether --enable-convert-16-rgb-rot-270 was given.
+if test "${enable_convert_16_rgb_rot_270+set}" = set; then :
+  enableval=$enable_convert_16_rgb_rot_270;  conv_16_rgb_rot_270=$enableval
+else
+   conv_16_rgb_rot_270=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 16bpp RGB rotation 270 converter code" >&5
+$as_echo_n "checking whether to build 16bpp RGB rotation 270 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_16_rgb_rot_270" >&5
+$as_echo "$conv_16_rgb_rot_270" >&6; }
+
+if test "x$conv_16_rgb_rot_270" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_16_RGB_ROT270 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 16bpp RGB with rotation of 90
+
+
+conv_16_rgb_rot_90="no"
+
+
+  # Check whether --enable-convert-16-rgb-rot-90 was given.
+if test "${enable_convert_16_rgb_rot_90+set}" = set; then :
+  enableval=$enable_convert_16_rgb_rot_90;  conv_16_rgb_rot_90=$enableval
+else
+   conv_16_rgb_rot_90=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 16bpp RGB rotation 90 converter code" >&5
+$as_echo_n "checking whether to build 16bpp RGB rotation 90 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_16_rgb_rot_90" >&5
+$as_echo "$conv_16_rgb_rot_90" >&6; }
+
+if test "x$conv_16_rgb_rot_90" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_16_RGB_ROT90 1" >>confdefs.h
+
+fi
+
+
+
+
+
+
+#######################################
+## Convert to 24bpp RGB 888
+
+
+conv_24_rgb_888="no"
+
+
+  # Check whether --enable-convert-24-rgb-888 was given.
+if test "${enable_convert_24_rgb_888+set}" = set; then :
+  enableval=$enable_convert_24_rgb_888;  conv_24_rgb_888=$enableval
+else
+   conv_24_rgb_888=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 24bpp RGB 888 converter code" >&5
+$as_echo_n "checking whether to build 24bpp RGB 888 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_24_rgb_888" >&5
+$as_echo "$conv_24_rgb_888" >&6; }
+
+if test "x$conv_24_rgb_888" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_24_RGB_888 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 24bpp BGR 888
+
+
+conv_24_bgr_888="no"
+
+
+  # Check whether --enable-convert-24-bgr-888 was given.
+if test "${enable_convert_24_bgr_888+set}" = set; then :
+  enableval=$enable_convert_24_bgr_888;  conv_24_bgr_888=$enableval
+else
+   conv_24_bgr_888=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 24bpp BGR 888 converter code" >&5
+$as_echo_n "checking whether to build 24bpp BGR 888 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_24_bgr_888" >&5
+$as_echo "$conv_24_bgr_888" >&6; }
+
+if test "x$conv_24_bgr_888" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_24_BGR_888 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 32bpp RGB 8888
+
+
+conv_32_rgb_8888="no"
+
+
+  # Check whether --enable-convert-32-rgb-8888 was given.
+if test "${enable_convert_32_rgb_8888+set}" = set; then :
+  enableval=$enable_convert_32_rgb_8888;  conv_32_rgb_8888=$enableval
+else
+   conv_32_rgb_8888=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 32bpp RGB 8888 converter code" >&5
+$as_echo_n "checking whether to build 32bpp RGB 8888 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_32_rgb_8888" >&5
+$as_echo "$conv_32_rgb_8888" >&6; }
+
+if test "x$conv_32_rgb_8888" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_32_RGB_8888 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 32bpp RGBX 8888
+
+
+conv_32_rgbx_8888="no"
+
+
+  # Check whether --enable-convert-32-rgbx-8888 was given.
+if test "${enable_convert_32_rgbx_8888+set}" = set; then :
+  enableval=$enable_convert_32_rgbx_8888;  conv_32_rgbx_8888=$enableval
+else
+   conv_32_rgbx_8888=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 32bpp RGBX 8888 converter code" >&5
+$as_echo_n "checking whether to build 32bpp RGBX 8888 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_32_rgbx_8888" >&5
+$as_echo "$conv_32_rgbx_8888" >&6; }
+
+if test "x$conv_32_rgbx_8888" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_32_RGBX_8888 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 32bpp BGR 8888
+
+
+conv_32_bgr_8888="no"
+
+
+  # Check whether --enable-convert-32-bgr-8888 was given.
+if test "${enable_convert_32_bgr_8888+set}" = set; then :
+  enableval=$enable_convert_32_bgr_8888;  conv_32_bgr_8888=$enableval
+else
+   conv_32_bgr_8888=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 32bpp BGR 8888 converter code" >&5
+$as_echo_n "checking whether to build 32bpp BGR 8888 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_32_bgr_8888" >&5
+$as_echo "$conv_32_bgr_8888" >&6; }
+
+if test "x$conv_32_bgr_8888" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_32_BGR_8888 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 32bpp BGRX 8888
+
+
+conv_32_bgrx_8888="no"
+
+
+  # Check whether --enable-convert-32-bgrx-8888 was given.
+if test "${enable_convert_32_bgrx_8888+set}" = set; then :
+  enableval=$enable_convert_32_bgrx_8888;  conv_32_bgrx_8888=$enableval
+else
+   conv_32_bgrx_8888=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 32bpp BGRX 8888 converter code" >&5
+$as_echo_n "checking whether to build 32bpp BGRX 8888 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_32_bgrx_8888" >&5
+$as_echo "$conv_32_bgrx_8888" >&6; }
+
+if test "x$conv_32_bgrx_8888" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_32_BGRX_8888 1" >>confdefs.h
+
+fi
+
+
+
+
+
+
+#######################################
+## Convert to 24bpp RGB 666 (666 ezx)
+conv_24_rgb_ezx="yes"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 24bpp 666 (666 ezx) converter code" >&5
+$as_echo_n "checking whether to build 24bpp 666 (666 ezx) converter code... " >&6; }
+# Check whether --enable-convert-24-rgb-ezx was given.
+if test "${enable_convert_24_rgb_ezx+set}" = set; then :
+  enableval=$enable_convert_24_rgb_ezx;
+      if test "x$enableval" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_24_RGB_666 1" >>confdefs.h
+
+        conv_24_rgb_ezx="yes"
+      else
+        conv_24_rgb_ezx="no"
+      fi
+
+else
+
+      if test "x$conv_24_rgb_ezx" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_24_RGB_666 1" >>confdefs.h
+
+      fi
+
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_24_rgb_ezx" >&5
+$as_echo "$conv_24_rgb_ezx" >&6; }
+
+#######################################
+## Convert to 32bpp RGB 666 (666 ezx)
+conv_32_rgb_ezx="yes"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 32bpp 666 (666 ezx) converter code" >&5
+$as_echo_n "checking whether to build 32bpp 666 (666 ezx) converter code... " >&6; }
+# Check whether --enable-convert-32-rgb-ezx was given.
+if test "${enable_convert_32_rgb_ezx+set}" = set; then :
+  enableval=$enable_convert_32_rgb_ezx;
+      if test "x$enableval" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_32_RGB_666 1" >>confdefs.h
+
+        conv_32_rgb_ezx="yes"
+      else
+        conv_32_rgb_ezx="no"
+      fi
+
+else
+
+      if test "x$conv_32_rgb_ezx" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_32_RGB_666 1" >>confdefs.h
+
+      fi
+
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_32_rgb_ezx" >&5
+$as_echo "$conv_32_rgb_ezx" >&6; }
+
+#######################################
+## Convert to 32bpp RGB with rotation of 0
+
+
+conv_32_rgb_rot_0="no"
+
+
+  # Check whether --enable-convert-32-rgb-rot-0 was given.
+if test "${enable_convert_32_rgb_rot_0+set}" = set; then :
+  enableval=$enable_convert_32_rgb_rot_0;  conv_32_rgb_rot_0=$enableval
+else
+   conv_32_rgb_rot_0=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 32bpp RGB rotation 0 converter code" >&5
+$as_echo_n "checking whether to build 32bpp RGB rotation 0 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_32_rgb_rot_0" >&5
+$as_echo "$conv_32_rgb_rot_0" >&6; }
+
+if test "x$conv_32_rgb_rot_0" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_32_RGB_ROT0 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 32bpp RGB with rotation of 180
+
+
+conv_32_rgb_rot_180="no"
+
+
+  # Check whether --enable-convert-32-rgb-rot-180 was given.
+if test "${enable_convert_32_rgb_rot_180+set}" = set; then :
+  enableval=$enable_convert_32_rgb_rot_180;  conv_32_rgb_rot_180=$enableval
+else
+   conv_32_rgb_rot_180=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 32bpp RGB rotation 180 converter code" >&5
+$as_echo_n "checking whether to build 32bpp RGB rotation 180 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_32_rgb_rot_180" >&5
+$as_echo "$conv_32_rgb_rot_180" >&6; }
+
+if test "x$conv_32_rgb_rot_180" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_32_RGB_ROT180 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 32bpp RGB with rotation of 270
+
+
+conv_32_rgb_rot_270="no"
+
+
+  # Check whether --enable-convert-32-rgb-rot-270 was given.
+if test "${enable_convert_32_rgb_rot_270+set}" = set; then :
+  enableval=$enable_convert_32_rgb_rot_270;  conv_32_rgb_rot_270=$enableval
+else
+   conv_32_rgb_rot_270=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 32bpp RGB rotation 270 converter code" >&5
+$as_echo_n "checking whether to build 32bpp RGB rotation 270 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_32_rgb_rot_270" >&5
+$as_echo "$conv_32_rgb_rot_270" >&6; }
+
+if test "x$conv_32_rgb_rot_270" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_32_RGB_ROT270 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 32bpp RGB with rotation of 90
+
+
+conv_32_rgb_rot_90="no"
+
+
+  # Check whether --enable-convert-32-rgb-rot-90 was given.
+if test "${enable_convert_32_rgb_rot_90+set}" = set; then :
+  enableval=$enable_convert_32_rgb_rot_90;  conv_32_rgb_rot_90=$enableval
+else
+   conv_32_rgb_rot_90=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 32bpp RGB rotation 90 converter code" >&5
+$as_echo_n "checking whether to build 32bpp RGB rotation 90 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_32_rgb_rot_90" >&5
+$as_echo "$conv_32_rgb_rot_90" >&6; }
+
+if test "x$conv_32_rgb_rot_90" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_32_RGB_ROT90 1" >>confdefs.h
+
+fi
+
+
+
+
+
+
+#######################################
+## Convert to 8bpp grayscale with 256 value, no palette
+
+
+conv_8_gry_1="no"
+
+
+  # Check whether --enable-convert-8-gry-1 was given.
+if test "${enable_convert_8_gry_1+set}" = set; then :
+  enableval=$enable_convert_8_gry_1;  conv_8_gry_1=$enableval
+else
+   conv_8_gry_1=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 8bpp GRY 1 converter code" >&5
+$as_echo_n "checking whether to build 8bpp GRY 1 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_8_gry_1" >&5
+$as_echo "$conv_8_gry_1" >&6; }
+
+if test "x$conv_8_gry_1" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_8_GRY_1 1" >>confdefs.h
+
+fi
+
+
+
+
+
+## Convert to 8bpp grayscale with 16 value, no palette
+
+
+conv_8_gry_16="no"
+
+
+  # Check whether --enable-convert-8-gry-16 was given.
+if test "${enable_convert_8_gry_16+set}" = set; then :
+  enableval=$enable_convert_8_gry_16;  conv_8_gry_16=$enableval
+else
+   conv_8_gry_16=yes
+
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 8bpp GRY 16 converter code" >&5
+$as_echo_n "checking whether to build 8bpp GRY 16 converter code... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_8_gry_16" >&5
+$as_echo "$conv_8_gry_16" >&6; }
+
+if test "x$conv_8_gry_16" = "xyes" ; then
+
+$as_echo "#define BUILD_CONVERT_8_GRY_16 1" >>confdefs.h
+
+fi
+
+
+
+
+
+
+#######################################
+## Convert to 8bpp grayscale, 64-palette
+conv_8_grayscale_64="yes"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build 8bpp grayscale 64-palette converter code" >&5
+$as_echo_n "checking whether to build 8bpp grayscale 64-palette converter code... " >&6; }
+# Check whether --enable-convert-8-grayscale-64 was given.
+if test "${enable_convert_8_grayscale_64+set}" = set; then :
+  enableval=$enable_convert_8_grayscale_64;
+     if test "x$enableval" = "xyes"; then
+
+$as_echo "#define BUILD_CONVERT_8_GRAYSCALE_64 1" >>confdefs.h
+
+       conv_8_grayscale_64="yes"
+     else
+       conv_8_grayscale_64="no"
+     fi
+
+else
+
+     if test "x$conv_8_grayscale_64" = "xyes"; then
+
+$as_echo "#define BUILD_CONVERT_8_GRAYSCALE_64 1" >>confdefs.h
+
+     fi
+
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $conv_8_grayscale_64" >&5
+$as_echo "$conv_8_grayscale_64" >&6; }
+
+## valgrind
+want_valgrind="no"
+have_valgrind="no"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable build with valgrind" >&5
+$as_echo_n "checking whether to enable build with valgrind... " >&6; }
+# Check whether --enable-valgrind was given.
+if test "${enable_valgrind+set}" = set; then :
+  enableval=$enable_valgrind;  want_valgrind=$enableval
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $want_valgrind" >&5
+$as_echo "$want_valgrind" >&6; }
+
+if test x$want_valgrind = "xyes"; then
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VALGRIND" >&5
+$as_echo_n "checking for VALGRIND... " >&6; }
+
+if test -n "$VALGRIND_CFLAGS"; then
+    pkg_cv_VALGRIND_CFLAGS="$VALGRIND_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind >= 2.4.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "valgrind >= 2.4.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_VALGRIND_CFLAGS=`$PKG_CONFIG --cflags "valgrind >= 2.4.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$VALGRIND_LIBS"; then
+    pkg_cv_VALGRIND_LIBS="$VALGRIND_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"valgrind >= 2.4.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "valgrind >= 2.4.0") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_VALGRIND_LIBS=`$PKG_CONFIG --libs "valgrind >= 2.4.0" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               VALGRIND_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "valgrind >= 2.4.0" 2>&1`
+        else
+               VALGRIND_PKG_ERRORS=`$PKG_CONFIG --print-errors "valgrind >= 2.4.0" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$VALGRIND_PKG_ERRORS" >&5
+
+
+      if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
+        as_fn_error $? "Valgrind not found (strict dependencies checking)" "$LINENO" 5
+      fi
+
+
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+      if test "x$want_valgrind" = "xyes" -a "x$use_strict" = "xyes" ; then
+        as_fn_error $? "Valgrind not found (strict dependencies checking)" "$LINENO" 5
+      fi
+
+
+else
+       VALGRIND_CFLAGS=$pkg_cv_VALGRIND_CFLAGS
+       VALGRIND_LIBS=$pkg_cv_VALGRIND_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+
+$as_echo "#define HAVE_VALGRIND 1" >>confdefs.h
+
+      have_valgrind=yes
+      requirement_evas="valgrind ${requirement_evas}"
+
+fi
+fi
+
+## Examples
+
+install_examples="yes"
+# Check whether --enable-install-examples was given.
+if test "${enable_install_examples+set}" = set; then :
+  enableval=$enable_install_examples;
+    if test "x${enableval}" = "xyes" ; then
+       install_examples="yes"
+    else
+       install_examples="no"
+    fi
+
+else
+  install_examples="yes"
+fi
+
+ if test "x${install_examples}" = "xyes"; then
+  INSTALL_EXAMPLES_TRUE=
+  INSTALL_EXAMPLES_FALSE='#'
+else
+  INSTALL_EXAMPLES_TRUE='#'
+  INSTALL_EXAMPLES_FALSE=
+fi
+
+
+build_examples="no"
+# Check whether --enable-build-examples was given.
+if test "${enable_build_examples+set}" = set; then :
+  enableval=$enable_build_examples;
+    if test "x${enableval}" = "xyes" ; then
+       build_examples="yes"
+    else
+       build_examples="no"
+    fi
+
+else
+  build_examples="no"
+fi
+
+ if test "x${build_examples}" = "xyes"; then
+  BUILD_EXAMPLES_TRUE=
+  BUILD_EXAMPLES_FALSE='#'
+else
+  BUILD_EXAMPLES_TRUE='#'
+  BUILD_EXAMPLES_FALSE=
+fi
+
+
+
+#####################################################################
+## Fill in flags
+
+
+
+
+
+
+
+#####################################################################
+## Output
+
+ac_config_files="$ac_config_files Makefile evas-directfb.pc evas-fb.pc evas-opengl-glew.pc evas-opengl-x11.pc evas-opengl-sdl.pc evas-quartz.pc evas-software-buffer.pc evas-software-x11.pc evas-software-8-x11.pc evas-software-16-x11.pc evas-xrender-x11.pc evas-xrender-xcb.pc evas-software-gdi.pc evas-software-ddraw.pc evas-software-16-ddraw.pc evas-direct3d.pc evas-software-16-wince.pc evas-software-sdl.pc evas.pc doc/evas.dox doc/Makefile src/Makefile src/bin/Makefile src/lib/Makefile src/lib/canvas/Makefile src/lib/file/Makefile src/lib/cache/Makefile src/lib/cserve/Makefile src/lib/engines/Makefile src/lib/engines/common/Makefile src/lib/engines/common/evas_op_add/Makefile src/lib/engines/common/evas_op_blend/Makefile src/lib/engines/common/evas_op_copy/Makefile src/lib/engines/common/evas_op_mask/Makefile src/lib/engines/common/evas_op_mul/Makefile src/lib/engines/common/evas_op_sub/Makefile src/lib/engines/common_8/Makefile src/lib/engines/common_16/Makefile src/modules/Makefile src/modules/engines/Makefile src/modules/engines/software_generic/Makefile src/modules/engines/software_gdi/Makefile src/modules/engines/software_ddraw/Makefile src/modules/engines/direct3d/Makefile src/modules/engines/software_16_wince/Makefile src/modules/engines/software_x11/Makefile src/modules/engines/fb/Makefile src/modules/engines/buffer/Makefile src/modules/engines/directfb/Makefile src/modules/engines/gl_common/Makefile src/modules/engines/gl_glew/Makefile src/modules/engines/gl_x11/Makefile src/modules/engines/gl_sdl/Makefile src/modules/engines/quartz/Makefile src/modules/engines/xrender_x11/Makefile src/modules/engines/software_sdl/Makefile src/modules/engines/software_8/Makefile src/modules/engines/software_8_x11/Makefile src/modules/engines/software_16/Makefile src/modules/engines/software_16_x11/Makefile src/modules/engines/software_16_ddraw/Makefile src/modules/engines/software_16_sdl/Makefile src/modules/loaders/Makefile src/modules/loaders/edb/Makefile src/modules/loaders/eet/Makefile src/modules/loaders/gif/Makefile src/modules/loaders/jpeg/Makefile src/modules/loaders/png/Makefile src/modules/loaders/tiff/Makefile src/modules/loaders/xpm/Makefile src/modules/loaders/bmp/Makefile src/modules/loaders/ico/Makefile src/modules/loaders/tga/Makefile src/modules/loaders/svg/Makefile src/modules/loaders/pmaps/Makefile src/modules/loaders/wbmp/Makefile src/modules/savers/Makefile src/modules/savers/edb/Makefile src/modules/savers/eet/Makefile src/modules/savers/jpeg/Makefile src/modules/savers/png/Makefile src/modules/savers/tiff/Makefile src/lib/include/Makefile src/examples/Makefile README evas.spec"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
+      sed -n \
+       "s/'/'\\\\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+    cat confcache >$cache_file
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+U=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+ if test -n "$EXEEXT"; then
+  am__EXEEXT_TRUE=
+  am__EXEEXT_FALSE='#'
+else
+  am__EXEEXT_TRUE='#'
+  am__EXEEXT_FALSE=
+fi
+
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  as_fn_error $? "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepOBJC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EFL_BUILD_DOC_TRUE}" && test -z "${EFL_BUILD_DOC_FALSE}"; then
+  as_fn_error $? "conditional \"EFL_BUILD_DOC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error $? "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_CSERVE_TRUE}" && test -z "${EVAS_CSERVE_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_CSERVE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_BUFFER_TRUE}" && test -z "${BUILD_ENGINE_BUFFER_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_BUFFER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_BUFFER_TRUE}" && test -z "${EVAS_STATIC_BUILD_BUFFER_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_BUFFER\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_XLIB_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_XLIB_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_XLIB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_XLIB_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_XLIB_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_XLIB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_XRENDER_X11_TRUE}" && test -z "${BUILD_ENGINE_XRENDER_X11_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_XRENDER_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_XRENDER_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_XRENDER_X11_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_XRENDER_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_GL_X11_TRUE}" && test -z "${BUILD_ENGINE_GL_X11_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_GL_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_GL_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_X11_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_XCB_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_XCB_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_XCB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_XCB_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_XCB_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_XCB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_XRENDER_XCB_TRUE}" && test -z "${BUILD_ENGINE_XRENDER_XCB_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_XRENDER_XCB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_XRENDER_XCB_TRUE}" && test -z "${EVAS_STATIC_BUILD_XRENDER_XCB_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_XRENDER_XCB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_GDI_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_GDI_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_GDI\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_GDI_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_GDI_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_GDI\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_DDRAW_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_DDRAW_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_DDRAW\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_DDRAW_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_DDRAW_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_DDRAW\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_DIRECT3D_TRUE}" && test -z "${BUILD_ENGINE_DIRECT3D_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_DIRECT3D\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_DIRECT3D_TRUE}" && test -z "${EVAS_STATIC_BUILD_DIRECT3D_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_DIRECT3D\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_QUARTZ_TRUE}" && test -z "${BUILD_ENGINE_QUARTZ_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_QUARTZ\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_QUARTZ_TRUE}" && test -z "${EVAS_STATIC_BUILD_QUARTZ_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_QUARTZ\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_GL_GLEW_TRUE}" && test -z "${BUILD_ENGINE_GL_GLEW_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_GL_GLEW\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_GL_GLEW_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_GLEW_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_GLEW\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_SDL_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_SDL_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_SDL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_SDL_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_SDL_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_SDL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_GL_SDL_TRUE}" && test -z "${BUILD_ENGINE_GL_SDL_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_GL_SDL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_GL_SDL_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_SDL_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_SDL\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_FB_TRUE}" && test -z "${BUILD_ENGINE_FB_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_FB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_FB_TRUE}" && test -z "${EVAS_STATIC_BUILD_FB_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_FB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_DIRECTFB_TRUE}" && test -z "${BUILD_ENGINE_DIRECTFB_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_DIRECTFB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_DIRECTFB_TRUE}" && test -z "${EVAS_STATIC_BUILD_DIRECTFB_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_DIRECTFB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_8_X11_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_8_X11_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_8_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_8_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_8_X11_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_8_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_16_X11_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_X11_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_16_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_X11_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_16_DDRAW_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_DDRAW_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_16_DDRAW\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_DDRAW\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_16_WINCE_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_WINCE_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_16_WINCE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_WINCE_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16_WINCE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_GL_COMMON_TRUE}" && test -z "${BUILD_ENGINE_GL_COMMON_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_GL_COMMON\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_GL_COMMON_TRUE}" && test -z "${EVAS_STATIC_BUILD_GL_COMMON_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GL_COMMON\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_GENERIC_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_GENERIC_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_GENERIC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_X11_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_X11_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_X11_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_X11_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_X11\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_16_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_16_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_16\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_16_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_16\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_ENGINE_SOFTWARE_8_TRUE}" && test -z "${BUILD_ENGINE_SOFTWARE_8_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_ENGINE_SOFTWARE_8\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SOFTWARE_8_TRUE}" && test -z "${EVAS_STATIC_BUILD_SOFTWARE_8_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SOFTWARE_8\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_EDB_TRUE}" && test -z "${BUILD_LOADER_EDB_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_EDB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_EDB_TRUE}" && test -z "${EVAS_STATIC_BUILD_EDB_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_EDB\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_EET_TRUE}" && test -z "${BUILD_LOADER_EET_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_EET\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_EET_TRUE}" && test -z "${EVAS_STATIC_BUILD_EET_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_EET\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_GIF_TRUE}" && test -z "${BUILD_LOADER_GIF_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_GIF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_GIF_TRUE}" && test -z "${EVAS_STATIC_BUILD_GIF_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_GIF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_JPEG_TRUE}" && test -z "${BUILD_LOADER_JPEG_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_JPEG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_JPEG_TRUE}" && test -z "${EVAS_STATIC_BUILD_JPEG_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_JPEG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_SAVER_JPEG_TRUE}" && test -z "${BUILD_SAVER_JPEG_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_SAVER_JPEG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_PMAPS_TRUE}" && test -z "${BUILD_LOADER_PMAPS_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_PMAPS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_PMAPS_TRUE}" && test -z "${EVAS_STATIC_BUILD_PMAPS_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_PMAPS\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_PNG_TRUE}" && test -z "${BUILD_LOADER_PNG_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_PNG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_PNG_TRUE}" && test -z "${EVAS_STATIC_BUILD_PNG_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_PNG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_SVG_TRUE}" && test -z "${BUILD_LOADER_SVG_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_SVG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_SVG_TRUE}" && test -z "${EVAS_STATIC_BUILD_SVG_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_SVG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_TIFF_TRUE}" && test -z "${BUILD_LOADER_TIFF_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_TIFF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_TIFF_TRUE}" && test -z "${EVAS_STATIC_BUILD_TIFF_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_TIFF\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_XPM_TRUE}" && test -z "${BUILD_LOADER_XPM_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_XPM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_XPM_TRUE}" && test -z "${EVAS_STATIC_BUILD_XPM_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_XPM\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_BMP_TRUE}" && test -z "${BUILD_LOADER_BMP_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_BMP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_BMP_TRUE}" && test -z "${EVAS_STATIC_BUILD_BMP_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_BMP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_TGA_TRUE}" && test -z "${BUILD_LOADER_TGA_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_TGA\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_TGA_TRUE}" && test -z "${EVAS_STATIC_BUILD_TGA_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_TGA\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_WBMP_TRUE}" && test -z "${BUILD_LOADER_WBMP_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_WBMP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_WBMP_TRUE}" && test -z "${EVAS_STATIC_BUILD_WBMP_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_WBMP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_LOADER_ICO_TRUE}" && test -z "${BUILD_LOADER_ICO_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_LOADER_ICO\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_STATIC_BUILD_ICO_TRUE}" && test -z "${EVAS_STATIC_BUILD_ICO_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_STATIC_BUILD_ICO\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${EVAS_MAGIC_DEBUG_TRUE}" && test -z "${EVAS_MAGIC_DEBUG_FALSE}"; then
+  as_fn_error $? "conditional \"EVAS_MAGIC_DEBUG\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${WORD_CACHE_TRUE}" && test -z "${WORD_CACHE_FALSE}"; then
+  as_fn_error $? "conditional \"WORD_CACHE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${METRIC_CACHE_TRUE}" && test -z "${METRIC_CACHE_FALSE}"; then
+  as_fn_error $? "conditional \"METRIC_CACHE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${INSTALL_EXAMPLES_TRUE}" && test -z "${INSTALL_EXAMPLES_FALSE}"; then
+  as_fn_error $? "conditional \"INSTALL_EXAMPLES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${BUILD_EXAMPLES_TRUE}" && test -z "${BUILD_EXAMPLES_FALSE}"; then
+  as_fn_error $? "conditional \"BUILD_EXAMPLES\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error STATUS ERROR [LINENO LOG_FD]
+# ----------------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with STATUS, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$1; test $as_status -eq 0 && as_status=1
+  if test "$4"; then
+    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
+  fi
+  $as_echo "$as_me: error: $2" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='        ';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_dir" : 'X\(//\)[^/]' \| \
+        X"$as_dir" : 'X\(//\)$' \| \
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+       test -d "$1/.";
+      else
+       case $1 in #(
+       -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by evas $as_me 1.0.999.0, which was
+generated by GNU Autoconf 2.67.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+      --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <enlightenment-devel@lists.sourceforge.net>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+evas config.status 1.0.999.0
+configured by $0, generated by GNU Autoconf 2.67,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=?*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  --*=)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    '') as_fn_error $? "missing file argument" ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    as_fn_error $? "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error $? "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`'
+DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`'
+macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`'
+macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`'
+enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`'
+pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`'
+enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`'
+host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`'
+host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`'
+host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`'
+build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`'
+build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`'
+build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`'
+SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`'
+Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`'
+GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`'
+EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`'
+FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`'
+LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`'
+NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`'
+LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`'
+max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`'
+ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`'
+exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`'
+lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`'
+lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`'
+lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`'
+reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`'
+reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`'
+file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`'
+AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`'
+AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`'
+RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`'
+old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`'
+CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`'
+compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`'
+GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`'
+SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`'
+ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`'
+MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`'
+need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`'
+DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`'
+NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`'
+LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`'
+OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`'
+libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`'
+shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`'
+variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`'
+need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`'
+need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`'
+version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`'
+runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`'
+shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`'
+libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`'
+soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`'
+postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`'
+finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`'
+enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`'
+old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`'
+striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`'
+predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`'
+postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`'
+predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`'
+postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`'
+LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`'
+
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in SED \
+GREP \
+EGREP \
+FGREP \
+LD \
+NM \
+LN_S \
+lt_SP2NL \
+lt_NL2SP \
+reload_flag \
+deplibs_check_method \
+file_magic_cmd \
+AR \
+AR_FLAGS \
+STRIP \
+RANLIB \
+CC \
+CFLAGS \
+compiler \
+lt_cv_sys_global_symbol_pipe \
+lt_cv_sys_global_symbol_to_cdecl \
+lt_cv_sys_global_symbol_to_c_name_address \
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
+SHELL \
+ECHO \
+lt_prog_compiler_no_builtin_flag \
+lt_prog_compiler_wl \
+lt_prog_compiler_pic \
+lt_prog_compiler_static \
+lt_cv_prog_compiler_c_o \
+need_locks \
+DSYMUTIL \
+NMEDIT \
+LIPO \
+OTOOL \
+OTOOL64 \
+shrext_cmds \
+export_dynamic_flag_spec \
+whole_archive_flag_spec \
+compiler_needs_object \
+with_gnu_ld \
+allow_undefined_flag \
+no_undefined_flag \
+hardcode_libdir_flag_spec \
+hardcode_libdir_flag_spec_ld \
+hardcode_libdir_separator \
+fix_srcfile_path \
+exclude_expsyms \
+include_expsyms \
+file_list_spec \
+variables_saved_for_relink \
+libname_spec \
+library_names_spec \
+soname_spec \
+finish_eval \
+old_striplib \
+striplib \
+compiler_lib_search_dirs \
+predep_objects \
+postdep_objects \
+predeps \
+postdeps \
+compiler_lib_search_path \
+LD_CXX \
+compiler_CXX \
+lt_prog_compiler_no_builtin_flag_CXX \
+lt_prog_compiler_wl_CXX \
+lt_prog_compiler_pic_CXX \
+lt_prog_compiler_static_CXX \
+lt_cv_prog_compiler_c_o_CXX \
+export_dynamic_flag_spec_CXX \
+whole_archive_flag_spec_CXX \
+compiler_needs_object_CXX \
+with_gnu_ld_CXX \
+allow_undefined_flag_CXX \
+no_undefined_flag_CXX \
+hardcode_libdir_flag_spec_CXX \
+hardcode_libdir_flag_spec_ld_CXX \
+hardcode_libdir_separator_CXX \
+fix_srcfile_path_CXX \
+exclude_expsyms_CXX \
+include_expsyms_CXX \
+file_list_spec_CXX \
+compiler_lib_search_dirs_CXX \
+predep_objects_CXX \
+postdep_objects_CXX \
+predeps_CXX \
+postdeps_CXX \
+compiler_lib_search_path_CXX; do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in reload_cmds \
+old_postinstall_cmds \
+old_postuninstall_cmds \
+old_archive_cmds \
+extract_expsyms_cmds \
+old_archive_from_new_cmds \
+old_archive_from_expsyms_cmds \
+archive_cmds \
+archive_expsym_cmds \
+module_cmds \
+module_expsym_cmds \
+export_symbols_cmds \
+prelink_cmds \
+postinstall_cmds \
+postuninstall_cmds \
+finish_cmds \
+sys_lib_search_path_spec \
+sys_lib_dlsearch_path_spec \
+old_archive_cmds_CXX \
+old_archive_from_new_cmds_CXX \
+old_archive_from_expsyms_cmds_CXX \
+archive_cmds_CXX \
+archive_expsym_cmds_CXX \
+module_cmds_CXX \
+module_expsym_cmds_CXX \
+export_symbols_cmds_CXX \
+prelink_cmds_CXX; do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[\\\\\\\`\\"\\\$]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\$0 --fallback-echo"')  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\`
+  ;;
+esac
+
+ac_aux_dir='$ac_aux_dir'
+xsi_shell='$xsi_shell'
+lt_shell_append='$lt_shell_append'
+
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'
+
+
+
+
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "evas-directfb.pc") CONFIG_FILES="$CONFIG_FILES evas-directfb.pc" ;;
+    "evas-fb.pc") CONFIG_FILES="$CONFIG_FILES evas-fb.pc" ;;
+    "evas-opengl-glew.pc") CONFIG_FILES="$CONFIG_FILES evas-opengl-glew.pc" ;;
+    "evas-opengl-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-opengl-x11.pc" ;;
+    "evas-opengl-sdl.pc") CONFIG_FILES="$CONFIG_FILES evas-opengl-sdl.pc" ;;
+    "evas-quartz.pc") CONFIG_FILES="$CONFIG_FILES evas-quartz.pc" ;;
+    "evas-software-buffer.pc") CONFIG_FILES="$CONFIG_FILES evas-software-buffer.pc" ;;
+    "evas-software-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-software-x11.pc" ;;
+    "evas-software-8-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-software-8-x11.pc" ;;
+    "evas-software-16-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-software-16-x11.pc" ;;
+    "evas-xrender-x11.pc") CONFIG_FILES="$CONFIG_FILES evas-xrender-x11.pc" ;;
+    "evas-xrender-xcb.pc") CONFIG_FILES="$CONFIG_FILES evas-xrender-xcb.pc" ;;
+    "evas-software-gdi.pc") CONFIG_FILES="$CONFIG_FILES evas-software-gdi.pc" ;;
+    "evas-software-ddraw.pc") CONFIG_FILES="$CONFIG_FILES evas-software-ddraw.pc" ;;
+    "evas-software-16-ddraw.pc") CONFIG_FILES="$CONFIG_FILES evas-software-16-ddraw.pc" ;;
+    "evas-direct3d.pc") CONFIG_FILES="$CONFIG_FILES evas-direct3d.pc" ;;
+    "evas-software-16-wince.pc") CONFIG_FILES="$CONFIG_FILES evas-software-16-wince.pc" ;;
+    "evas-software-sdl.pc") CONFIG_FILES="$CONFIG_FILES evas-software-sdl.pc" ;;
+    "evas.pc") CONFIG_FILES="$CONFIG_FILES evas.pc" ;;
+    "doc/evas.dox") CONFIG_FILES="$CONFIG_FILES doc/evas.dox" ;;
+    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+    "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "src/bin/Makefile") CONFIG_FILES="$CONFIG_FILES src/bin/Makefile" ;;
+    "src/lib/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/Makefile" ;;
+    "src/lib/canvas/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/canvas/Makefile" ;;
+    "src/lib/file/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/file/Makefile" ;;
+    "src/lib/cache/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/cache/Makefile" ;;
+    "src/lib/cserve/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/cserve/Makefile" ;;
+    "src/lib/engines/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/Makefile" ;;
+    "src/lib/engines/common/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/Makefile" ;;
+    "src/lib/engines/common/evas_op_add/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_add/Makefile" ;;
+    "src/lib/engines/common/evas_op_blend/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_blend/Makefile" ;;
+    "src/lib/engines/common/evas_op_copy/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_copy/Makefile" ;;
+    "src/lib/engines/common/evas_op_mask/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_mask/Makefile" ;;
+    "src/lib/engines/common/evas_op_mul/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_mul/Makefile" ;;
+    "src/lib/engines/common/evas_op_sub/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common/evas_op_sub/Makefile" ;;
+    "src/lib/engines/common_8/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common_8/Makefile" ;;
+    "src/lib/engines/common_16/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/engines/common_16/Makefile" ;;
+    "src/modules/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/Makefile" ;;
+    "src/modules/engines/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/Makefile" ;;
+    "src/modules/engines/software_generic/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_generic/Makefile" ;;
+    "src/modules/engines/software_gdi/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_gdi/Makefile" ;;
+    "src/modules/engines/software_ddraw/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_ddraw/Makefile" ;;
+    "src/modules/engines/direct3d/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/direct3d/Makefile" ;;
+    "src/modules/engines/software_16_wince/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16_wince/Makefile" ;;
+    "src/modules/engines/software_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_x11/Makefile" ;;
+    "src/modules/engines/fb/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/fb/Makefile" ;;
+    "src/modules/engines/buffer/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/buffer/Makefile" ;;
+    "src/modules/engines/directfb/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/directfb/Makefile" ;;
+    "src/modules/engines/gl_common/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/gl_common/Makefile" ;;
+    "src/modules/engines/gl_glew/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/gl_glew/Makefile" ;;
+    "src/modules/engines/gl_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/gl_x11/Makefile" ;;
+    "src/modules/engines/gl_sdl/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/gl_sdl/Makefile" ;;
+    "src/modules/engines/quartz/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/quartz/Makefile" ;;
+    "src/modules/engines/xrender_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/xrender_x11/Makefile" ;;
+    "src/modules/engines/software_sdl/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_sdl/Makefile" ;;
+    "src/modules/engines/software_8/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_8/Makefile" ;;
+    "src/modules/engines/software_8_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_8_x11/Makefile" ;;
+    "src/modules/engines/software_16/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16/Makefile" ;;
+    "src/modules/engines/software_16_x11/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16_x11/Makefile" ;;
+    "src/modules/engines/software_16_ddraw/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16_ddraw/Makefile" ;;
+    "src/modules/engines/software_16_sdl/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/engines/software_16_sdl/Makefile" ;;
+    "src/modules/loaders/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/Makefile" ;;
+    "src/modules/loaders/edb/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/edb/Makefile" ;;
+    "src/modules/loaders/eet/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/eet/Makefile" ;;
+    "src/modules/loaders/gif/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/gif/Makefile" ;;
+    "src/modules/loaders/jpeg/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/jpeg/Makefile" ;;
+    "src/modules/loaders/png/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/png/Makefile" ;;
+    "src/modules/loaders/tiff/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/tiff/Makefile" ;;
+    "src/modules/loaders/xpm/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/xpm/Makefile" ;;
+    "src/modules/loaders/bmp/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/bmp/Makefile" ;;
+    "src/modules/loaders/ico/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/ico/Makefile" ;;
+    "src/modules/loaders/tga/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/tga/Makefile" ;;
+    "src/modules/loaders/svg/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/svg/Makefile" ;;
+    "src/modules/loaders/pmaps/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/pmaps/Makefile" ;;
+    "src/modules/loaders/wbmp/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/loaders/wbmp/Makefile" ;;
+    "src/modules/savers/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/Makefile" ;;
+    "src/modules/savers/edb/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/edb/Makefile" ;;
+    "src/modules/savers/eet/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/eet/Makefile" ;;
+    "src/modules/savers/jpeg/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/jpeg/Makefile" ;;
+    "src/modules/savers/png/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/png/Makefile" ;;
+    "src/modules/savers/tiff/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/savers/tiff/Makefile" ;;
+    "src/lib/include/Makefile") CONFIG_FILES="$CONFIG_FILES src/lib/include/Makefile" ;;
+    "src/examples/Makefile") CONFIG_FILES="$CONFIG_FILES src/examples/Makefile" ;;
+    "README") CONFIG_FILES="$CONFIG_FILES README" ;;
+    "evas.spec") CONFIG_FILES="$CONFIG_FILES evas.spec" ;;
+
+  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = "\a"
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
+# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
+h
+s///
+s/^/:/
+s/[     ]*$/:/
+s/:\$(srcdir):/:/g
+s/:\${srcdir}:/:/g
+s/:@srcdir@:/:/g
+s/^:*//
+s/:*$//
+x
+s/\(=[  ]*\).*/\1/
+G
+s/\n//
+s/^[^=]*=[      ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_t"; then
+    break
+  elif $ac_last_try; then
+    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any.  Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[    ]*#[    ]*define[       ][      ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  for (key in D) D_is_set[key] = 1
+  FS = "\a"
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+  line = \$ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  prefix = substr(line, 1, index(line, defundef) - 1)
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", prefix defundef, macro, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+        # (if the path is not absolute).  The absolute path cannot be DOS-style,
+        # because $ac_f cannot contain `:'.
+        test -f "$ac_f" ||
+          case $ac_f in
+          [\\/$]*) false;;
+          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+          esac ||
+          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+       `' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5  ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$ac_file" : 'X\(//\)[^/]' \| \
+        X"$ac_file" : 'X\(//\)$' \| \
+        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined" >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out" && rm -f "$tmp/out";;
+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+  if test x"$ac_file" != x-; then
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+    } >"$tmp/config.h" \
+      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      rm -f "$ac_file"
+      mv "$tmp/config.h" "$ac_file" \
+       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
+    fi
+  else
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error $? "could not create -" "$LINENO" 5
+  fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$_am_arg" : 'X\(//\)[^/]' \| \
+        X"$_am_arg" : 'X\(//\)$' \| \
+        X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$mf" : 'X\(//\)[^/]' \| \
+        X"$mf" : 'X\(//\)$' \| \
+        X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+        sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$file" : 'X\(//\)[^/]' \| \
+        X"$file" : 'X\(//\)$' \| \
+        X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      as_dir=$dirpart/$fdir; as_fn_mkdir_p
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+ ;;
+    "libtool":C)
+
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags="CXX "
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Assembler program.
+AS=$AS
+
+# DLL creation program.
+DLLTOOL=$DLLTOOL
+
+# Object dumper program.
+OBJDUMP=$OBJDUMP
+
+# Which release of libtool.m4 was used?
+macro_version=$macro_version
+macro_revision=$macro_revision
+
+# Whether or not to build shared libraries.
+build_libtool_libs=$enable_shared
+
+# Whether or not to build static libraries.
+build_old_libs=$enable_static
+
+# What type of objects to build.
+pic_mode=$pic_mode
+
+# Whether or not to optimize for fast installation.
+fast_install=$enable_fast_install
+
+# The host system.
+host_alias=$host_alias
+host=$host
+host_os=$host_os
+
+# The build system.
+build_alias=$build_alias
+build=$build
+build_os=$build_os
+
+# A sed program that does not truncate output.
+SED=$lt_SED
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="\$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP=$lt_GREP
+
+# An ERE matcher.
+EGREP=$lt_EGREP
+
+# A literal string matcher.
+FGREP=$lt_FGREP
+
+# A BSD- or MS-compatible name lister.
+NM=$lt_NM
+
+# Whether we need soft or hard links.
+LN_S=$lt_LN_S
+
+# What is the maximum length of a command?
+max_cmd_len=$max_cmd_len
+
+# Object file suffix (normally "o").
+objext=$ac_objext
+
+# Executable file suffix (normally "").
+exeext=$exeext
+
+# whether the shell understands "unset".
+lt_unset=$lt_unset
+
+# turn spaces into newlines.
+SP2NL=$lt_lt_SP2NL
+
+# turn newlines into spaces.
+NL2SP=$lt_lt_NL2SP
+
+# How to create reloadable object files.
+reload_flag=$lt_reload_flag
+reload_cmds=$lt_reload_cmds
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method=$lt_deplibs_check_method
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd=$lt_file_magic_cmd
+
+# The archiver.
+AR=$lt_AR
+AR_FLAGS=$lt_AR_FLAGS
+
+# A symbol stripping program.
+STRIP=$lt_STRIP
+
+# Commands used to install an old-style archive.
+RANLIB=$lt_RANLIB
+old_postinstall_cmds=$lt_old_postinstall_cmds
+old_postuninstall_cmds=$lt_old_postuninstall_cmds
+
+# A C compiler.
+LTCC=$lt_CC
+
+# LTCC compiler flags.
+LTCFLAGS=$lt_CFLAGS
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
+
+# The name of the directory that contains temporary libtool files.
+objdir=$objdir
+
+# Shell to use when invoking shell scripts.
+SHELL=$lt_SHELL
+
+# An echo program that does not interpret backslashes.
+ECHO=$lt_ECHO
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=$MAGIC_CMD
+
+# Must we lock files when doing compilation?
+need_locks=$lt_need_locks
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=$lt_DSYMUTIL
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=$lt_NMEDIT
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=$lt_LIPO
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=$lt_OTOOL
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=$lt_OTOOL64
+
+# Old archive suffix (normally "a").
+libext=$libext
+
+# Shared library suffix (normally ".so").
+shrext_cmds=$lt_shrext_cmds
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=$lt_extract_expsyms_cmds
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink=$lt_variables_saved_for_relink
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=$need_lib_prefix
+
+# Do we need a version for libraries?
+need_version=$need_version
+
+# Library versioning type.
+version_type=$version_type
+
+# Shared library runtime path variable.
+runpath_var=$runpath_var
+
+# Shared library path variable.
+shlibpath_var=$shlibpath_var
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=$shlibpath_overrides_runpath
+
+# Format of library name prefix.
+libname_spec=$lt_libname_spec
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec=$lt_library_names_spec
+
+# The coded name of the library, if different from the real name.
+soname_spec=$lt_soname_spec
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=$lt_postinstall_cmds
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=$lt_postuninstall_cmds
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds=$lt_finish_cmds
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=$lt_finish_eval
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=$hardcode_into_libs
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
+
+# Whether dlopen is supported.
+dlopen_support=$enable_dlopen
+
+# Whether dlopen of programs is supported.
+dlopen_self=$enable_dlopen_self
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=$enable_dlopen_self_static
+
+# Commands to strip libraries.
+old_striplib=$lt_old_striplib
+striplib=$lt_striplib
+
+
+# The linker used to build libraries.
+LD=$lt_LD
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds
+
+# A language specific compiler.
+CC=$lt_compiler
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds
+archive_expsym_cmds=$lt_archive_expsym_cmds
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds
+module_expsym_cmds=$lt_module_expsym_cmds
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking.  This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects
+postdep_objects=$lt_postdep_objects
+predeps=$lt_predeps
+postdeps=$lt_postdeps
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path
+
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+
+ltmain="$ac_aux_dir/ltmain.sh"
+
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+  case ${2} in
+    .*) func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[^=]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$@"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1+=\$2"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1=\$$1\$2"
+}
+
+_LT_EOF
+    ;;
+  esac
+
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+
+
+    cat <<_LT_EOF >> "$ofile"
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD=$lt_LD_CXX
+
+# Commands used to build an old-style archive.
+old_archive_cmds=$lt_old_archive_cmds_CXX
+
+# A language specific compiler.
+CC=$lt_compiler_CXX
+
+# Is the compiler the GNU compiler?
+with_gcc=$GCC_CXX
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX
+
+# How to pass a linker flag through the compiler.
+wl=$lt_lt_prog_compiler_wl_CXX
+
+# Additional compiler flags for building library objects.
+pic_flag=$lt_lt_prog_compiler_pic_CXX
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag=$lt_lt_prog_compiler_static_CXX
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=$archive_cmds_need_lc_CXX
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object=$lt_compiler_needs_object_CXX
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX
+
+# Commands used to build a shared archive.
+archive_cmds=$lt_archive_cmds_CXX
+archive_expsym_cmds=$lt_archive_expsym_cmds_CXX
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=$lt_module_cmds_CXX
+module_expsym_cmds=$lt_module_expsym_cmds_CXX
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld=$lt_with_gnu_ld_CXX
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=$lt_allow_undefined_flag_CXX
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=$lt_no_undefined_flag_CXX
+
+# Flag to hardcode \$libdir into a binary during linking.
+# This must work even if \$libdir does not exist
+hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX
+
+# If ld is used when linking, flag to hardcode \$libdir into a binary
+# during linking.  This must work even if \$libdir does not exist.
+hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld_CXX
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=$hardcode_direct_CXX
+
+# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=$hardcode_direct_absolute_CXX
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=$hardcode_minus_L_CXX
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=$hardcode_automatic_CXX
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=$inherit_rpath_CXX
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=$link_all_deplibs_CXX
+
+# Fix the shell variable \$srcfile for the compiler.
+fix_srcfile_path=$lt_fix_srcfile_path_CXX
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=$always_export_symbols_CXX
+
+# The commands to list exported symbols.
+export_symbols_cmds=$lt_export_symbols_cmds_CXX
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms=$lt_exclude_expsyms_CXX
+
+# Symbols that must always be exported.
+include_expsyms=$lt_include_expsyms_CXX
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=$lt_prelink_cmds_CXX
+
+# Specify filename containing input files.
+file_list_spec=$lt_file_list_spec_CXX
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=$hardcode_action_CXX
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=$lt_predep_objects_CXX
+postdep_objects=$lt_postdep_objects_CXX
+predeps=$lt_predeps_CXX
+postdeps=$lt_postdeps_CXX
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=$lt_compiler_lib_search_path_CXX
+
+# ### END LIBTOOL TAG CONFIG: CXX
+_LT_EOF
+
+ ;;
+
+  esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || as_fn_exit 1
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
+#disabled for the release:
+# evas-cairo-x11.pc
+# evas-software-qtopia.pc
+# src/modules/engines/cairo_common/Makefile
+# src/modules/engines/cairo_x11/Makefile
+# src/modules/engines/software_qtopia/Makefile
+
+
+#####################################################################
+## Sanity Checks
+
+if test "x$build_pthreads" = "xno" ; then
+  if test "x$build_async_render" = "xyes" ; then
+    echo "ERROR: PThreads off, but async rendering on. Async rendering"
+    echo "  needs thread support."
+    exit 1
+  fi
+  if test "x$build_pipe_render" = "xyes" ; then
+    echo "ERROR: PThreads off, but pipe rendering on. Pipe rendering"
+    echo "  needs thread support."
+    exit 1
+  fi
+fi
+
+if test "x${has_pthreads}" = "xno" ; then
+  if test "x$build_async_preload" = "xyes" ; then
+    echo "ERROR: PThreads off, but Async Preload on. Async Preload"
+    echo "  needs thread support."
+    exit 1
+  fi
+fi
+
+#####################################################################
+## Info
+
+echo
+echo
+echo
+echo "------------------------------------------------------------------------"
+echo "$PACKAGE $VERSION"
+echo "------------------------------------------------------------------------"
+echo
+echo "Configuration Options Summary:"
+echo
+echo "Engines:"
+echo "  Software Memory Buffer.....: $have_evas_engine_buffer"
+echo "  Software X11...............: $have_evas_engine_software_x11 (Xlib: $have_evas_engine_software_xlib) (XCB: $have_evas_engine_software_xcb)"
+echo "  XRender X11................: $have_evas_engine_xrender_x11 (XCB: $have_evas_engine_xrender_xcb)"
+echo $ECHO_N "  OpenGL X11.................: $have_evas_engine_gl_x11 $ECHO_C"
+if test "x$have_evas_engine_gl_x11" = "xyes"; then
+  echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
+else
+  echo
+fi
+echo "  Software GDI...............: $have_evas_engine_software_gdi"
+echo "  Software DirectDraw........: $have_evas_engine_software_ddraw"
+echo "  Direct3d...................: $have_evas_engine_direct3d"
+echo "  Quartz.....................: $have_evas_engine_quartz"
+echo "  OpenGL Glew................: $have_evas_engine_gl_glew"
+echo "  Software SDL...............: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
+echo $ECHO_N "  OpenGL SDL.................: $have_evas_engine_gl_sdl $ECHO_C"
+if test "x$have_evas_engine_gl_sdl" = "xyes"; then
+  echo "(GLES: $gl_flavor_gles) (SGX: $gles_variety_sgx) (s3c6410: $gles_variety_s3c6410)"
+else
+  echo
+fi
+echo "  Software Framebuffer.......: $have_evas_engine_fb"
+echo "  DirectFB...................: $have_evas_engine_directfb"
+echo "  Software 8bit grayscale....: $have_evas_engine_software_8"
+# FIXME: kill software 16bit
+echo "  Software 16bit ............: $have_evas_engine_software_16"
+echo "  Software 16bit X11.........: $have_evas_engine_software_16_x11"
+echo "  Software 16bit Directdraw..: $have_evas_engine_software_16_ddraw"
+echo "  Software 16bit WinCE.......: $have_evas_engine_software_16_wince"
+echo "  Software 16bit SDL.........: $have_evas_engine_software_sdl (primitive: $sdl_primitive)"
+echo
+echo "Image Loaders:"
+echo "  BMP.....................: $have_evas_image_loader_bmp"
+echo "  EDB.....................: $have_evas_image_loader_edb"
+echo "  EET.....................: $have_evas_image_loader_eet"
+echo "  GIF.....................: $have_evas_image_loader_gif"
+echo "  ICO.....................: $have_evas_image_loader_ico"
+echo "  JPEG....................: $have_evas_image_loader_jpeg (region: $have_jpeg_region)"
+echo "  PMAPS...................: $have_evas_image_loader_pmaps"
+echo "  PNG.....................: $have_evas_image_loader_png"
+echo "  SVG.....................: $have_evas_image_loader_svg"
+echo "  TGA.....................: $have_evas_image_loader_tga"
+echo "  TIFF....................: $have_evas_image_loader_tiff"
+echo "  WBMP....................: $have_evas_image_loader_wbmp"
+echo "  XPM.....................: $have_evas_image_loader_xpm"
+echo
+echo "Font Sourcing Systems:"
+echo "  EET.....................: $have_evas_font_loader_eet"
+echo
+echo "Font Searching Systems:"
+echo "  Fontconfig..............: $have_fontconfig"
+echo
+echo "Font Rendering Helpers:"
+echo "  Fribidi.................: $have_fribidi"
+echo "  Harfbuzz................: $have_harfbuzz"
+# FIXME: add non freetype2 font engine support
+# FIXME: make freetype2 optional
+echo
+echo "CPU Specific Extensions:"
+echo "  Fallback C Code.........: $build_cpu_c"
+echo "  MMX.....................: $build_cpu_mmx"
+echo "  SSE.....................: $build_cpu_sse"
+echo "  ALTIVEC.................: $build_cpu_altivec"
+echo "  NEON....................: $build_cpu_neon"
+echo "  Thread Support..........: $build_pthreads"
+echo
+echo "Features:"
+echo "  MAGIC_DEBUG.............: $want_evas_magic_debug"
+echo "  Cache Server............: $want_evas_cserve"
+echo
+echo "  Threaded Pipe Rendering.: $build_pipe_render"
+echo "  Async Pipe Rendering....: $build_async_render"
+echo "  Async Events............: $build_async_events"
+echo "  Async Image Preload.....: $build_async_preload"
+echo
+echo "  Word Cache..............: $want_word_cache"
+echo "  Metric Cache............: $want_metric_cache"
+echo
+echo "ARGB Software Engine Options:"
+echo "  Sampling Scaler.........: $scaler_sample"
+echo "  Smooth Scaler...........: $scaler_smooth"
+# FIXME: add an mmx scaler routine
+echo "  YUV Converter...........: $conv_yuv"
+# FIXME: add more YUV format and colorvariant support
+echo
+echo "ARGB Conversion Options:"
+echo "  Smaller Dither Mask.....: $conv_small_dither"
+echo "  Line Dither Mask........: $conv_line_dither"
+echo "  No Dither Mask for 16bpp: $conv_no_dither"
+echo "  8bpp RGB 332............: $conv_8_rgb_332"
+echo "  8bpp RGB 666............: $conv_8_rgb_666"
+echo "  8bpp RGB 232............: $conv_8_rgb_232"
+echo "  8bpp RGB 222............: $conv_8_rgb_222"
+echo "  8bpp RGB 221............: $conv_8_rgb_221"
+echo "  8bpp RGB 121............: $conv_8_rgb_121"
+echo "  8bpp RGB 111............: $conv_8_rgb_111"
+echo "  8bpp Grayscale (256)....: $conv_8_gry_1"
+echo "  8bpp Grayscale (16).....: $conv_8_gry_16"
+echo "  8bpp Grayscale 64-pal...: $conv_8_grayscale_64"
+# FIXME: add grayscale and B&W support to standard x converters
+echo "  16bpp RGB 565...........: $conv_16_rgb_565"
+echo "  16bpp BGR 565...........: $conv_16_bgr_565"
+echo "  16bpp RGB 555...........: $conv_16_rgb_555"
+echo "  16bpp RGB 444...........: $conv_16_rgb_444"
+echo "  16bpp RGB 565 (444 ipaq): $conv_16_rgb_ipq"
+# FIXME: add 555 (444 ipaq) support
+# FIXME: add 30bpp support
+# FIXME: add palletted support (ugh!)
+# FIXME: add 8bpp and below rotation
+echo "  16bpp Rotation 0........: $conv_16_rgb_rot_0"
+echo "  16bpp Rotation 90.......: $conv_16_rgb_rot_90"
+echo "  16bpp Rotation 180......: $conv_16_rgb_rot_180"
+echo "  16bpp Rotation 270......: $conv_16_rgb_rot_270"
+echo "  24bpp RGB 888...........: $conv_24_rgb_888"
+echo "  24bpp BGR 888...........: $conv_24_bgr_888"
+echo "  24bpp RGB 666 (666 ezx).: $conv_24_rgb_ezx"
+# FIXME: add 24bpp rotation
+echo "  32bpp RGB 8888..........: $conv_32_rgb_8888"
+echo "  32bpp RGBX 8888.........: $conv_32_rgbx_8888"
+echo "  32bpp BGR 8888..........: $conv_32_bgr_8888"
+echo "  32bpp BGRX 8888.........: $conv_32_bgrx_8888"
+echo "  32bpp RGB 666 (666 ezx).: $conv_32_rgb_ezx"
+echo "  32bpp Rotation 0........: $conv_32_rgb_rot_0"
+echo "  32bpp Rotation 90.......: $conv_32_rgb_rot_90"
+echo "  32bpp Rotation 180......: $conv_32_rgb_rot_180"
+echo "  32bpp Rotation 270......: $conv_32_rgb_rot_270"
+echo
+echo "Documentation.............: ${build_doc}"
+echo "Examples..................: install:${install_examples} build:${build_examples}"
+echo
+echo "Compilation............: make (or gmake)"
+echo "  CPPFLAGS.............: $CPPFLAGS"
+echo "  CFLAGS...............: $CFLAGS"
+echo "  CXXFLAGS.............: $CXXFLAGS"
+echo "  LDFLAGS..............: $LDFLAGS"
+echo
+echo "Installation...........: make install (as root if needed, with 'su' or 'sudo')"
+echo "  prefix...............: $prefix"
+echo
+if test "x${have_static_module}" = "xyes" ; then
+echo -e "\0033\01331;31mWarning\0033\01331;0m: You are trying to link statically one or more modules to Evas."
+echo "         You must know what you are doing, or else you will have a lot of"
+echo "         problems. And Kenny will be killed."
+echo "         Think about that."
+echo
+fi
index 61dc3d3..19eed40 100755 (executable)
@@ -1,7 +1,7 @@
 Source: evas
 Section: libs
 Priority: optional
-Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Sangjin Lee <lsj119@samsung.com>, Doyoun Kang <doyoun.kang@samsung.com>, YoungHoon Jung <yhoon.jung@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Gwanglim Lee <gl77.lee@samsung.com>, Jeonghyun Yun <jh0506.yun@samsung.com>, Seokjae Jeong <seok.j.jeong@samsung.com>, MyoungWoon Kim <myoungwoon.kim@samsung.com>, ChunEon Park <chuneon.park@samsung.com>, Hyoyoung Chang <hyoyoung.chang@samsung.com>, WooHyun Jung <wh0705.jung@samsung.com>, Gwangyeong Mun <kk.moon@samsung.com>
+Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Sangjin Lee <lsj119@samsung.com>, Doyoun Kang <doyoun.kang@samsung.com>, YoungHoon Jung <yhoon.jung@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Gwanglim Lee <gl77.lee@samsung.com>, Jeonghyun Yun <jh0506.yun@samsung.com>, Seokjae Jeong <seok.j.jeong@samsung.com>, MyoungWoon Kim <myoungwoon.kim@samsung.com>, ChunEon Park <chuneon.park@samsung.com>, Hyoyoung Chang <hyoyoung.chang@samsung.com>, WooHyun Jung <wh0705.jung@samsung.com>, Gwangyeong Mun <kk.moon@samsung.com>, Jiyoun Park <jy0703.park@samsung.com>
 Original-Maintainer:  Debian Pkg-e Team <pkg-e-devel@lists.alioth.debian.org>
 Uploaders: Albin Tonnerre <albin.tonnerre@gmail.com>,
  Niv Sardi <xaiki@debian.org>, Xavier Oswald <x.oswald@free.fr>,
diff --git a/debian/files b/debian/files
new file mode 100644 (file)
index 0000000..1732785
--- /dev/null
@@ -0,0 +1,6 @@
+libevas_1.0.0.001+svn.58227slp2+build04_armel.deb libs optional
+libevas-doc_1.0.0.001+svn.58227slp2+build04_armel.deb doc optional
+libevas-dev_1.0.0.001+svn.58227slp2+build04_armel.deb libdevel optional
+libevas-dbg_1.0.0.001+svn.58227slp2+build04_armel.deb debug extra
+libevas-engines_1.0.0.001+svn.58227slp2+build04_armel.deb libs optional
+libevas-engines-extras_1.0.0.001+svn.58227slp2+build04_armel.deb libs optional
diff --git a/debian/libevas-dbg.debhelper.log b/debian/libevas-dbg.debhelper.log
new file mode 100644 (file)
index 0000000..4d7e2fb
--- /dev/null
@@ -0,0 +1,30 @@
+dh_installdirs
+dh_installdirs
+dh_installdocs
+dh_installexamples
+dh_installman
+dh_installinfo
+dh_installmenu
+dh_installcron
+dh_installinit
+dh_installdebconf
+dh_installemacsen
+dh_installcatalogs
+dh_installpam
+dh_installlogrotate
+dh_installlogcheck
+dh_installchangelogs
+dh_installudev
+dh_lintian
+dh_install
+dh_link
+dh_buildinfo
+dh_installmime
+dh_compress
+dh_fixperms
+dh_installdeb
+dh_perl
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
diff --git a/debian/libevas-dbg.substvars b/debian/libevas-dbg.substvars
new file mode 100644 (file)
index 0000000..abd3ebe
--- /dev/null
@@ -0,0 +1 @@
+misc:Depends=
diff --git a/debian/libevas-dbg/DEBIAN/control b/debian/libevas-dbg/DEBIAN/control
new file mode 100644 (file)
index 0000000..7c4fa4a
--- /dev/null
@@ -0,0 +1,19 @@
+Package: libevas-dbg
+Source: evas
+Version: 1.0.0.001+svn.58227slp2+build04
+Architecture: armel
+Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Sangjin Lee <lsj119@samsung.com>, Doyoun Kang <doyoun.kang@samsung.com>, YoungHoon Jung <yhoon.jung@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Gwanglim Lee <gl77.lee@samsung.com>, Jeonghyun Yun <jh0506.yun@samsung.com>, Seokjae Jeong <seok.j.jeong@samsung.com>, MyoungWoon Kim <myoungwoon.kim@samsung.com>, ChunEon Park <chuneon.park@samsung.com>, Hyoyoung Chang <hyoyoung.chang@samsung.com>, WooHyun Jung <wh0705.jung@samsung.com>, Gwangyeong Mun <kk.moon@samsung.com>
+Installed-Size: 3324
+Depends: libevas (= 1.0.0.001+svn.58227slp2+build04)
+Section: debug
+Priority: extra
+Homepage: http://www.enlightenment.org
+Description: enlightenment advanced canvas library
+ Evas is an advanced canvas library, providing six engines for rendering: X11,
+ OpenGL (hardware accelerated), DirectFB, the framebuffer, Microsoft Windows
+ and Qtopia.
+ .
+ This package contains unstripped shared libraries. It is provided primarily
+ to provide a backtrace with names in a debugger, this makes it somewhat
+ easier to interpret core dumps. The libraries are installed in
+ /usr/lib/debug and are automatically used by gdb.
diff --git a/debian/libevas-dbg/DEBIAN/md5sums b/debian/libevas-dbg/DEBIAN/md5sums
new file mode 100644 (file)
index 0000000..654b346
--- /dev/null
@@ -0,0 +1,24 @@
+0be708f9bbd9cbbcc379816bdd360e7a  usr/lib/debug/usr/lib/evas/modules/engines/buffer/linux-gnueabi-arm-1.0.999/module.so
+eeea42767d869eb79963547ee1829f7b  usr/lib/debug/usr/lib/evas/modules/engines/fb/linux-gnueabi-arm-1.0.999/module.so
+c039fea82de38c280f2f81ebe004fffe  usr/lib/debug/usr/lib/evas/modules/engines/gl_x11/linux-gnueabi-arm-1.0.999/module.so
+8b59e720389e1e4c6e6a3a48cc95cb06  usr/lib/debug/usr/lib/evas/modules/engines/software_generic/linux-gnueabi-arm-1.0.999/module.so
+3ae225946781a5c2754aba80441a1e2d  usr/lib/debug/usr/lib/evas/modules/engines/software_x11/linux-gnueabi-arm-1.0.999/module.so
+815687d08f7892e99744dd9aa19c962b  usr/lib/debug/usr/lib/evas/modules/loaders/bmp/linux-gnueabi-arm-1.0.999/module.so
+1386392f429d3a9012a9e16cc60413a0  usr/lib/debug/usr/lib/evas/modules/loaders/eet/linux-gnueabi-arm-1.0.999/module.so
+d9c92df6d8b651e9616aaec19898039c  usr/lib/debug/usr/lib/evas/modules/loaders/gif/linux-gnueabi-arm-1.0.999/module.so
+5e4f64442965ff7079d120032c330347  usr/lib/debug/usr/lib/evas/modules/loaders/ico/linux-gnueabi-arm-1.0.999/module.so
+7125edfbd8a40680dbc6732a6db18ee3  usr/lib/debug/usr/lib/evas/modules/loaders/jpeg/linux-gnueabi-arm-1.0.999/module.so
+453b9ad722e88a023c37363d2c45c77c  usr/lib/debug/usr/lib/evas/modules/loaders/pmaps/linux-gnueabi-arm-1.0.999/module.so
+ea24335ad0d2f5f353c89d26abbe0696  usr/lib/debug/usr/lib/evas/modules/loaders/png/linux-gnueabi-arm-1.0.999/module.so
+362976ad651b53ec6a03e7939bb5c0e1  usr/lib/debug/usr/lib/evas/modules/loaders/tga/linux-gnueabi-arm-1.0.999/module.so
+b043c1751ddedfe548db7dac5456f67a  usr/lib/debug/usr/lib/evas/modules/loaders/wbmp/linux-gnueabi-arm-1.0.999/module.so
+ccbf3d3e3efe71538893573a3d887f95  usr/lib/debug/usr/lib/evas/modules/loaders/xpm/linux-gnueabi-arm-1.0.999/module.so
+52f45cc3f449d429a2bb6566126bc306  usr/lib/debug/usr/lib/evas/modules/savers/eet/linux-gnueabi-arm-1.0.999/module.so
+cc41c6b0ba77d148ebc351241ac5fa7e  usr/lib/debug/usr/lib/evas/modules/savers/jpeg/linux-gnueabi-arm-1.0.999/module.so
+c2bdb6fdd8f7cba26597f5353b464b0d  usr/lib/debug/usr/lib/evas/modules/savers/png/linux-gnueabi-arm-1.0.999/module.so
+14a29967174e14621f39c418cb0c0e72  usr/lib/debug/usr/lib/libevas.so.1.0.999
+f58b02d3abce84aa429f0f08f2ad32a9  usr/share/doc/libevas-dbg/AUTHORS
+81321a3cc059cc0a97c4616df991f164  usr/share/doc/libevas-dbg/README.gz
+97fbc2e37a5e8a5f7d991c0df0004bcd  usr/share/doc/libevas-dbg/buildinfo.gz
+8ea8ab9fff20001597fdcdae574a279e  usr/share/doc/libevas-dbg/changelog.gz
+c3a4c42ad2241197ee1a2cde8a0e2854  usr/share/doc/libevas-dbg/copyright
diff --git a/debian/libevas-dbg/usr/lib/debug/usr/lib/libevas.so.1.0.999 b/debian/libevas-dbg/usr/lib/debug/usr/lib/libevas.so.1.0.999
new file mode 100644 (file)
index 0000000..e503425
Binary files /dev/null and b/debian/libevas-dbg/usr/lib/debug/usr/lib/libevas.so.1.0.999 differ
diff --git a/debian/libevas-dbg/usr/share/doc/libevas-dbg/AUTHORS b/debian/libevas-dbg/usr/share/doc/libevas-dbg/AUTHORS
new file mode 100644 (file)
index 0000000..75b5960
--- /dev/null
@@ -0,0 +1,24 @@
+Carsten Haitzler <raster@rasterman.com>
+Till Adam <till@adam-lilienthal.de>
+Steve Ireland <sireland@pobox.com>
+Brett Nash <nash@fluffyspider.com.au>
+Tilman Sauerbeck <tilman@code-monkey.de>
+Corey Donohoe <atmos@atmos.org>
+Yuri Hudobin <glassy_ape@users.sourceforge.net>
+Nathan Ingersoll <ningerso@d.umn.edu>
+Willem Monsuwe <willem@stack.nl>
+Jose O Gonzalez <jose_ogp@juno.com>
+Bernhard Nemec <Bernhard.Nemec@viasyshc.com>
+Jorge Luis Zapata Muga <jorgeluis.zapata@gmail.com>
+Cedric Bail <cedric.bail@free.fr>
+Gustavo Sverzut Barbieri <barbieri@gmail.com>
+Vincent Torri <vtorri at univ-evry dot fr>
+Tim Horton <hortont424@gmail.com>
+Tom Hacohen <tom@stosb.com>
+Mathieu Taillefumier <mathieu.taillefumier@free.fr>
+Iván Briano <ivan@profusion.mobi>
+Gustavo Lima Chaves <glima@profusion.mobi>
+Samsung Electronics <tbd>
+Samsung SAIT <tbd>
+Sung W. Park <sungwoo@gmail.com>
+Jiyoun Park <jy0703.park@samsung.com>
diff --git a/debian/libevas-dbg/usr/share/doc/libevas-dbg/README.gz b/debian/libevas-dbg/usr/share/doc/libevas-dbg/README.gz
new file mode 100644 (file)
index 0000000..9aef7f0
Binary files /dev/null and b/debian/libevas-dbg/usr/share/doc/libevas-dbg/README.gz differ
diff --git a/debian/libevas-dbg/usr/share/doc/libevas-dbg/buildinfo.gz b/debian/libevas-dbg/usr/share/doc/libevas-dbg/buildinfo.gz
new file mode 100644 (file)
index 0000000..683f2e6
Binary files /dev/null and b/debian/libevas-dbg/usr/share/doc/libevas-dbg/buildinfo.gz differ
diff --git a/debian/libevas-dbg/usr/share/doc/libevas-dbg/changelog.gz b/debian/libevas-dbg/usr/share/doc/libevas-dbg/changelog.gz
new file mode 100644 (file)
index 0000000..d9362b0
Binary files /dev/null and b/debian/libevas-dbg/usr/share/doc/libevas-dbg/changelog.gz differ
diff --git a/debian/libevas-dbg/usr/share/doc/libevas-dbg/copyright b/debian/libevas-dbg/usr/share/doc/libevas-dbg/copyright
new file mode 100644 (file)
index 0000000..3353e50
--- /dev/null
@@ -0,0 +1,38 @@
+This package was debianized by Debian Pkg-e Team <pkg-e-devel@lists.alioth.debian.org> 
+Sat, 07 Jul 2007 09:29:10 +0000.
+
+It was downloaded from http://download.enlightenment.org/
+
+Upstream Authors: 
+
+       Enlightenment team <enlightenment-devel@lists.sourceforge.net>
+
+Copyright:
+
+       Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS)
+    src/modules/engines/fb/evas_fb.h: Copyright (c) 1999 - Carsten Haitzler
+    src/modules/engines/fb/evas_fb_main.c: Copyright (c) 1999 - Carsten Haitzler
+
+License:
+
+  Permission is hereby granted, free of charge, to any person obtaining a
+  copy of this software and associated documentation files (the "Software"),
+  to deal in the Software without restriction, including without limitation
+  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+  and/or sell copies of the Software, and to permit persons to whom the
+  Software is furnished to do so, subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be included in
+  all copies of the Software, its documentation and marketing & publicity
+  materials, and acknowledgment shall be given in the documentation,
+  materials and software packages that this Software was used.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+  THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+On Debian systems, the complete text of the BSD License can be found
+in `/usr/share/common-licenses/BSD'.
diff --git a/debian/libevas-dev.debhelper.log b/debian/libevas-dev.debhelper.log
new file mode 100644 (file)
index 0000000..f2cf077
--- /dev/null
@@ -0,0 +1,32 @@
+dh_installdirs
+dh_installdirs
+dh_installdocs
+dh_installexamples
+dh_installman
+dh_installinfo
+dh_installmenu
+dh_installcron
+dh_installinit
+dh_installdebconf
+dh_installemacsen
+dh_installcatalogs
+dh_installpam
+dh_installlogrotate
+dh_installlogcheck
+dh_installchangelogs
+dh_installudev
+dh_lintian
+dh_install
+dh_link
+dh_buildinfo
+dh_installmime
+dh_strip
+dh_compress
+dh_fixperms
+dh_makeshlibs
+dh_installdeb
+dh_perl
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
diff --git a/debian/libevas-dev.substvars b/debian/libevas-dev.substvars
new file mode 100644 (file)
index 0000000..abd3ebe
--- /dev/null
@@ -0,0 +1 @@
+misc:Depends=
diff --git a/debian/libevas-dev/DEBIAN/control b/debian/libevas-dev/DEBIAN/control
new file mode 100644 (file)
index 0000000..6f6bcae
--- /dev/null
@@ -0,0 +1,20 @@
+Package: libevas-dev
+Source: evas
+Version: 1.0.0.001+svn.58227slp2+build04
+Architecture: armel
+Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Sangjin Lee <lsj119@samsung.com>, Doyoun Kang <doyoun.kang@samsung.com>, YoungHoon Jung <yhoon.jung@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Gwanglim Lee <gl77.lee@samsung.com>, Jeonghyun Yun <jh0506.yun@samsung.com>, Seokjae Jeong <seok.j.jeong@samsung.com>, MyoungWoon Kim <myoungwoon.kim@samsung.com>, ChunEon Park <chuneon.park@samsung.com>, Hyoyoung Chang <hyoyoung.chang@samsung.com>, WooHyun Jung <wh0705.jung@samsung.com>, Gwangyeong Mun <kk.moon@samsung.com>
+Installed-Size: 1220
+Depends: libevas (= 1.0.0.001+svn.58227slp2+build04), libjpeg7-dev, libx11-dev, libfreetype6-dev, libfontconfig1-dev, libeet-dev, pkg-config, libeina-dev (>= 0.0.2.060+svn20100304), libxext-dev, libpng12-dev, libfribidi-dev, libharfbuzz-dev, libgif-dev
+Suggests: libevas-doc
+Section: libdevel
+Priority: optional
+Homepage: http://www.enlightenment.org
+Description: Enlightenment DR17 advanced canvas library development files
+ Evas is an advanced canvas library, providing six engines for rendering: X11,
+ OpenGL (hardware accelerated), DirectFB, the framebuffer, Microsoft Windows
+ and Qtopia.
+ .
+ Due to its simple API, evas can be developed with rapidly, and cleanly.
+ .
+ This package provides headers and static libraries required to develop against
+ evas.
diff --git a/debian/libevas-dev/DEBIAN/md5sums b/debian/libevas-dev/DEBIAN/md5sums
new file mode 100644 (file)
index 0000000..b2c0b67
--- /dev/null
@@ -0,0 +1,19 @@
+3f6688f0c581c3b9fbf4063e9b82fe1f  usr/include/evas-1/Evas.h
+db7e636eab26853f7033a5f1bfb466e7  usr/include/evas-1/Evas_Engine_Buffer.h
+87591ef38e53ddf83af8ea100e1683e3  usr/include/evas-1/Evas_Engine_FB.h
+1eb426915bbc336ff622bc001195b01c  usr/include/evas-1/Evas_Engine_GL_X11.h
+8fab8b910e94d88d1a35687bc42eddd9  usr/include/evas-1/Evas_Engine_Software_X11.h
+44036c1acf0d05721dc05b1fb28e08fa  usr/include/evas-1/Evas_Engine_XRender_X11.h
+7e81e3286286d89dbdbb4bda057813d8  usr/lib/libevas.a
+375f4d0ec517ac6bdea4e78126dbbd96  usr/lib/libevas.la
+c75d3f8267357519f7efe84bdd22404c  usr/lib/pkgconfig/evas-fb.pc
+139e82c4bc6f4a0bcfeb28376bdd90ed  usr/lib/pkgconfig/evas-opengl-x11.pc
+ddff63f896c334894ef7371c4ab0ac2a  usr/lib/pkgconfig/evas-software-buffer.pc
+787af47a875a4558c9fd2e1b68b42ad1  usr/lib/pkgconfig/evas-software-x11.pc
+4f223e78509ff2e359c37a6059d40b6a  usr/lib/pkgconfig/evas-xrender-x11.pc
+d4fa8a7af20d7f3299ce2e1322da7677  usr/lib/pkgconfig/evas.pc
+f58b02d3abce84aa429f0f08f2ad32a9  usr/share/doc/libevas-dev/AUTHORS
+81321a3cc059cc0a97c4616df991f164  usr/share/doc/libevas-dev/README.gz
+c82a3aac4e8cd9d34cfec4b7d4d6a99b  usr/share/doc/libevas-dev/buildinfo.gz
+8ea8ab9fff20001597fdcdae574a279e  usr/share/doc/libevas-dev/changelog.gz
+c3a4c42ad2241197ee1a2cde8a0e2854  usr/share/doc/libevas-dev/copyright
diff --git a/debian/libevas-dev/usr/include/evas-1/Evas.h b/debian/libevas-dev/usr/include/evas-1/Evas.h
new file mode 100644 (file)
index 0000000..6e5156e
--- /dev/null
@@ -0,0 +1,2251 @@
+#ifndef _EVAS_H
+#define _EVAS_H
+
+#include <time.h>
+
+#include <Eina.h>
+
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_EVAS_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_EVAS_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define EVAS_VERSION_MAJOR 1
+#define EVAS_VERSION_MINOR 0
+
+typedef struct _Evas_Version
+{
+   int major;
+   int minor;
+   int micro;
+   int revision;
+} Evas_Version;
+
+EAPI extern Evas_Version *evas_version;
+
+/**
+ * @file
+ * @brief These routines are used for Evas library interaction.
+ *
+ * @todo check boolean return values and convert to Eina_Bool
+ * @todo change all api to use EINA_SAFETY_*
+ * @todo finish api documentation
+ */
+
+/* BiDi exposed stuff */
+   /*FIXME: document */
+typedef enum _Evas_BiDi_Direction
+{
+   EVAS_BIDI_DIRECTION_NATURAL,
+   EVAS_BIDI_DIRECTION_LTR,
+   EVAS_BIDI_DIRECTION_RTL
+} Evas_BiDi_Direction;
+
+/**
+ * Identifier of callbacks to be used with object or canvas.
+ *
+ * @see evas_object_event_callback_add()
+ * @see evas_event_callback_add()
+ */
+typedef enum _Evas_Callback_Type
+{
+   /*
+    * The following events are only for use with objects
+    * evas_object_event_callback_add():
+    */
+   EVAS_CALLBACK_MOUSE_IN, /**< Mouse In Event */
+   EVAS_CALLBACK_MOUSE_OUT, /**< Mouse Out Event */
+   EVAS_CALLBACK_MOUSE_DOWN, /**< Mouse Button Down Event */
+   EVAS_CALLBACK_MOUSE_UP, /**< Mouse Button Up Event */
+   EVAS_CALLBACK_MOUSE_MOVE, /**< Mouse Move Event */
+   EVAS_CALLBACK_MOUSE_WHEEL, /**< Mouse Wheel Event */
+   EVAS_CALLBACK_MULTI_DOWN, /**< Multi-touch Down Event */
+   EVAS_CALLBACK_MULTI_UP, /**< Multi-touch Up Event */
+   EVAS_CALLBACK_MULTI_MOVE, /**< Multi-touch Move Event */
+   EVAS_CALLBACK_FREE, /**< Object Being Freed (Called after Del) */
+   EVAS_CALLBACK_KEY_DOWN, /**< Key Press Event */
+   EVAS_CALLBACK_KEY_UP, /**< Key Release Event */
+   EVAS_CALLBACK_FOCUS_IN, /**< Focus In Event */
+   EVAS_CALLBACK_FOCUS_OUT, /**< Focus Out Event */
+   EVAS_CALLBACK_SHOW, /**< Show Event */
+   EVAS_CALLBACK_HIDE, /**< Hide Event */
+   EVAS_CALLBACK_MOVE, /**< Move Event */
+   EVAS_CALLBACK_RESIZE, /**< Resize Event */
+   EVAS_CALLBACK_RESTACK, /**< Restack Event */
+   EVAS_CALLBACK_DEL, /**< Object Being Deleted (called before Free) */
+   EVAS_CALLBACK_HOLD, /**< Events go on/off hold */
+   EVAS_CALLBACK_CHANGED_SIZE_HINTS, /**< Size hints changed event */
+   EVAS_CALLBACK_IMAGE_PRELOADED, /**< Image as been preloaded */
+
+   /*
+    * The following events are only for use with canvas
+    * evas_event_callback_add():
+    */
+   EVAS_CALLBACK_CANVAS_FOCUS_IN, /**< Canvas got focus as a whole */
+   EVAS_CALLBACK_CANVAS_FOCUS_OUT, /**< Canvas lost focus as a whole */
+   EVAS_CALLBACK_RENDER_FLUSH_PRE, /**< Called just before rendering is updated on the canvas target */
+   EVAS_CALLBACK_RENDER_FLUSH_POST, /**< Called just after rendering is updated on the canvas target */
+   EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, /**< Canvas object got focus */
+   EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, /**< Canvas object lost focus */
+
+   /* 
+    * More object event types - see evas_object_event_callback_add():
+    */
+   EVAS_CALLBACK_IMAGE_UNLOADED, /**< Image data has been unloaded (by some mechanims in evas that throws out original image data) */
+
+   /* the following id no event number, but a sentinel: */
+   EVAS_CALLBACK_LAST /**< keep as last element/sentinel -- not really an event */
+} Evas_Callback_Type; /**< The type of event to trigger the callback */
+
+/**
+ * Flags for Mouse Button events
+ */
+typedef enum _Evas_Button_Flags
+{
+   EVAS_BUTTON_NONE = 0, /**< No extra mouse button data */
+   EVAS_BUTTON_DOUBLE_CLICK = (1 << 0), /**< This mouse button press was the 2nd press of a double click */
+   EVAS_BUTTON_TRIPLE_CLICK = (1 << 1) /**< This mouse button press was the 3rd press of a triple click */
+} Evas_Button_Flags; /**< Flags for Mouse Button events */
+
+/**
+ * Flags for Events
+ */
+typedef enum _Evas_Event_Flags
+{
+   EVAS_EVENT_FLAG_NONE = 0, /**< No fancy flags set */
+   EVAS_EVENT_FLAG_ON_HOLD = (1 << 0), /**< This event is being delivered but should be put "on hold" until the on hold flag is unset. the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */
+   EVAS_EVENT_FLAG_ON_SCROLL = (1 << 1) /**< This event flag indicates the event occurs while scrolling; for exameple, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */
+} Evas_Event_Flags; /**< Flags for Events */
+
+/**
+ * Flags for Font Hinting
+ * @ingroup Evas_Font_Group
+ */
+typedef enum _Evas_Font_Hinting_Flags
+{
+   EVAS_FONT_HINTING_NONE, /**< No font hinting */
+   EVAS_FONT_HINTING_AUTO, /**< Automatic font hinting */
+   EVAS_FONT_HINTING_BYTECODE /**< Bytecode font hinting */
+} Evas_Font_Hinting_Flags; /**< Flags for Font Hinting */
+
+/**
+ * Colorspaces for pixel data supported by Evas
+ * @ingroup Evas_Object_Image
+ */
+typedef enum _Evas_Colorspace
+{
+   EVAS_COLORSPACE_ARGB8888, /**< ARGB 32 bits per pixel, high-byte is Alpha, accessed 1 32bit word at a time */
+     /* these are not currently supported - but planned for the future */
+   EVAS_COLORSPACE_YCBCR422P601_PL, /**< YCbCr 4:2:2 Planar, ITU.BT-601 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */
+   EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */
+   EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */
+   EVAS_COLORSPACE_GRY8, /**< 8bit grayscale */
+} Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */
+
+/**
+ * How to pack items into cells in a table.
+ * @ingroup Evas_Object_Table
+ */
+typedef enum _Evas_Object_Table_Homogeneous_Mode
+{
+  EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE = 0,
+  EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1,
+  EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2
+} Evas_Object_Table_Homogeneous_Mode; /**< Table cell pack mode. */
+
+typedef struct _Evas_Coord_Rectangle  Evas_Coord_Rectangle; /**< A generic rectangle handle */
+typedef struct _Evas_Point                   Evas_Point; /**< integer point */
+
+typedef struct _Evas_Coord_Point             Evas_Coord_Point;  /**< Evas_Coord point */
+typedef struct _Evas_Coord_Precision_Point   Evas_Coord_Precision_Point; /**< Evas_Coord point with sub-pixel precision */
+
+typedef struct _Evas_Position                Evas_Position; /**< associates given point in Canvas and Output */
+typedef struct _Evas_Precision_Position      Evas_Precision_Position; /**< associates given point in Canvas and Output, with sub-pixel precision */
+
+/**
+ * @typedef Evas_Smart_Class
+ * A smart object base class
+ * @ingroup Evas_Smart_Group
+ */
+typedef struct _Evas_Smart_Class             Evas_Smart_Class;
+
+/**
+ * @typedef Evas_Smart_Cb_Description
+ * A smart object callback description, used to provide introspection
+ * @ingroup Evas_Smart_Group
+ */
+typedef struct _Evas_Smart_Cb_Description    Evas_Smart_Cb_Description;
+
+/**
+ * @typedef Evas_Map
+ * An opaque handle to map points
+ * @see evas_map_new()
+ * @see evas_map_free()
+ * @see evas_map_dup()
+ * @ingroup Evas_Object_Group_Map
+ */
+typedef struct _Evas_Map            Evas_Map;
+
+/**
+ * @typedef Evas
+ * An Evas canvas handle.
+ * @see evas_new()
+ * @see evas_free()
+ * @ingroup Evas_Canvas
+ */
+typedef struct _Evas                Evas;
+
+/**
+ * @typedef Evas_Object
+ * An Evas Object handle.
+ * @ingroup Evas_Object_Group
+ */
+typedef struct _Evas_Object         Evas_Object;
+
+typedef void                        Evas_Performance; /**< An Evas Performance handle */
+typedef struct _Evas_Modifier       Evas_Modifier; /**< An Evas Modifier */
+typedef struct _Evas_Lock           Evas_Lock; /**< An Evas Lock */
+typedef struct _Evas_Smart          Evas_Smart; /**< An Evas Smart Object handle */
+typedef struct _Evas_Native_Surface Evas_Native_Surface; /**< A generic datatype for engine specific native surface information */
+typedef unsigned long long          Evas_Modifier_Mask; /**< An Evas modifier mask type */
+
+typedef int                         Evas_Coord;
+typedef int                         Evas_Font_Size;
+typedef int                         Evas_Angle;
+
+struct _Evas_Coord_Rectangle /**< A rectangle in Evas_Coord */
+{
+   Evas_Coord x; /**< top-left x co-ordinate of rectangle */
+   Evas_Coord y; /**< top-left y co-ordinate of rectangle */
+   Evas_Coord w; /**< width of rectangle */
+   Evas_Coord h; /**< height of rectangle */
+};
+
+struct _Evas_Point
+{
+   int x, y;
+};
+
+struct _Evas_Coord_Point
+{
+   Evas_Coord x, y;
+};
+
+struct _Evas_Coord_Precision_Point
+{
+   Evas_Coord x, y;
+   double xsub, ysub;
+};
+
+struct _Evas_Position
+{
+    Evas_Point output;
+    Evas_Coord_Point canvas;
+};
+
+struct _Evas_Precision_Position
+{
+    Evas_Point output;
+    Evas_Coord_Precision_Point canvas;
+};
+
+typedef enum _Evas_Aspect_Control
+{
+   EVAS_ASPECT_CONTROL_NONE = 0,
+   EVAS_ASPECT_CONTROL_NEITHER = 1,
+   EVAS_ASPECT_CONTROL_HORIZONTAL = 2,
+   EVAS_ASPECT_CONTROL_VERTICAL = 3,
+   EVAS_ASPECT_CONTROL_BOTH = 4
+} Evas_Aspect_Control;
+
+typedef struct _Evas_Pixel_Import_Source Evas_Pixel_Import_Source; /**< A source description of pixels for importing pixels */
+typedef struct _Evas_Engine_Info      Evas_Engine_Info; /**< A generic Evas Engine information structure */
+typedef struct _Evas_Device           Evas_Device; /**< A source device handle - where the event came from */
+typedef struct _Evas_Event_Mouse_Down Evas_Event_Mouse_Down; /**< Event structure for #EVAS_CALLBACK_MOUSE_DOWN event callbacks */
+typedef struct _Evas_Event_Mouse_Up   Evas_Event_Mouse_Up; /**< Event structure for #EVAS_CALLBACK_MOUSE_UP event callbacks */
+typedef struct _Evas_Event_Mouse_In   Evas_Event_Mouse_In; /**< Event structure for #EVAS_CALLBACK_MOUSE_IN event callbacks */
+typedef struct _Evas_Event_Mouse_Out  Evas_Event_Mouse_Out; /**< Event structure for #EVAS_CALLBACK_MOUSE_OUT event callbacks */
+typedef struct _Evas_Event_Mouse_Move Evas_Event_Mouse_Move; /**< Event structure for #EVAS_CALLBACK_MOUSE_MOVE event callbacks */
+typedef struct _Evas_Event_Mouse_Wheel Evas_Event_Mouse_Wheel; /**< Event structure for #EVAS_CALLBACK_MOUSE_WHEEL event callbacks */
+typedef struct _Evas_Event_Multi_Down Evas_Event_Multi_Down; /**< Event structure for #EVAS_CALLBACK_MULTI_DOWN event callbacks */
+typedef struct _Evas_Event_Multi_Up   Evas_Event_Multi_Up; /**< Event structure for #EVAS_CALLBACK_MULTI_UP event callbacks */
+typedef struct _Evas_Event_Multi_Move Evas_Event_Multi_Move; /**< Event structure for #EVAS_CALLBACK_MULTI_MOVE event callbacks */
+typedef struct _Evas_Event_Key_Down   Evas_Event_Key_Down; /**< Event structure for #EVAS_CALLBACK_KEY_DOWN event callbacks */
+typedef struct _Evas_Event_Key_Up     Evas_Event_Key_Up; /**< Event structure for #EVAS_CALLBACK_KEY_UP event callbacks */
+typedef struct _Evas_Event_Hold       Evas_Event_Hold; /**< Event structure for #EVAS_CALLBACK_HOLD event callbacks */
+
+typedef enum _Evas_Load_Error
+{
+   EVAS_LOAD_ERROR_NONE = 0, /**< No error on load */
+   EVAS_LOAD_ERROR_GENERIC = 1, /**< A non-specific error occurred */
+   EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< File (or file path) does not exist */
+   EVAS_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission deinied to an existing file (or path) */
+   EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Allocation of resources failure prevented load */
+   EVAS_LOAD_ERROR_CORRUPT_FILE = 5, /**< File corrupt (but was detected as a known format) */
+   EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6 /**< File is not a known format */
+} Evas_Load_Error; /**< Load error you can get from loading of files - see evas_load_error_str() too */
+
+typedef enum _Evas_Alloc_Error
+{
+   EVAS_ALLOC_ERROR_NONE = 0, /**< No allocation error */
+   EVAS_ALLOC_ERROR_FATAL = 1, /**< Allocation failed despite attempts to free up memory */
+   EVAS_ALLOC_ERROR_RECOVERED = 2 /**< Allocation succeeded, but extra memory had to be found by freeing up speculative resources */
+} Evas_Alloc_Error; /**< Possible allocation errors returned by evas_alloc_error() */
+   
+typedef enum _Evas_Fill_Spread
+{
+   EVAS_TEXTURE_REFLECT = 0, /**< image fill tiling mode - tiling reflects */
+   EVAS_TEXTURE_REPEAT = 1, /**< tiling repeats */
+   EVAS_TEXTURE_RESTRICT = 2, /**< tiling clamps - range offset ignored */
+   EVAS_TEXTURE_RESTRICT_REFLECT = 3, /**< tiling clamps and any range offset reflects */
+   EVAS_TEXTURE_RESTRICT_REPEAT = 4, /**< tiling clamps and any range offset repeats */
+   EVAS_TEXTURE_PAD = 5 /**< tiling extends with end values */
+} Evas_Fill_Spread; /**< Fill types used for evas_object_image_fill_spread_set() */
+
+typedef enum _Evas_Pixel_Import_Pixel_Format
+{
+   EVAS_PIXEL_FORMAT_NONE = 0, /**< No pixel format */
+   EVAS_PIXEL_FORMAT_ARGB32 = 1, /**< ARGB 32bit pixel format with A in the high byte per 32bit pixel word */
+   EVAS_PIXEL_FORMAT_YUV420P_601 = 2, /**< YUV 420 Planar format with CCIR 601 color encoding wuth contiguous planes in the order Y, U and V */
+} Evas_Pixel_Import_Pixel_Format; /**< Pixel format for import call. See evas_object_image_pixels_import() */
+
+struct _Evas_Pixel_Import_Source
+{
+   Evas_Pixel_Import_Pixel_Format format; /**< pixel format type ie ARGB32, YUV420P_601 etc. */
+   int w, h; /**< width and height of source in pixels */
+   void **rows; /**< an array of pointers (size depends on format) pointing to left edge of each scanline */
+};
+
+/* magic version number to know what the native surf struct looks like */
+#define EVAS_NATIVE_SURFACE_VERSION 2
+  
+typedef enum _Evas_Native_Surface_Type
+{
+   EVAS_NATIVE_SURFACE_NONE,
+   EVAS_NATIVE_SURFACE_X11,
+   EVAS_NATIVE_SURFACE_OPENGL
+} Evas_Native_Surface_Type;
+  
+struct _Evas_Native_Surface
+{
+   int                         version;
+   Evas_Native_Surface_Type    type;
+   union {
+     struct {
+       void          *visual; /**< visual of the pixmap to use (Visual) */
+       unsigned long  pixmap; /**< pixmap id to use (Pixmap) */
+     } x11;
+     struct {
+       unsigned int   texture_id; /**< opengl texture id to use from glGenTextures() */
+       unsigned int   framebuffer_id; /**< 0 if not a FBO, FBO id otherwise from glGenFramebuffers() */
+       unsigned int   internal_format; /**< same as 'internalFormat' for glTexImage2D() */
+       unsigned int   format; /**< same as 'format' for glTexImage2D() */
+       unsigned int   x, y, w, h; /**< region inside the texture to use (image size is assumed as texture size, with 0, 0 being the top-left and co-ordinates working down to the right and bottom being positive) */
+     } opengl;
+   } data;
+};
+
+#define EVAS_LAYER_MIN -32768 /**< bottom-most layer number */
+#define EVAS_LAYER_MAX 32767  /**< top-most layer number */
+
+#define EVAS_COLOR_SPACE_ARGB 0 /**< Not used for anything */
+#define EVAS_COLOR_SPACE_AHSV 1 /**< Not used for anything */
+#define EVAS_TEXT_INVALID -1 /**< Not used for anything */
+#define EVAS_TEXT_SPECIAL -2 /**< Not used for anything */
+
+#define EVAS_HINT_EXPAND  1.0 /**< Use with evas_object_size_hint_weight_set(), evas_object_size_hint_weight_get(), evas_object_size_hint_expand_set(), evas_object_size_hint_expand_get() */
+#define EVAS_HINT_FILL   -1.0 /**< Use with evas_object_size_hint_align_set(), evas_object_size_hint_align_get(), evas_object_size_hint_fill_set(), evas_object_size_hint_fill_get() */
+#define evas_object_size_hint_fill_set evas_object_size_hint_align_set /**< Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align) */
+#define evas_object_size_hint_fill_get evas_object_size_hint_align_get /**< Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align) */
+#define evas_object_size_hint_expand_set evas_object_size_hint_weight_set /**< Convenience macro to make it easier to understand that weight is also used for expand properties */
+#define evas_object_size_hint_expand_get evas_object_size_hint_weight_get /**< Convenience macro to make it easier to understand that weight is also used for expand properties */
+
+/**
+ * How the object should be rendered to output.
+ * @ingroup Evas_Object_Group_Extras
+ */
+typedef enum _Evas_Render_Op
+{
+   EVAS_RENDER_BLEND = 0, /**< default op: d = d*(1-sa) + s */
+   EVAS_RENDER_BLEND_REL = 1, /**< d = d*(1 - sa) + s*da */
+   EVAS_RENDER_COPY = 2, /**< d = s */
+   EVAS_RENDER_COPY_REL = 3, /**< d = s*da */
+   EVAS_RENDER_ADD = 4, /**< d = d + s */
+   EVAS_RENDER_ADD_REL = 5, /**< d = d + s*da */
+   EVAS_RENDER_SUB = 6, /**< d = d - s */
+   EVAS_RENDER_SUB_REL = 7, /**< d = d - s*da */
+   EVAS_RENDER_TINT = 8, /**< d = d*s + d*(1 - sa) + s*(1 - da) */
+   EVAS_RENDER_TINT_REL = 9, /**< d = d*(1 - sa + s) */
+   EVAS_RENDER_MASK = 10, /**< d = d*sa */
+   EVAS_RENDER_MUL = 11 /**< d = d*s */
+} Evas_Render_Op; /**< How the object should be rendered to output. */
+
+typedef enum _Evas_Border_Fill_Mode
+{
+   EVAS_BORDER_FILL_NONE = 0,
+   EVAS_BORDER_FILL_DEFAULT = 1,
+   EVAS_BORDER_FILL_SOLID = 2
+} Evas_Border_Fill_Mode;
+
+typedef enum _Evas_Image_Scale_Hint
+{
+   EVAS_IMAGE_SCALE_HINT_NONE = 0,
+   EVAS_IMAGE_SCALE_HINT_DYNAMIC = 1,
+   EVAS_IMAGE_SCALE_HINT_STATIC = 2
+} Evas_Image_Scale_Hint;
+
+typedef enum _Evas_Engine_Render_Mode
+{
+   EVAS_RENDER_MODE_BLOCKING = 0,
+   EVAS_RENDER_MODE_NONBLOCKING = 1,
+} Evas_Engine_Render_Mode;
+
+typedef enum _Evas_Image_Content_Hint
+{
+   EVAS_IMAGE_CONTENT_HINT_NONE = 0,
+   EVAS_IMAGE_CONTENT_HINT_DYNAMIC = 1,
+   EVAS_IMAGE_CONTENT_HINT_STATIC = 2
+} Evas_Image_Content_Hint;
+
+struct _Evas_Engine_Info /** Generic engine information. Generic info is useless */
+{
+   int magic; /**< Magic number */
+};
+
+struct _Evas_Event_Mouse_Down /** Mouse button press event */
+{
+   int button; /**< Mouse button number that went down (1 - 32) */
+
+   Evas_Point output;
+   Evas_Coord_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   Evas_Button_Flags flags;
+   unsigned int      timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Mouse_Up /** Mouse button release event */
+{
+   int button; /**< Mouse button number that was raised (1 - 32) */
+
+   Evas_Point output;
+   Evas_Coord_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   Evas_Button_Flags flags;
+   unsigned int      timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Mouse_In /** Mouse enter event */
+{
+   int buttons; /**< Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.) */
+
+   Evas_Point output;
+   Evas_Coord_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Mouse_Out /** Mouse leave event */
+{
+   int buttons; /**< Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.) */
+
+
+   Evas_Point output;
+   Evas_Coord_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Mouse_Move /** Mouse button down event */
+{
+   int buttons; /**< Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.) */
+
+   Evas_Position cur, prev;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Mouse_Wheel /** Wheel event */
+{
+   int direction; /* 0 = default up/down wheel FIXME: more wheel types */
+   int z; /* ...,-2,-1 = down, 1,2,... = up */
+
+   Evas_Point output;
+   Evas_Coord_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Multi_Down /** Multi button press event */
+{
+   int device; /**< Multi device number that went down (1 or more for extra touches) */
+   double radius, radius_x, radius_y;
+   double pressure, angle;
+
+   Evas_Point output;
+   Evas_Coord_Precision_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   Evas_Button_Flags flags;
+   unsigned int      timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Multi_Up /** Multi button release event */
+{
+   int device; /**< Multi device number that went up (1 or more for extra touches) */
+   double radius, radius_x, radius_y;
+   double pressure, angle;
+
+   Evas_Point output;
+   Evas_Coord_Precision_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   Evas_Button_Flags flags;
+   unsigned int      timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Multi_Move /** Multi button down event */
+{
+   int device; /**< Multi device number that moved (1 or more for extra touches) */
+   double radius, radius_x, radius_y;
+   double pressure, angle;
+
+   Evas_Precision_Position cur;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Key_Down /** Key press event */
+{
+   char          *keyname; /**< The string name of the key pressed */
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   const char    *key; /**< The logical key : (eg shift+1 == exclamation) */
+   const char    *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */
+   const char    *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Key_Up /** Key release event */
+{
+   char          *keyname; /**< The string name of the key released */
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   const char    *key; /**< The logical key : (eg shift+1 == exclamation) */
+   const char    *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */
+   const char    *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Hold /** Hold change event */
+{
+   int            hold; /**< The hold flag */
+   void          *data;
+
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+/**
+ * How mouse pointer should be handled by Evas.
+ *
+ * If #EVAS_OBJECT_POINTER_MODE_AUTOGRAB, then when mouse is down an
+ * object, then moves outside of it, the pointer still behaves as
+ * being bound to the object, albeit out of its drawing region. On
+ * mouse up, the event will be feed to the object, that may check if
+ * the final position is over or not and do something about it.
+ *
+ * @ingroup Evas_Object_Group_Extras
+ */
+typedef enum _Evas_Object_Pointer_Mode
+{
+   EVAS_OBJECT_POINTER_MODE_AUTOGRAB, /**< default, X11-like */
+   EVAS_OBJECT_POINTER_MODE_NOGRAB
+} Evas_Object_Pointer_Mode; /**< How mouse pointer should be handled by Evas. */
+
+typedef void      (*Evas_Smart_Cb) (void *data, Evas_Object *obj, void *event_info);
+typedef void      (*Evas_Event_Cb) (void *data, Evas *e, void *event_info);
+typedef Eina_Bool (*Evas_Object_Event_Post_Cb) (void *data, Evas *e);
+typedef void      (*Evas_Object_Event_Cb) (void *data, Evas *e, Evas_Object *obj, void *event_info);
+typedef void      (*Evas_Async_Events_Put_Cb)(void *target, Evas_Callback_Type type, void *event_info);
+
+/**
+ * @defgroup Evas_Group Top Level Functions
+ *
+ * Functions that affect Evas as a whole.
+ */
+   EAPI int               evas_init                         (void);
+   EAPI int               evas_shutdown                     (void);
+
+   EAPI Evas_Alloc_Error  evas_alloc_error                  (void);
+
+   EAPI int               evas_async_events_fd_get          (void) EINA_WARN_UNUSED_RESULT EINA_PURE;
+   EAPI int               evas_async_events_process         (void);
+   EAPI Eina_Bool         evas_async_events_put             (const void *target, Evas_Callback_Type type, void *event_info, Evas_Async_Events_Put_Cb func) EINA_ARG_NONNULL(1, 4);
+
+/**
+ * @defgroup Evas_Canvas Canvas Functions
+ *
+ * Functions that deal with the basic evas object.  They are the
+ * functions you need to use at a minimum to get a working evas, and
+ * to destroy it.
+ *
+ */
+
+   EAPI Evas             *evas_new                          (void) EINA_WARN_UNUSED_RESULT EINA_MALLOC;
+   EAPI void              evas_free                         (Evas *e)  EINA_ARG_NONNULL(1);
+
+   EAPI void              evas_focus_in                     (Evas *e);
+   EAPI void              evas_focus_out                    (Evas *e);
+   EAPI Eina_Bool         evas_focus_state_get              (const Evas *e) EINA_PURE;
+   EAPI void              evas_nochange_push                (Evas *e);
+   EAPI void              evas_nochange_pop                 (Evas *e);
+         
+   EAPI void              evas_data_attach_set              (Evas *e, void *data) EINA_ARG_NONNULL(1);
+   EAPI void             *evas_data_attach_get              (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_damage_rectangle_add         (Evas *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_obscured_rectangle_add       (Evas *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_obscured_clear               (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI Eina_List        *evas_render_updates               (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI void              evas_render_updates_free          (Eina_List *updates);
+   EAPI void              evas_render                       (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_norender                     (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_render_idle_flush            (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_render_dump                  (Evas *e) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Output_Method Render Engine Functions
+ *
+ * Functions that are used to set the render engine for a given
+ * function, and then get that engine working.
+ *
+ * The following code snippet shows how they can be used to
+ * initialise an evas that uses the X11 software engine:
+ * @code
+ * Evas *evas;
+ * Evas_Engine_Info_Software_X11 *einfo;
+ * extern Display *display;
+ * extern Window win;
+ *
+ * evas_init();
+ *
+ * evas = evas_new();
+ * evas_output_method_set(evas, evas_render_method_lookup("software_x11"));
+ * evas_output_size_set(evas, 640, 480);
+ * evas_output_viewport_set(evas, 0, 0, 640, 480);
+ * einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(evas);
+ * einfo->info.display = display;
+ * einfo->info.visual = DefaultVisual(display, DefaultScreen(display));
+ * einfo->info.colormap = DefaultColormap(display, DefaultScreen(display));
+ * einfo->info.drawable = win;
+ * einfo->info.depth = DefaultDepth(display, DefaultScreen(display));
+ * evas_engine_info_set(evas, (Evas_Engine_Info *)einfo);
+ * @endcode
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI int               evas_render_method_lookup         (const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI Eina_List        *evas_render_method_list           (void) EINA_WARN_UNUSED_RESULT;
+   EAPI void              evas_render_method_list_free      (Eina_List *list);
+
+   EAPI void              evas_output_method_set            (Evas *e, int render_method) EINA_ARG_NONNULL(1);
+   EAPI int               evas_output_method_get            (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Evas_Engine_Info *evas_engine_info_get              (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_Bool         evas_engine_info_set              (Evas *e, Evas_Engine_Info *info) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Output_Size Output and Viewport Resizing Functions
+ *
+ * Functions that set and retrieve the output and viewport size of an
+ * evas.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void              evas_output_size_set              (Evas *e, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_output_size_get              (const Evas *e, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_output_viewport_set          (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_output_viewport_get          (const Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Coord_Mapping_Group Coordinate Mapping Functions
+ *
+ * Functions that are used to map coordinates from the canvas to the
+ * screen or the screen to the canvas.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI Evas_Coord        evas_coord_screen_x_to_world      (const Evas *e, int x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI Evas_Coord        evas_coord_screen_y_to_world      (const Evas *e, int y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI int               evas_coord_world_x_to_screen      (const Evas *e, Evas_Coord x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI int               evas_coord_world_y_to_screen      (const Evas *e, Evas_Coord y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Pointer_Group Pointer (Mouse) Functions
+ *
+ * Functions that deal with the status of the pointer (mouse cursor).
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void              evas_pointer_output_xy_get        (const Evas *e, int *x, int *y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_pointer_canvas_xy_get        (const Evas *e, Evas_Coord *x, Evas_Coord *y) EINA_ARG_NONNULL(1);
+   EAPI int               evas_pointer_button_down_mask_get (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_pointer_inside_get           (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI void              evas_sync(Evas *e) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Event_Freezing_Group Event Freezing Functions
+ *
+ * Functions that deal with the freezing of event processing of an
+ * evas.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void              evas_event_freeze                 (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_thaw                   (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI int               evas_event_freeze_get             (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Event_Feeding_Group Event Feeding Functions
+ *
+ * Functions to tell Evas that events happened and should be
+ * processed.
+ *
+ * As explained in @ref intro_not_evas, Evas does not know how to poll
+ * for events, so the developer should do it and then feed such events
+ * to the canvas to be processed. This is only required if operating
+ * Evas directly as modules such as Ecore_Evas does that for you.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void              evas_event_feed_mouse_down        (Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_mouse_up          (Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_mouse_move        (Evas *e, int x, int y, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_mouse_in          (Evas *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_mouse_out         (Evas *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_multi_down        (Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data);
+   EAPI void              evas_event_feed_multi_up          (Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data);
+   EAPI void              evas_event_feed_multi_move        (Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data);
+   EAPI void              evas_event_feed_mouse_cancel      (Evas *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_mouse_wheel       (Evas *e, int direction, int z, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_key_down          (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_key_up            (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_hold              (Evas *e, int hold, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Canvas_Events Canvas Events
+ *
+ * Canvas generates some events
+ *
+ * @ingroup Evas_Canvas
+ */
+
+   EAPI void              evas_event_callback_add              (Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3);
+   EAPI void             *evas_event_callback_del              (Evas *e, Evas_Callback_Type type, Evas_Event_Cb func) EINA_ARG_NONNULL(1, 3);
+   EAPI void             *evas_event_callback_del_full         (Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3);
+   EAPI void              evas_post_event_callback_push        (Evas *e, Evas_Object_Event_Post_Cb func, const void *data);
+   EAPI void              evas_post_event_callback_remove      (Evas *e, Evas_Object_Event_Post_Cb func);
+   EAPI void              evas_post_event_callback_remove_full (Evas *e, Evas_Object_Event_Post_Cb func, const void *data);
+       
+/**
+ * @defgroup Evas_Image_Group Image Functions
+ *
+ * Functions that deals with images at canvas level.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void              evas_image_cache_flush            (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_image_cache_reload           (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_image_cache_set              (Evas *e, int size) EINA_ARG_NONNULL(1);
+   EAPI int               evas_image_cache_get              (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Font_Group Font Functions
+ *
+ * Functions that deals with fonts.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void                     evas_font_hinting_set        (Evas *e, Evas_Font_Hinting_Flags hinting) EINA_ARG_NONNULL(1);
+   EAPI Evas_Font_Hinting_Flags  evas_font_hinting_get        (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_Bool                evas_font_hinting_can_hint   (const Evas *e, Evas_Font_Hinting_Flags hinting) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                     evas_font_cache_flush        (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_font_cache_set          (Evas *e, int size) EINA_ARG_NONNULL(1);
+   EAPI int                      evas_font_cache_get          (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Eina_List               *evas_font_available_list     (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_font_available_list_free(Evas *e, Eina_List *available) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Font_Path_Group Font Path Functions
+ *
+ * Functions that edit the paths being used to load fonts.
+ *
+ * @ingroup Evas_Font_Group
+ */
+   EAPI void              evas_font_path_clear              (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_font_path_append             (Evas *e, const char *path) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_font_path_prepend            (Evas *e, const char *path) EINA_ARG_NONNULL(1, 2);
+   EAPI const Eina_List  *evas_font_path_list               (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Object_Group Generic Object Functions
+ *
+ * Functions that manipulate generic evas objects.
+ */
+
+/**
+ * @defgroup Evas_Object_Group_Basic Basic Object Manipulation
+ *
+ * Methods that are often used, like those that change the color,
+ * clippers and geometry of the object.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI void              evas_object_clip_set              (Evas_Object *obj, Evas_Object *clip) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object      *evas_object_clip_get              (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_clip_unset            (Evas_Object *obj);
+   EAPI const Eina_List  *evas_object_clipees_get           (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_focus_set             (Evas_Object *obj, Eina_Bool focus) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_focus_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_layer_set             (Evas_Object *obj, short l) EINA_ARG_NONNULL(1);
+   EAPI short             evas_object_layer_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_name_set              (Evas_Object *obj, const char *name) EINA_ARG_NONNULL(1);
+   EAPI const char       *evas_object_name_get              (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_ref                   (Evas_Object *obj);
+   EAPI void              evas_object_unref                 (Evas_Object *obj);
+   
+   EAPI void              evas_object_del                   (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_move                  (Evas_Object *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_resize                (Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_geometry_get          (const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+
+   EAPI void              evas_object_show                  (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_hide                  (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_visible_get           (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_color_set             (Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_color_get             (const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
+
+   EAPI Evas             *evas_object_evas_get              (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI const char       *evas_object_type_get              (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_raise                 (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_lower                 (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_stack_above           (Evas_Object *obj, Evas_Object *above) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_stack_below           (Evas_Object *obj, Evas_Object *below) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object      *evas_object_above_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Object      *evas_object_below_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Object_Group_Events Object Events
+ *
+ * Objects generates events when they are moved, resized, when their
+ * visibility change, when they are deleted and so on. These methods
+ * will allow one to handle such events.
+ *
+ * The events can be those from keyboard and mouse, if the object
+ * accepts these events.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI void              evas_object_event_callback_add     (Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3);
+   EAPI void             *evas_object_event_callback_del     (Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func) EINA_ARG_NONNULL(1, 3);
+   EAPI void             *evas_object_event_callback_del_full(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3);
+
+   EAPI void              evas_object_pass_events_set        (Evas_Object *obj, Eina_Bool pass) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_pass_events_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_repeat_events_set      (Evas_Object *obj, Eina_Bool repeat) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_repeat_events_get      (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_propagate_events_set   (Evas_Object *obj, Eina_Bool prop) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_propagate_events_get   (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Object_Group_Map UV Mapping (Rotation, Perspecitve, 3D...)
+ *
+ * Evas allows different transformations to be applied to all kinds of
+ * objects. These are applied by means of UV mapping.
+ *
+ * With UV mapping, one maps points in the source object to a 3D space
+ * positioning at target. This allows rotation, perspective, scale and
+ * lots of other effects, depending on the map that is used.
+ *
+ * Each map point may carry a multiplier color. If properly
+ * calculated, these can do shading effects on the object, producing
+ * 3D effects.
+ *
+ * As usual, Evas provides both the raw and easy to use methods. The
+ * raw methods allow developer to create its maps somewhere else,
+ * maybe load them from some file format. The easy to use methods,
+ * calculate the points given some high-level parameters, such as
+ * rotation angle, ambient light and so on.
+ *
+ * @note applying mapping will reduce performance, so use with
+ *       care. The impact on performance depends on engine in
+ *       use. Software is quite optimized, but not as fast as OpenGL.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI void              evas_object_map_enable_set        (Evas_Object *obj, Eina_Bool enabled);
+   EAPI Eina_Bool         evas_object_map_enable_get        (const Evas_Object *obj);
+   EAPI void              evas_object_map_source_set        (Evas_Object *obj, Evas_Object *src);
+   EAPI Evas_Object      *evas_object_map_source_get        (const Evas_Object *obj);
+   EAPI void              evas_object_map_set               (Evas_Object *obj, const Evas_Map *map);
+   EAPI const Evas_Map   *evas_object_map_get               (const Evas_Object *obj);
+
+   EAPI void              evas_map_util_points_populate_from_object_full(Evas_Map *m, const Evas_Object *obj, Evas_Coord z);
+   EAPI void              evas_map_util_points_populate_from_object     (Evas_Map *m, const Evas_Object *obj);
+   EAPI void              evas_map_util_points_populate_from_geometry   (Evas_Map *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z);
+   EAPI void              evas_map_util_points_color_set                (Evas_Map *m, int r, int g, int b, int a);
+   EAPI void              evas_map_util_rotate                          (Evas_Map *m, double degrees, Evas_Coord cx, Evas_Coord cy);
+   EAPI void              evas_map_util_zoom                            (Evas_Map *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy);
+   EAPI void              evas_map_util_3d_rotate                       (Evas_Map *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz);
+   EAPI void              evas_map_util_3d_lighting                     (Evas_Map *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab);
+   EAPI void              evas_map_util_3d_perspective                  (Evas_Map *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc);
+   EAPI Eina_Bool         evas_map_util_clockwise_get                   (Evas_Map *m);
+
+   EAPI Evas_Map         *evas_map_new                      (int count);
+   EAPI void              evas_map_smooth_set               (Evas_Map *m, Eina_Bool enabled);
+   EAPI Eina_Bool         evas_map_smooth_get               (const Evas_Map *m);
+   EAPI void              evas_map_alpha_set                (Evas_Map *m, Eina_Bool enabled);
+   EAPI Eina_Bool         evas_map_alpha_get                (const Evas_Map *m);
+   EAPI Evas_Map         *evas_map_dup                      (const Evas_Map *m);
+   EAPI void              evas_map_free                     (Evas_Map *m);
+   EAPI int               evas_map_count_get               (const Evas_Map *m) EINA_CONST;
+   EAPI void              evas_map_point_coord_set          (Evas_Map *m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z);
+   EAPI void              evas_map_point_coord_get          (const Evas_Map *m, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z);
+   EAPI void              evas_map_point_image_uv_set       (Evas_Map *m, int idx, double u, double v);
+   EAPI void              evas_map_point_image_uv_get       (const Evas_Map *m, int idx, double *u, double *v);
+   EAPI void              evas_map_point_color_set          (Evas_Map *m, int idx, int r, int g, int b, int a);
+   EAPI void              evas_map_point_color_get          (const Evas_Map *m, int idx, int *r, int *g, int *b, int *a);
+
+/**
+ * @defgroup Evas_Object_Group_Size_Hints Size Hints
+ *
+ * Objects may carry hints so another object that acts as a manager
+ * (see @ref Evas_Smart_Object_Group) may know how to properly position
+ * and resize the object. The Size Hints provide a common interface
+ * that is recommended as the protocol for such information.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI void              evas_object_size_hint_min_get     (const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_min_set     (Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_max_get     (const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_max_set     (Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_request_get (const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_request_set (Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_aspect_get  (const Evas_Object *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_aspect_set  (Evas_Object *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_align_get   (const Evas_Object *obj, double *x, double *y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_align_set   (Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_weight_get  (const Evas_Object *obj, double *x, double *y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_weight_set  (Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_padding_get (const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_padding_set (Evas_Object *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Object_Group_Extras Extra Object Manipulation
+ *
+ * Miscellaneous functions that also apply to any object, but are less
+ * used or not implemented by all objects.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI void                      evas_object_data_set             (Evas_Object *obj, const char *key, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                     *evas_object_data_get             (const Evas_Object *obj, const char *key) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI void                     *evas_object_data_del             (Evas_Object *obj, const char *key) EINA_ARG_NONNULL(1, 2);
+
+   EAPI void                      evas_object_pointer_mode_set     (Evas_Object *obj, Evas_Object_Pointer_Mode setting) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object_Pointer_Mode  evas_object_pointer_mode_get     (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                      evas_object_anti_alias_set       (Evas_Object *obj, Eina_Bool antialias) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                 evas_object_anti_alias_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                      evas_object_scale_set            (Evas_Object *obj, double scale) EINA_ARG_NONNULL(1);
+   EAPI double                    evas_object_scale_get            (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                      evas_object_render_op_set        (Evas_Object *obj, Evas_Render_Op op) EINA_ARG_NONNULL(1);
+   EAPI Evas_Render_Op            evas_object_render_op_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                      evas_object_precise_is_inside_set(Evas_Object *obj, Eina_Bool precise) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                 evas_object_precise_is_inside_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                      evas_object_static_clip_set      (Evas_Object *obj, Eina_Bool is_static_clip) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                 evas_object_static_clip_get      (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+         
+/**
+ * @defgroup Evas_Object_Group_Find Finding Objects
+ *
+ * Functions that allows finding objects by their position, name or
+ * other properties.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI Evas_Object      *evas_focus_get                    (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Evas_Object      *evas_object_name_find             (const Evas *e, const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Evas_Object      *evas_object_top_at_xy_get         (const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Object      *evas_object_top_at_pointer_get    (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Object      *evas_object_top_in_rectangle_get  (const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Eina_List        *evas_objects_at_xy_get            (const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_List        *evas_objects_in_rectangle_get     (const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Evas_Object      *evas_object_bottom_get            (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Object      *evas_object_top_get               (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Object_Group_Interceptors Object Method Interceptors
+ *
+ * Evas provides a way to intercept method calls. The interceptor
+ * callback may opt to completely deny the call, or may check and
+ * change the parameters before continuing. The continuation of an
+ * intercepted call is done by calling the intercepted call again,
+ * from inside the interceptor callback.
+ *
+ * @ingroup Evas_Object_Group
+ */
+typedef void (*Evas_Object_Intercept_Show_Cb) (void *data, Evas_Object *obj);
+typedef void (*Evas_Object_Intercept_Hide_Cb) (void *data, Evas_Object *obj);
+typedef void (*Evas_Object_Intercept_Move_Cb) (void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y);
+typedef void (*Evas_Object_Intercept_Resize_Cb) (void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h);
+typedef void (*Evas_Object_Intercept_Raise_Cb) (void *data, Evas_Object *obj);
+typedef void (*Evas_Object_Intercept_Lower_Cb) (void *data, Evas_Object *obj);
+typedef void (*Evas_Object_Intercept_Stack_Above_Cb) (void *data, Evas_Object *obj, Evas_Object *above);
+typedef void (*Evas_Object_Intercept_Stack_Below_Cb) (void *data, Evas_Object *obj, Evas_Object *above);
+typedef void (*Evas_Object_Intercept_Layer_Set_Cb) (void *data, Evas_Object *obj, int l);
+typedef void (*Evas_Object_Intercept_Color_Set_Cb) (void *data, Evas_Object *obj, int r, int g, int b, int a);
+typedef void (*Evas_Object_Intercept_Clip_Set_Cb) (void *data, Evas_Object *obj, Evas_Object *clip);
+typedef void (*Evas_Object_Intercept_Clip_Unset_Cb) (void *data, Evas_Object *obj);
+   
+   EAPI void              evas_object_intercept_show_callback_add        (Evas_Object *obj, Evas_Object_Intercept_Show_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_show_callback_del        (Evas_Object *obj, Evas_Object_Intercept_Show_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_hide_callback_add        (Evas_Object *obj, Evas_Object_Intercept_Hide_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_hide_callback_del        (Evas_Object *obj, Evas_Object_Intercept_Hide_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_move_callback_add        (Evas_Object *obj, Evas_Object_Intercept_Move_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_move_callback_del        (Evas_Object *obj, Evas_Object_Intercept_Move_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_resize_callback_add      (Evas_Object *obj, Evas_Object_Intercept_Resize_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_resize_callback_del      (Evas_Object *obj, Evas_Object_Intercept_Resize_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_raise_callback_add       (Evas_Object *obj, Evas_Object_Intercept_Raise_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_raise_callback_del       (Evas_Object *obj, Evas_Object_Intercept_Raise_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_lower_callback_add       (Evas_Object *obj, Evas_Object_Intercept_Lower_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_lower_callback_del       (Evas_Object *obj, Evas_Object_Intercept_Lower_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_stack_above_callback_add (Evas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_stack_above_callback_del (Evas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_stack_below_callback_add (Evas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_stack_below_callback_del (Evas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_layer_set_callback_add   (Evas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_layer_set_callback_del   (Evas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_color_set_callback_add   (Evas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_color_set_callback_del   (Evas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_clip_set_callback_add    (Evas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_clip_set_callback_del    (Evas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_clip_unset_callback_add  (Evas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_clip_unset_callback_del  (Evas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func) EINA_ARG_NONNULL(1, 2);
+
+
+
+/**
+ * @defgroup Evas_Object_Specific Specific Object Functions
+ *
+ * Functions that work on specific objects.
+ *
+ */
+
+/**
+ * @defgroup Evas_Object_Rectangle Rectangle Object Functions
+ *
+ * Functions that operate on evas rectangle objects.
+ *
+ * @ingroup Evas_Object_Specific
+ */
+   EAPI Evas_Object      *evas_object_rectangle_add         (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+/**
+ * @defgroup Evas_Object_Image Image Object Functions
+ *
+ * Functions used to create and manipulate image objects.
+ *
+ * Note - Image objects may return or accept "image data" in multiple
+ * formats.  This is based on the colorspace of an object. Here is a
+ * rundown on formats:
+ *
+ * EVAS_COLORSPACE_ARGB8888:
+ *
+ * This pixel format is a linear block of pixels, starting at the
+ * top-left row by row until the bottom right of the image or pixel
+ * region. All pixels are 32-bit unsigned int's with the high-byte
+ * being alpha and the low byte being blue in the format ARGB. Alpha
+ * may or may not be used by evas depending on the alpha flag of the
+ * image, but if not used, should be set to 0xff anyway.
+ *
+ * This colorspace uses premultiplied alpha. That means that R, G and
+ * B cannot exceed A in value. The conversion from non-premultiplied
+ * colorspace is:
+ *
+ * R = (r * a) / 255; G = (g * a) / 255; B = (b * a) / 255;
+ *
+ * So 50% transparent blue will be: 0x80000080. This will not be
+ * "dark" - just 50% transparent. Values are 0 == black, 255 == solid
+ * or full red, green or blue.
+ *
+ * EVAS_COLORSPACE_YCBCR422P601_PL:
+ *
+ * This is a pointer-list indirected set of YUV (YCbCr) pixel
+ * data. This means that the data returned or set is not actual pixel
+ * data, but pointers TO lines of pixel data. The list of pointers
+ * will first be N rows of pointers to the Y plane - pointing to the
+ * first pixel at the start of each row in the Y plane. N is the
+ * height of the image data in pixels. Each pixel in the Y, U and V
+ * planes is 1 byte exactly, packed. The next N / 2 pointers will
+ * point to rows in the U plane, and the next N / 2 pointers will
+ * point to the V plane rows. U and V planes are half the horizontal
+ * and vertical resolution of the Y plane.
+ *
+ * Row order is top to bottom and row pixels are stored left to right.
+ *
+ * There is a limitation that these images MUST be a multiple of 2
+ * pixels in size horizontally or vertically. This is due to the U and
+ * V planes being half resolution. Also note that this assumes the
+ * itu601 YUV colorspace specification. This is defined for standard
+ * television and mpeg streams.  HDTV may use the itu709
+ * specification.
+ *
+ * Values are 0 to 255, indicating full or no signal in that plane
+ * respectively.
+ *
+ * EVAS_COLORSPACE_YCBCR422P709_PL:
+ *
+ * Not implemented yet.
+ *
+ * EVAS_COLORSPACE_RGB565_A5P:
+ *
+ * In the process of being implemented in 1 engine only. This may change.
+ *
+ * This is a pointer to image data for 16-bit half-word pixel data in
+ * 16bpp RGB 565 format (5 bits red, 6 bits green, 5 bits blue), with
+ * the high-byte containing red and the low byte containing blue, per
+ * pixel. This data is packed row by row from the top-left to the
+ * bottom right.
+ *
+ * If the image has an alpha channel enabled there will be an extra
+ * alpha plane after the color pixel plane. If not, then this data
+ * will not exist and should not be accessed in any way. This plane is
+ * a set of pixels with 1 byte per pixel defining the alpha values of
+ * all pixels in the image from the top-left to the bottom right of
+ * the image, row by row. Even though the values of the alpha pixels
+ * can be 0 to 255, only values 0 through to 32 are used, 32 being
+ * solid and 0 being transparent.
+ *
+ * RGB values can be 0 to 31 for red and blue and 0 to 63 for green,
+ * with 0 being black and 31 or 63 being full red, green or blue
+ * respectively. This colorspace is also pre-multiplied like
+ * EVAS_COLORSPACE_ARGB8888 so:
+ *
+ * R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32;
+ *
+ * EVAS_COLORSPACE_A8:
+ *
+ * The image is just a alpha mask (8 bit's per pixel).  This is used for alpha
+ * masking.
+ *
+ * @ingroup Evas_Object_Specific
+ */
+typedef void (*Evas_Object_Image_Pixels_Get_Cb) (void *data, Evas_Object *o);
+   
+   EAPI Evas_Object             *evas_object_image_add                    (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Evas_Object             *evas_object_image_filled_add             (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI void                     evas_object_image_memfile_set            (Evas_Object *obj, void *data, int size, char *format, char *key) EINA_ARG_NONNULL(1, 2);
+   EAPI void                     evas_object_image_file_set               (Evas_Object *obj, const char *file, const char *key) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_file_get               (const Evas_Object *obj, const char **file, const char **key) EINA_ARG_NONNULL(1, 2);
+   EAPI void                     evas_object_image_border_set             (Evas_Object *obj, int l, int r, int t, int b) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_border_get             (const Evas_Object *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_border_center_fill_set (Evas_Object *obj, Evas_Border_Fill_Mode fill) EINA_ARG_NONNULL(1);
+   EAPI Evas_Border_Fill_Mode    evas_object_image_border_center_fill_get (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_filled_set             (Evas_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_filled_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_border_scale_set       (Evas_Object *obj, double scale);
+   EAPI double                   evas_object_image_border_scale_get       (const Evas_Object *obj);
+   EAPI void                     evas_object_image_fill_set               (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_fill_get               (const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_fill_spread_set        (Evas_Object *obj, Evas_Fill_Spread spread) EINA_ARG_NONNULL(1);
+   EAPI Evas_Fill_Spread         evas_object_image_fill_spread_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_size_set               (Evas_Object *obj, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_size_get               (const Evas_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI int                      evas_object_image_stride_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Load_Error          evas_object_image_load_error_get         (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_data_set               (Evas_Object *obj, void *data) EINA_ARG_NONNULL(1);
+   EAPI void                    *evas_object_image_data_convert           (Evas_Object *obj, Evas_Colorspace to_cspace) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                    *evas_object_image_data_get               (const Evas_Object *obj, Eina_Bool for_writing) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_data_copy_set          (Evas_Object *obj, void *data) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_data_update_add        (Evas_Object *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_alpha_set              (Evas_Object *obj, Eina_Bool has_alpha) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_alpha_get              (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_smooth_scale_set       (Evas_Object *obj, Eina_Bool smooth_scale) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_smooth_scale_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_preload                (Evas_Object *obj, Eina_Bool cancel) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_reload                 (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_save                   (const Evas_Object *obj, const char *file, const char *key, const char *flags)  EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                evas_object_image_pixels_import          (Evas_Object *obj, Evas_Pixel_Import_Source *pixels) EINA_ARG_NONNULL(1, 2);
+   EAPI void                     evas_object_image_pixels_get_callback_set(Evas_Object *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                     evas_object_image_pixels_dirty_set       (Evas_Object *obj, Eina_Bool dirty) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_pixels_dirty_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_load_dpi_set           (Evas_Object *obj, double dpi) EINA_ARG_NONNULL(1);
+   EAPI double                   evas_object_image_load_dpi_get           (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_load_size_set          (Evas_Object *obj, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_load_size_get          (const Evas_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_load_scale_down_set    (Evas_Object *obj, int scale_down) EINA_ARG_NONNULL(1);
+   EAPI int                      evas_object_image_load_scale_down_get    (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_load_region_set        (Evas_Object *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_load_region_get        (const Evas_Object *obj, int *x, int *y, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_colorspace_set         (Evas_Object *obj, Evas_Colorspace cspace) EINA_ARG_NONNULL(1);
+   EAPI Evas_Colorspace          evas_object_image_colorspace_get         (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_native_surface_set     (Evas_Object *obj, Evas_Native_Surface *surf) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Native_Surface     *evas_object_image_native_surface_get     (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_scale_hint_set         (Evas_Object *obj, Evas_Image_Scale_Hint hint) EINA_ARG_NONNULL(1);
+   EAPI Evas_Image_Scale_Hint    evas_object_image_scale_hint_get         (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_content_hint_set       (Evas_Object *obj, Evas_Image_Content_Hint hint) EINA_ARG_NONNULL(1);
+   EAPI Evas_Image_Content_Hint  evas_object_image_content_hint_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                     evas_object_image_alpha_mask_set         (Evas_Object *obj, Eina_Bool ismask) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_source_set             (Evas_Object *obj, Evas_Object *src) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object             *evas_object_image_source_get             (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_source_unset           (Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Object_Text Text Object Functions
+ *
+ * Functions that operate on single line, single style text objects.
+ *
+ * For multiline and multiple style text, see @ref Evas_Object_Textblock.
+ *
+ * @ingroup Evas_Object_Specific
+ */
+   typedef enum _Evas_Text_Style_Type
+     {
+       EVAS_TEXT_STYLE_PLAIN,
+       EVAS_TEXT_STYLE_SHADOW,
+       EVAS_TEXT_STYLE_OUTLINE,
+       EVAS_TEXT_STYLE_SOFT_OUTLINE,
+       EVAS_TEXT_STYLE_GLOW,
+       EVAS_TEXT_STYLE_OUTLINE_SHADOW,
+       EVAS_TEXT_STYLE_FAR_SHADOW,
+       EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW,
+       EVAS_TEXT_STYLE_SOFT_SHADOW,
+       EVAS_TEXT_STYLE_FAR_SOFT_SHADOW
+     } Evas_Text_Style_Type;
+
+   EAPI Evas_Object      *evas_object_text_add              (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI void              evas_object_text_font_source_set  (Evas_Object *obj, const char *font) EINA_ARG_NONNULL(1);
+   EAPI const char       *evas_object_text_font_source_get  (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_text_font_set         (Evas_Object *obj, const char *font, Evas_Font_Size size) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_font_get         (const Evas_Object *obj, const char **font, Evas_Font_Size *size) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_text_text_set         (Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
+   EAPI const char       *evas_object_text_text_get         (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_ascent_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_descent_get      (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_max_ascent_get   (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_max_descent_get  (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_horiz_advance_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_vert_advance_get (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_inset_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_Bool         evas_object_text_char_pos_get     (const Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI int               evas_object_text_char_coords_get  (const Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI int               evas_object_text_last_up_to_pos   (const Evas_Object *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI Evas_Text_Style_Type evas_object_text_style_get     (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_text_style_set        (Evas_Object *obj, Evas_Text_Style_Type type) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_shadow_color_set (Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_shadow_color_get (const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_glow_color_set   (Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_glow_color_get   (const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_glow2_color_set  (Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_glow2_color_get  (const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_outline_color_set(Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_outline_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_style_pad_get    (const Evas_Object *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1);
+   EAPI Evas_BiDi_Direction evas_object_text_direction_get  (const Evas_Object *obj) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
+
+/**
+ * @defgroup Evas_Object_Textblock Textblock Object Functions
+ *
+ * Functions used to create and manipulate textblock objects. Unlike
+ * @ref Evas_Object_Text, these handle complex text, doing multiple
+ * styles and multiline text based on HTML-like tags. Of these extra
+ * features will be heavier on memory and processing cost.
+ *
+ * @todo put here some usage examples
+ *
+ * @ingroup Evas_Object_Specific
+ */
+   typedef struct _Evas_Textblock_Style                 Evas_Textblock_Style;
+   typedef struct _Evas_Textblock_Cursor                Evas_Textblock_Cursor;
+   /**
+    * @typedef Evas_Object_Textblock_Node_Format
+    * A format node.
+    */
+   typedef struct _Evas_Object_Textblock_Node_Format    Evas_Object_Textblock_Node_Format;
+   typedef struct _Evas_Textblock_Rectangle             Evas_Textblock_Rectangle;
+
+   struct _Evas_Textblock_Rectangle
+     {
+       Evas_Coord x, y, w, h;
+     };
+
+   typedef enum _Evas_Textblock_Text_Type
+     {
+       EVAS_TEXTBLOCK_TEXT_RAW,
+       EVAS_TEXTBLOCK_TEXT_PLAIN,
+       EVAS_TEXTBLOCK_TEXT_MARKUP
+     } Evas_Textblock_Text_Type;
+
+   typedef enum _Evas_Textblock_Cursor_Type
+     {
+       EVAS_TEXTBLOCK_CURSOR_UNDER,
+       EVAS_TEXTBLOCK_CURSOR_BEFORE
+     } Evas_Textblock_Cursor_Type;
+
+   EAPI Evas_Object                 *evas_object_textblock_add(Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI const char                  *evas_textblock_escape_string_get(const char *escape) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI const char                  *evas_textblock_string_escape_get(const char *string, int *len_ret) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI const char                  *evas_textblock_escape_string_range_get(const char *escape_start, const char *escape_end) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+
+   EAPI Evas_Textblock_Style        *evas_textblock_style_new(void) EINA_WARN_UNUSED_RESULT EINA_MALLOC;
+   EAPI void                         evas_textblock_style_free(Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_style_set(Evas_Textblock_Style *ts, const char *text) EINA_ARG_NONNULL(1);
+   EAPI const char                  *evas_textblock_style_get(const Evas_Textblock_Style *ts) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                         evas_object_textblock_style_set(Evas_Object *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Textblock_Style  *evas_object_textblock_style_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                         evas_object_textblock_replace_char_set(Evas_Object *obj, const char *ch) EINA_ARG_NONNULL(1);
+   EAPI const char                  *evas_object_textblock_replace_char_get(Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                         evas_object_textblock_valign_set(Evas_Object *obj, double align);
+   EAPI double                       evas_object_textblock_valign_get(const Evas_Object *obj);
+         
+   EAPI void                         evas_object_textblock_newline_mode_set(Evas_Object *obj, Eina_Bool mode) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_object_textblock_newline_mode_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                         evas_object_textblock_text_markup_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_object_textblock_text_markup_prepend(Evas_Textblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2);
+   EAPI const char                  *evas_object_textblock_text_markup_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI const Evas_Textblock_Cursor *evas_object_textblock_cursor_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Textblock_Cursor       *evas_object_textblock_cursor_new(Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI void                         evas_textblock_cursor_free(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+
+   EAPI void                         evas_textblock_cursor_paragraph_first(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_paragraph_last(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_paragraph_next(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_paragraph_prev(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_first_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_last_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_next_get(const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_prev_get(const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_node_format_remove_pair(Evas_Object *obj, Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2);
+   EAPI void                         evas_textblock_cursor_set_at_format(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2);
+   EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_cursor_format_get(const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI const char                  *evas_textblock_node_format_text_get(const Evas_Object_Textblock_Node_Format *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_at_format_set(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *fmt) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                    evas_textblock_cursor_format_is_visible_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_Bool                    evas_textblock_cursor_format_next(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_format_prev(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_is_format(const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_char_next(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_char_prev(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_paragraph_char_first(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_paragraph_char_last(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_line_char_first(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_line_char_last(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_pos_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                         evas_textblock_cursor_pos_set(Evas_Textblock_Cursor *cur, int pos) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_line_set(Evas_Textblock_Cursor *cur, int line) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_compare(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI void                         evas_textblock_cursor_copy(const Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest) EINA_ARG_NONNULL(1, 2);
+
+   EAPI int                          evas_textblock_cursor_text_append(Evas_Textblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2);
+   EAPI int                          evas_textblock_cursor_text_prepend(Evas_Textblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2);
+
+   EAPI Eina_Bool                    evas_textblock_cursor_format_append(Evas_Textblock_Cursor *cur, const char *format) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                    evas_textblock_cursor_format_prepend(Evas_Textblock_Cursor *cur, const char *format) EINA_ARG_NONNULL(1, 2);
+   EAPI void                         evas_textblock_cursor_node_delete(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_char_delete(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_range_delete(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2) EINA_ARG_NONNULL(1, 2);
+
+   EAPI const char                  *evas_textblock_cursor_paragraph_text_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI int                          evas_textblock_cursor_paragraph_text_length_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI char                        *evas_textblock_cursor_range_text_get(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2, Evas_Textblock_Text_Type format) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI char                        *evas_textblock_cursor_content_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI int                          evas_textblock_cursor_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_char_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_pen_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cpen_x, Evas_Coord *cy, Evas_Coord *cadv, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_line_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_char_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_line_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI Eina_List                   *evas_textblock_cursor_range_geometry_get(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI Eina_Bool                    evas_textblock_cursor_format_item_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+
+   EAPI Eina_Bool                    evas_textblock_cursor_eol_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Eina_Bool                    evas_object_textblock_line_number_geometry_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_object_textblock_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_object_textblock_size_formatted_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_object_textblock_size_native_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_object_textblock_style_insets_get(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Line_Group Line Object Functions
+ *
+ * Functions used to deal with evas line objects.
+ *
+ * @ingroup Evas_Object_Specific
+ */
+   EAPI Evas_Object      *evas_object_line_add              (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI void              evas_object_line_xy_set           (Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2);
+   EAPI void              evas_object_line_xy_get           (const Evas_Object *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2);
+
+/**
+ * @defgroup Evas_Object_Polygon Polygon Object Functions
+ *
+ * Functions that operate on evas polygon objects.
+ *
+ * Hint: as evas does not provide ellipse, smooth paths or circle, one
+ * can calculate points and convert these to a polygon.
+ *
+ * @ingroup Evas_Object_Specific
+ */
+   EAPI Evas_Object      *evas_object_polygon_add           (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI void              evas_object_polygon_point_add     (Evas_Object *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_polygon_points_clear  (Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Smart_Group Smart Functions
+ *
+ * Functions that deal with Evas_Smart's, creating definition
+ * (classes) of objects that will have customized behavior for methods
+ * like evas_object_move(), evas_object_resize(),
+ * evas_object_clip_set() and others.
+ *
+ * These objects will accept the generic methods defined in @ref
+ * Evas_Object_Group and the extensions defined in @ref
+ * Evas_Smart_Object_Group. There are couple of existent smart objects
+ * in Evas itself, see @ref Evas_Object_Box, @ref Evas_Object_Table
+ * and @ref Evas_Smart_Object_Clipped.
+ */
+
+/**
+ * @def EVAS_SMART_CLASS_VERSION
+ * The version you have to put into the version field in the smart
+ * class struct
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_VERSION 4
+/**
+ * @struct _Evas_Smart_Class
+ * a smart object class
+ * @ingroup Evas_Smart_Group
+ */
+struct _Evas_Smart_Class
+{
+   const char *name; /**< the string name of the class */
+   int         version;
+   void  (*add)         (Evas_Object *o);
+   void  (*del)         (Evas_Object *o);
+   void  (*move)        (Evas_Object *o, Evas_Coord x, Evas_Coord y);
+   void  (*resize)      (Evas_Object *o, Evas_Coord w, Evas_Coord h);
+   void  (*show)        (Evas_Object *o);
+   void  (*hide)        (Evas_Object *o);
+   void  (*color_set)   (Evas_Object *o, int r, int g, int b, int a);
+   void  (*clip_set)    (Evas_Object *o, Evas_Object *clip);
+   void  (*clip_unset)  (Evas_Object *o);
+   void  (*calculate)   (Evas_Object *o);
+   void  (*member_add)  (Evas_Object *o, Evas_Object *child);
+   void  (*member_del)  (Evas_Object *o, Evas_Object *child);
+
+   const Evas_Smart_Class          *parent; /**< this class inherits from this parent */
+   const Evas_Smart_Cb_Description *callbacks; /**< callbacks at this level, NULL terminated */
+   void                            *interfaces; /**< to be used in a future near you */
+   const void                      *data;
+};
+
+/**
+ * @struct _Evas_Smart_Cb_Description
+ *
+ * Describes a callback used by a smart class
+ * evas_object_smart_callback_call(), particularly useful to explain
+ * to user and its code (ie: introspection) what the parameter @c
+ * event_info will contain.
+ *
+ * @ingroup Evas_Smart_Group
+ */
+struct _Evas_Smart_Cb_Description
+{
+   const char *name; /**< callback name, ie: "changed" */
+
+   /**
+    * @brief Hint type of @c event_info parameter of Evas_Smart_Cb.
+    *
+    * The type string uses the pattern similar to
+    *
+    * http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-signatures
+    *
+    * but extended to optionally include variable names within
+    * brackets preceding types. Example:
+    *
+    * @li Structure with two integers:
+    *     @c "(ii)"
+    *
+    * @li Structure called 'x' with two integers named 'a' and 'b':
+    *     @c "[x]([a]i[b]i)"
+    *
+    * @li Array of integers:
+    *     @c "ai"
+    *
+    * @li Array called 'x' of struct with two integers:
+    *     @c "[x]a(ii)"
+    *
+    * @note This type string is used as a hint and is @b not validated
+    *       or enforced anyhow. Implementors should make the best use
+    *       of it to help bindings, documentation and other users of
+    *       introspection features.
+    */
+   const char *type;
+};
+
+/**
+ * @def EVAS_SMART_CLASS_INIT_NULL
+ * Initializer to zero a whole Evas_Smart_Class structure.
+ *
+ * @see EVAS_SMART_CLASS_INIT_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_INIT_NULL {NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
+
+/**
+ * @def EVAS_SMART_CLASS_INIT_VERSION
+ * Initializer to zero a whole Evas_Smart_Class structure and set version.
+ *
+ * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to
+ * latest EVAS_SMART_CLASS_VERSION.
+ *
+ * @see EVAS_SMART_CLASS_INIT_NULL
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_INIT_VERSION {NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
+
+/**
+ * @def EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * Initializer to zero a whole Evas_Smart_Class structure and set name
+ * and version.
+ *
+ * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to
+ * latest EVAS_SMART_CLASS_VERSION and name to the specified value.
+ *
+ * It will keep a reference to name field as a "const char *", that is,
+ * name must be available while the structure is used (hint: static or global!)
+ * and will not be modified.
+ *
+ * @see EVAS_SMART_CLASS_INIT_NULL
+ * @see EVAS_SMART_CLASS_INIT_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_INIT_NAME_VERSION(name) {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
+
+/**
+ * @def EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+ * Initializer to zero a whole Evas_Smart_Class structure and set name,
+ * version and parent class.
+ *
+ * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to
+ * latest EVAS_SMART_CLASS_VERSION, name to the specified value and
+ * parent class.
+ *
+ * It will keep a reference to name field as a "const char *", that is,
+ * name must be available while the structure is used (hint: static or global!)
+ * and will not be modified. Similarly, parent reference will be kept.
+ *
+ * @see EVAS_SMART_CLASS_INIT_NULL
+ * @see EVAS_SMART_CLASS_INIT_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT(name, parent) {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}
+
+/**
+ * @def EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+ * Initializer to zero a whole Evas_Smart_Class structure and set name,
+ * version, parent class and callbacks definition.
+ *
+ * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to
+ * latest EVAS_SMART_CLASS_VERSION, name to the specified value, parent
+ * class and callbacks at this level.
+ *
+ * It will keep a reference to name field as a "const char *", that is,
+ * name must be available while the structure is used (hint: static or global!)
+ * and will not be modified. Similarly, parent and callbacks reference
+ * will be kept.
+ *
+ * @see EVAS_SMART_CLASS_INIT_NULL
+ * @see EVAS_SMART_CLASS_INIT_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS(name, parent, callbacks) {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}
+
+/**
+ * @def EVAS_SMART_SUBCLASS_NEW
+ *
+ * Convenience macro to subclass a Smart Class.
+ *
+ * This macro saves some typing when writing a Smart Class derived from
+ * another one. In order to work, the user needs to provide some functions
+ * adhering to the following guidelines.
+ *  - @<prefix@>_smart_set_user(): the internal _smart_set function will call
+ *    this one provided by the user after inheriting everything from the
+ *    parent, which should take care of setting the right member functions
+ *    for the class.
+ *  - @<prefix@>_parent_sc: pointer to the smart class of the parent. When calling
+ *    parent functions from overloaded ones, use this global variable.
+ *  - @<prefix@>_smart_class_new(): this function returns the Evas_Smart needed
+ *    to create smart objects with this class, should be called by the public
+ *    _add() function.
+ *  - If this new class should be subclassable as well, a public _smart_set()
+ *    function is desirable to fill the class used as parent by the children.
+ *    It's up to the user to provide this interface, which will most likely
+ *    call @<prefix@>_smart_set() to get the job done.
+ *
+ * @param smart_name The name used for the Smart Class. e.g: "Evas_Object_Box".
+ * @param prefix Prefix used for all variables and functions defined.
+ * @param api_type Type of the structure used as API for the Smart Class. Either Evas_Smart_Class or something derived from it.
+ * @param parent_type Type of the parent class API.
+ * @param parent_func Function that gets the parent class. e.g: evas_object_box_smart_class_get().
+ * @param cb_desc Array of callback descriptions for this Smart Class.
+ *
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_SUBCLASS_NEW(smart_name, prefix, api_type, parent_type, parent_func, cb_desc) \
+  static const parent_type * prefix##_parent_sc = NULL;                        \
+  static void prefix##_smart_set_user(api_type *api);                  \
+  static void prefix##_smart_set(api_type *api)                                \
+  {                                                                    \
+     Evas_Smart_Class *sc;                                             \
+     if (!(sc = (Evas_Smart_Class *)api))                              \
+       return;                                                         \
+     if (!prefix##_parent_sc)                                          \
+       prefix##_parent_sc = parent_func();                             \
+     evas_smart_class_inherit(sc, (const Evas_Smart_Class *)prefix##_parent_sc); \
+     prefix##_smart_set_user(api);                                     \
+  }                                                                    \
+  static Evas_Smart * prefix##_smart_class_new(void)                   \
+  {                                                                    \
+     static Evas_Smart *smart = NULL;                                  \
+     static api_type api;                                              \
+     if (!smart)                                                       \
+       {                                                               \
+         Evas_Smart_Class *sc = (Evas_Smart_Class *)&api;              \
+         memset(&api, 0, sizeof(api_type));                            \
+         sc->version = EVAS_SMART_CLASS_VERSION;                       \
+         sc->name = smart_name;                                        \
+         sc->callbacks = cb_desc;                                      \
+         prefix##_smart_set(&api);                                     \
+         smart = evas_smart_class_new(sc);                             \
+       }                                                               \
+     return smart;                                                     \
+  }
+
+/**
+ * @def EVAS_SMART_DATA_ALLOC
+ * Convenience macro to allocate smart data only if needed.
+ *
+ * When writing a subclassable smart object, the .add function will need
+ * to check if the smart private data was already allocated by some child
+ * object or not. This macro makes it easier to do it.
+ *
+ * @param o Evas object passed to the .add function
+ * @param priv_type The type of the data to allocate
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_DATA_ALLOC(o, priv_type) \
+   priv_type *priv; \
+   priv = evas_object_smart_data_get(o); \
+   if (!priv) { \
+      priv = (priv_type *)calloc(1, sizeof(priv_type)); \
+      if (!priv) return; \
+      evas_object_smart_data_set(o, priv); \
+   }
+
+   EAPI void                             evas_smart_free                     (Evas_Smart *s) EINA_ARG_NONNULL(1);
+   EAPI Evas_Smart                      *evas_smart_class_new                (const Evas_Smart_Class *sc) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI const Evas_Smart_Class          *evas_smart_class_get                (const Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                            *evas_smart_data_get                 (const Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI const Evas_Smart_Cb_Description *evas_smart_callback_description_find(const Evas_Smart *s, const char *name) EINA_ARG_NONNULL(1, 2) EINA_PURE;
+
+   EAPI Eina_Bool                        evas_smart_class_inherit_full       (Evas_Smart_Class *sc, const Evas_Smart_Class *parent_sc, unsigned int parent_sc_size) EINA_ARG_NONNULL(1, 2);
+  /**
+   * @def evas_smart_class_inherit
+   * Easy to use version of evas_smart_class_inherit_full().
+   *
+   * This version will use sizeof(parent_sc), copying everything.
+   *
+   * @param sc child class, will have methods copied from @a parent_sc
+   * @param parent_sc parent class, will provide contents to be copied.
+   * @return 1 on success, 0 on failure.
+   * @ingroup Evas_Smart_Group
+   */
+#define evas_smart_class_inherit(sc, parent_sc) evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))
+
+/**
+ * @defgroup Evas_Smart_Object_Group Smart Object Functions
+ *
+ * Functions dealing with evas smart objects (instances).
+ *
+ * Smart objects are groupings of primitive evas objects that behave as a
+ * cohesive group. For instance, a file manager icon may be a smart object
+ * composed of an image object, a text label and two rectangles that appear
+ * behind the image and text when the icon is selected. As a smart object,
+ * the normal evas api could be used on the icon object.
+ *
+ * @see @ref Evas_Smart_Group for class definitions.
+ */
+   EAPI Evas_Object      *evas_object_smart_add             (Evas *e, Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_MALLOC;
+   EAPI void              evas_object_smart_member_add      (Evas_Object *obj, Evas_Object *smart_obj) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_smart_member_del      (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object      *evas_object_smart_parent_get      (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_Bool         evas_object_smart_type_check      (const Evas_Object *obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI Eina_Bool         evas_object_smart_type_check_ptr  (const Evas_Object *obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI Eina_List        *evas_object_smart_members_get     (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Smart       *evas_object_smart_smart_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void             *evas_object_smart_data_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_smart_data_set        (Evas_Object *obj, void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_smart_callback_add    (Evas_Object *obj, const char *event, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI void             *evas_object_smart_callback_del    (Evas_Object *obj, const char *event, Evas_Smart_Cb func) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI void              evas_object_smart_callback_call   (Evas_Object *obj, const char *event, void *event_info) EINA_ARG_NONNULL(1, 2);
+
+   EAPI Eina_Bool         evas_object_smart_callbacks_descriptions_set(Evas_Object *obj, const Evas_Smart_Cb_Description *descriptions) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_smart_callbacks_descriptions_get(const Evas_Object *obj, const Evas_Smart_Cb_Description ***class_descriptions, unsigned int *class_count, const Evas_Smart_Cb_Description ***instance_descriptions, unsigned int *instance_count) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_smart_callback_description_find(const Evas_Object *obj, const char *name, const Evas_Smart_Cb_Description **class_description, const Evas_Smart_Cb_Description **instance_description) EINA_ARG_NONNULL(1, 2);
+
+   EAPI void              evas_object_smart_changed         (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_smart_need_recalculate_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_smart_need_recalculate_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_smart_calculate       (Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI void              evas_smart_objects_calculate      (Evas *e);
+
+/**
+ * @defgroup Evas_Smart_Object_Clipped Clipped Smart Object
+ *
+ * Clipped smart object is a base to construct other smart objects
+ * that based on the concept of having an internal clipper that is
+ * applied to all its other children. This clipper will control the
+ * visibility, clipping and color of sibling objects (remember that
+ * the clipping is recursive, and clipper color modulates the color of
+ * its clippees). By default, this base will also move children
+ * relatively to the parent, and delete them when parent is
+ * deleted. In other words, it is the base for simple object grouping.
+ *
+ * @see evas_object_smart_clipped_smart_set()
+ *
+ * @ingroup Evas_Smart_Object_Group
+ */
+
+/**
+ * Every subclass should provide this at the beginning of their own
+ * data set with evas_object_smart_data_set().
+ */
+  typedef struct _Evas_Object_Smart_Clipped_Data Evas_Object_Smart_Clipped_Data;
+  struct _Evas_Object_Smart_Clipped_Data
+  {
+     Evas_Object *clipper;
+     Evas        *evas;
+  };
+
+   EAPI Evas_Object            *evas_object_smart_clipped_clipper_get   (Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                    evas_object_smart_clipped_smart_set     (Evas_Smart_Class *sc) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Smart_Class *evas_object_smart_clipped_class_get     (void) EINA_CONST;
+
+   EAPI void                    evas_object_smart_move_children_relative(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Object_Box Box (Sequence) Smart Object.
+ *
+ * Convenience smart object that packs children as a sequence using
+ * a layout function specified by user. There are a couple of helper
+ * layout functions, all of them using children size hints to define
+ * their size and alignment inside their cell space.
+ *
+ * @see @ref Evas_Object_Group_Size_Hints
+ *
+ * @ingroup Evas_Smart_Object_Group
+ */
+/**
+ * @typedef Evas_Object_Box_Api
+ * Smart Class extension providing extra box requirements.
+ * @ingroup Evas_Object_Box
+ */
+   typedef struct _Evas_Object_Box_Api        Evas_Object_Box_Api;
+/**
+ * @typedef Evas_Object_Box_Data
+ * Smart instance data providing box requirements.
+ * @ingroup Evas_Object_Box
+ */
+   typedef struct _Evas_Object_Box_Data       Evas_Object_Box_Data;
+/**
+ * @typedef Evas_Object_Box_Option
+ * The base structure for a box option.
+ * @ingroup Evas_Object_Box
+ */
+   typedef struct _Evas_Object_Box_Option     Evas_Object_Box_Option;
+   typedef void (*Evas_Object_Box_Layout) (Evas_Object *o, Evas_Object_Box_Data *priv, void *user_data);
+
+/**
+ * @def EVAS_OBJECT_BOX_API_VERSION
+ * @ingroup Evas_Object_Box
+ */
+#define EVAS_OBJECT_BOX_API_VERSION 1
+/**
+ * @struct _Evas_Object_Box_Api
+ *
+ * This structure should be used by any class that wants to inherit
+ * from box to provide custom behavior not allowed only by providing a
+ * layout function with evas_object_box_layout_set().
+ *
+ * @extends Evas_Smart_Class
+ * @ingroup Evas_Object_Box
+ */
+   struct _Evas_Object_Box_Api
+   {
+      Evas_Smart_Class          base;
+      int                       version;
+      Evas_Object_Box_Option *(*append)           (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child);
+      Evas_Object_Box_Option *(*prepend)          (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child);
+      Evas_Object_Box_Option *(*insert_before)    (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference);
+      Evas_Object_Box_Option *(*insert_after)     (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference);
+      Evas_Object_Box_Option *(*insert_at)        (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, unsigned int pos);
+      Evas_Object            *(*remove)           (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child);
+      Evas_Object            *(*remove_at)        (Evas_Object *o, Evas_Object_Box_Data *priv, unsigned int pos);
+      Eina_Bool               (*property_set)     (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args);
+      Eina_Bool               (*property_get)     (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args);
+      const char             *(*property_name_get)(Evas_Object *o, int property);
+      int                     (*property_id_get)  (Evas_Object *o, const char *name);
+      Evas_Object_Box_Option *(*option_new)       (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child);
+      void                    (*option_free)      (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object_Box_Option *opt);
+   };
+
+/**
+ * @def EVAS_OBJECT_BOX_API_INIT
+ * Initializer for whole Evas_Object_Box_Api structure.
+ *
+ * @param smart_class_init initializer to use for the "base" field
+ * (Evas_Smart_Class).
+ *
+ * @see EVAS_SMART_CLASS_INIT_NULL
+ * @see EVAS_SMART_CLASS_INIT_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT_NULL
+ * @see EVAS_OBJECT_BOX_API_INIT_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+ * @ingroup Evas_Object_Box
+ */
+#define EVAS_OBJECT_BOX_API_INIT(smart_class_init) {smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
+
+/**
+ * @def EVAS_OBJECT_BOX_API_INIT_NULL
+ * Initializer to zero a whole Evas_Object_Box_Api structure.
+ *
+ * @see EVAS_OBJECT_BOX_API_INIT_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT
+ * @ingroup Evas_Object_Box
+ */
+#define EVAS_OBJECT_BOX_API_INIT_NULL EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)
+
+/**
+ * @def EVAS_OBJECT_BOX_API_INIT_VERSION
+ * Initializer to zero a whole Evas_Object_Box_Api structure and set version.
+ *
+ * Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of
+ * Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION
+ *
+ * @see EVAS_OBJECT_BOX_API_INIT_NULL
+ * @see EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT
+ * @ingroup Evas_Object_Box
+ */
+#define EVAS_OBJECT_BOX_API_INIT_VERSION EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)
+
+/**
+ * @def EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+ * Initializer to zero a whole Evas_Object_Box_Api structure and set
+ * name and version.
+ *
+ * Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of
+ * Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION and name
+ * to the specific value.
+ *
+ * It will keep a reference to name field as a "const char *", that is,
+ * name must be available while the structure is used (hint: static or global!)
+ * and will not be modified.
+ *
+ * @see EVAS_OBJECT_BOX_API_INIT_NULL
+ * @see EVAS_OBJECT_BOX_API_INIT_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT
+ * @ingroup Evas_Object_Box
+ */
+#define EVAS_OBJECT_BOX_API_INIT_NAME_VERSION(name) EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))
+
+/**
+ * @struct _Evas_Object_Box_Data
+ *
+ * This structure augments clipped smart object's instance data,
+ * providing extra members required by generic box implementation. If
+ * a subclass inherits from #Evas_Object_Box_Api then it may augment
+ * #Evas_Object_Box_Data to fit its own needs.
+ *
+ * @extends Evas_Object_Smart_Clipped_Data
+ * @ingroup Evas_Object_Box
+ */
+   struct _Evas_Object_Box_Data
+   {
+      Evas_Object_Smart_Clipped_Data   base;
+      const Evas_Object_Box_Api       *api;
+      struct {
+        double                        h, v;
+      } align;
+      struct {
+        Evas_Coord                    h, v;
+      } pad;
+      Eina_List                       *children;
+      struct {
+        Evas_Object_Box_Layout        cb;
+        void                         *data;
+        void                        (*free_data)(void *data);
+      } layout;
+      Eina_Bool                        layouting : 1;
+      Eina_Bool                        children_changed : 1;
+   };
+
+   struct _Evas_Object_Box_Option
+   {
+      Evas_Object *obj;
+      Eina_Bool    max_reached:1;
+      Eina_Bool    min_reached:1;
+      Evas_Coord   alloc_size;
+   };
+
+   EAPI void                       evas_object_box_smart_set                             (Evas_Object_Box_Api *api) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object_Box_Api *evas_object_box_smart_class_get                       (void) EINA_CONST;
+   EAPI void                       evas_object_box_layout_set                            (Evas_Object *o, Evas_Object_Box_Layout cb, const void *data, void (*free_data)(void *data)) EINA_ARG_NONNULL(1, 2);
+
+   EAPI Evas_Object               *evas_object_box_add                                   (Evas *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Evas_Object               *evas_object_box_add_to                                (Evas_Object *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI void                       evas_object_box_layout_horizontal                     (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_vertical                       (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_homogeneous_vertical           (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_homogeneous_horizontal         (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_homogeneous_max_size_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_homogeneous_max_size_vertical  (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_flow_horizontal                (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_flow_vertical                  (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_stack                          (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+
+   EAPI void                       evas_object_box_align_set                             (Evas_Object *o, double horizontal, double vertical) EINA_ARG_NONNULL(1);
+   EAPI void                       evas_object_box_align_get                             (const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1);
+   EAPI void                       evas_object_box_padding_set                           (Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1);
+   EAPI void                       evas_object_box_padding_get                           (const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1);
+
+   EAPI Evas_Object_Box_Option    *evas_object_box_append                                (Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object_Box_Option    *evas_object_box_prepend                               (Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object_Box_Option    *evas_object_box_insert_before                         (Evas_Object *o, Evas_Object *child, const Evas_Object *reference) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI Evas_Object_Box_Option    *evas_object_box_insert_after                          (Evas_Object *o, Evas_Object *child, const Evas_Object *referente) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI Evas_Object_Box_Option    *evas_object_box_insert_at                             (Evas_Object *o, Evas_Object *child, unsigned int pos) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                  evas_object_box_remove                                (Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                  evas_object_box_remove_at                             (Evas_Object *o, unsigned int pos) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                  evas_object_box_remove_all                            (Evas_Object *o, Eina_Bool clear) EINA_ARG_NONNULL(1);
+   EAPI Eina_Iterator             *evas_object_box_iterator_new                          (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Eina_Accessor             *evas_object_box_accessor_new                          (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Eina_List                 *evas_object_box_children_get                          (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI const char                *evas_object_box_option_property_name_get              (Evas_Object *o, int property) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI int                        evas_object_box_option_property_id_get                (Evas_Object *o, const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI Eina_Bool                  evas_object_box_option_property_set                   (Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                  evas_object_box_option_property_vset                  (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                  evas_object_box_option_property_get                   (Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                  evas_object_box_option_property_vget                  (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args) EINA_ARG_NONNULL(1, 2);
+
+/**
+ * @defgroup Evas_Object_Table Table Smart Object.
+ *
+ * Convenience smart object that packs children using a tabular
+ * layout using children size hints to define their size and
+ * alignment inside their cell space.
+ *
+ * @see @ref Evas_Object_Group_Size_Hints
+ *
+ * @ingroup Evas_Smart_Object_Group
+ */
+   EAPI Evas_Object                        *evas_object_table_add             (Evas *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Evas_Object                        *evas_object_table_add_to          (Evas_Object *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI void                                evas_object_table_homogeneous_set (Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object_Table_Homogeneous_Mode  evas_object_table_homogeneous_get (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                                evas_object_table_padding_set     (Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1);
+   EAPI void                                evas_object_table_padding_get     (const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1);
+   EAPI void                                evas_object_table_align_set       (Evas_Object *o, double horizontal, double vertical) EINA_ARG_NONNULL(1);
+   EAPI void                                evas_object_table_align_get       (const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1);
+   EAPI void                                evas_object_table_mirrored_set    (Evas_Object *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                           evas_object_table_mirrored_get    (const Evas_Object *o) EINA_ARG_NONNULL(1);
+
+   EAPI Eina_Bool                           evas_object_table_pack            (Evas_Object *o, Evas_Object *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                           evas_object_table_unpack          (Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2);
+   EAPI void                                evas_object_table_clear           (Evas_Object *o, Eina_Bool clear) EINA_ARG_NONNULL(1);
+
+   EAPI void                                evas_object_table_col_row_size_get(const Evas_Object *o, int *cols, int *rows) EINA_ARG_NONNULL(1);
+   EAPI Eina_Iterator                      *evas_object_table_iterator_new    (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Eina_Accessor                      *evas_object_table_accessor_new    (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Eina_List                          *evas_object_table_children_get    (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Evas_Object                        *evas_object_table_child_get       (const Evas_Object *o, unsigned short col, unsigned short row) EINA_ARG_NONNULL(1);
+
+   EAPI Eina_Bool                            evas_object_image_source_set     (Evas_Object *o, Evas_Object *source);
+   EAPI Evas_Object                         *evas_object_image_source_get     (Evas_Object *o);
+   EAPI Eina_Bool                            evas_object_image_source_unset   (Evas_Object *o);
+
+/**
+ * @defgroup Evas_Cserve Shared Image Cache Server
+ *
+ * Provides client-server infrastructure to share bitmaps across
+ * multiple processes, saving data and processing power.
+ */
+   typedef struct _Evas_Cserve_Stats       Evas_Cserve_Stats;
+   typedef struct _Evas_Cserve_Image_Cache Evas_Cserve_Image_Cache;
+   typedef struct _Evas_Cserve_Image       Evas_Cserve_Image;
+   typedef struct _Evas_Cserve_Config      Evas_Cserve_Config;
+
+/**
+ * Statistics about server that shares cached bitmaps.
+ * @ingroup Evas_Cserve
+ */
+   struct _Evas_Cserve_Stats
+     {
+        int    saved_memory; /**< current saved memory, in bytes */
+        int    wasted_memory; /**< current wasted memory, in bytes */
+        int    saved_memory_peak; /**< peak of saved memory, in bytes */
+        int    wasted_memory_peak; /**< peak of wasted memory, in bytes */
+        double saved_time_image_header_load; /**< time, in seconds, saved in header loads by sharing cached loads instead */
+        double saved_time_image_data_load; /**< time, in seconds, saved in data loads by sharing cached loads instead */
+     };
+
+/**
+ * Cache of images shared by server.
+ * @ingroup Evas_Cserve
+ */
+   struct _Evas_Cserve_Image_Cache
+     {
+        struct {
+           int     mem_total;
+           int     count;
+        } active, cached;
+        Eina_List *images;
+     };
+
+/**
+ * An image shared by the server.
+ * @ingroup Evas_Cserve
+ */
+   struct _Evas_Cserve_Image
+     {
+        const char *file, *key;
+        int         w, h;
+        time_t      file_mod_time;
+        time_t      file_checked_time;
+        time_t      cached_time;
+        int         refcount;
+        int         data_refcount;
+        int         memory_footprint;
+        double      head_load_time;
+        double      data_load_time;
+        Eina_Bool   alpha : 1;
+        Eina_Bool   data_loaded : 1;
+        Eina_Bool   active : 1;
+        Eina_Bool   dead : 1;
+        Eina_Bool   useless : 1;
+     };
+
+/**
+ * Configuration that controls the server that shares cached bitmaps.
+ * @ingroup Evas_Cserve
+ */
+    struct _Evas_Cserve_Config
+     {
+        int cache_max_usage;
+        int cache_item_timeout;
+        int cache_item_timeout_check;
+     };
+
+   EAPI Eina_Bool         evas_cserve_want_get                   (void) EINA_WARN_UNUSED_RESULT EINA_PURE;
+   EAPI Eina_Bool         evas_cserve_connected_get              (void) EINA_WARN_UNUSED_RESULT;
+   EAPI Eina_Bool         evas_cserve_stats_get                  (Evas_Cserve_Stats *stats) EINA_WARN_UNUSED_RESULT;
+   EAPI void              evas_cserve_image_cache_contents_clean (Evas_Cserve_Image_Cache *cache) EINA_PURE;
+   EAPI Eina_Bool         evas_cserve_config_get                 (Evas_Cserve_Config *config) EINA_WARN_UNUSED_RESULT EINA_PURE;
+   EAPI Eina_Bool         evas_cserve_config_set                 (const Evas_Cserve_Config *config) EINA_WARN_UNUSED_RESULT EINA_PURE;
+   EAPI void              evas_cserve_disconnect                 (void);
+
+/**
+ * @defgroup Evas_Utils General Utilities
+ *
+ * Some functions that are handy but are not specific of canvas or
+ * objects.
+ */
+   EAPI const char       *evas_load_error_str               (Evas_Load_Error error);
+
+/* Evas utility routines for color space conversions */
+/* hsv color space has h in the range 0.0 to 360.0, and s,v in the range 0.0 to 1.0 */
+/* rgb color space has r,g,b in the range 0 to 255 */
+   EAPI void              evas_color_hsv_to_rgb             (float h, float s, float v, int *r, int *g, int *b);
+   EAPI void              evas_color_rgb_to_hsv             (int r, int g, int b, float *h, float *s, float *v);
+
+/* argb color space has a,r,g,b in the range 0 to 255 */
+   EAPI void              evas_color_argb_premul            (int a, int *r, int *g, int *b);
+   EAPI void              evas_color_argb_unpremul          (int a, int *r, int *g, int *b);
+
+   EAPI void              evas_data_argb_premul             (unsigned int *data, unsigned int len);
+   EAPI void              evas_data_argb_unpremul           (unsigned int *data, unsigned int len);
+
+/* string and font handling */
+   EAPI int               evas_string_char_next_get         (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1);
+   EAPI int               evas_string_char_prev_get         (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1);
+   EAPI int               evas_string_char_len_get          (const char *str) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * TO BE DOCUMENTED:
+ * @todo document key modifiers.
+ */
+   EAPI const Evas_Modifier *evas_key_modifier_get          (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI const Evas_Lock     *evas_key_lock_get              (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   
+   EAPI Eina_Bool            evas_key_modifier_is_set       (const Evas_Modifier *m, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   
+   EAPI Eina_Bool            evas_key_lock_is_set           (const Evas_Lock *l, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   
+   EAPI void                 evas_key_modifier_add          (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_modifier_del          (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_lock_add              (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_lock_del              (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   
+   EAPI void                 evas_key_modifier_on           (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_modifier_off          (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_lock_on               (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_lock_off              (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   
+   EAPI Evas_Modifier_Mask   evas_key_modifier_mask_get     (const Evas *e, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   
+   EAPI Eina_Bool            evas_object_key_grab           (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers, Eina_Bool exclusive) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_object_key_ungrab         (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers) EINA_ARG_NONNULL(1, 2);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/debian/libevas-dev/usr/include/evas-1/Evas_Engine_Buffer.h b/debian/libevas-dev/usr/include/evas-1/Evas_Engine_Buffer.h
new file mode 100644 (file)
index 0000000..e6d11d1
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef _EVAS_ENGINE_BUFFER_H
+#define _EVAS_ENGINE_BUFFER_H
+
+#define EVAS_ENGINE_BUFFER_DEPTH_ARGB32 0
+#define EVAS_ENGINE_BUFFER_DEPTH_BGRA32 1
+#define EVAS_ENGINE_BUFFER_DEPTH_RGB24  2
+#define EVAS_ENGINE_BUFFER_DEPTH_BGR24  3
+#define EVAS_ENGINE_BUFFER_DEPTH_RGB32  4
+
+typedef struct _Evas_Engine_Info_Buffer Evas_Engine_Info_Buffer;
+
+struct _Evas_Engine_Info_Buffer
+{
+   /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
+   /* at you and make nasty noises */
+   Evas_Engine_Info magic;
+
+   struct {
+      int   depth_type;
+
+      void *dest_buffer;
+      int   dest_buffer_row_bytes;
+
+      char  use_color_key : 1;
+      int   alpha_threshold;
+      int   color_key_r;
+      int   color_key_g;
+      int   color_key_b;
+      struct {
+        void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes);
+        void   (*free_update_region) (int x, int y, int w, int h, void *data);
+      } func;
+   } info;
+
+   /* non-blocking or blocking mode */
+   Evas_Engine_Render_Mode render_mode;
+};
+#endif
+
+
diff --git a/debian/libevas-dev/usr/include/evas-1/Evas_Engine_FB.h b/debian/libevas-dev/usr/include/evas-1/Evas_Engine_FB.h
new file mode 100644 (file)
index 0000000..b548237
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef _EVAS_ENGINE_FB_H
+#define _EVAS_ENGINE_FB_H
+
+typedef struct _Evas_Engine_Info_FB Evas_Engine_Info_FB;
+
+struct _Evas_Engine_Info_FB
+{
+   /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
+   /* at you and make nasty noises */
+   Evas_Engine_Info magic;
+
+   struct {
+
+      int virtual_terminal;
+      int device_number;
+      int refresh;
+      int rotation;
+   } info;
+
+   /* non-blocking or blocking mode */
+   Evas_Engine_Render_Mode render_mode;
+};
+#endif
+
+
diff --git a/debian/libevas-dev/usr/include/evas-1/Evas_Engine_GL_X11.h b/debian/libevas-dev/usr/include/evas-1/Evas_Engine_GL_X11.h
new file mode 100644 (file)
index 0000000..7224f9c
--- /dev/null
@@ -0,0 +1,48 @@
+#ifndef _EVAS_ENGINE_GL_X11_H
+#define _EVAS_ENGINE_GL_X11_H
+
+#include <X11/Xlib.h>
+
+typedef struct _Evas_Engine_Info_GL_X11              Evas_Engine_Info_GL_X11;
+
+struct _Evas_Engine_Info_GL_X11
+{
+   /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
+   /* at you and make nasty noises */
+   Evas_Engine_Info magic;
+
+   /* engine specific data & parameters it needs to set up */
+   struct {
+      Display     *display;
+      Drawable     drawable;
+      Visual      *visual;
+      Colormap     colormap;
+      int          depth;
+      int          screen;
+      int          rotation;
+      unsigned int destination_alpha  : 1;
+   } info;
+   /* engine specific function calls to query stuff about the destination */
+   /* engine (what visual & colormap & depth to use, performance info etc. */
+   struct {
+      Visual *  (*best_visual_get)   (Evas_Engine_Info_GL_X11 *einfo);
+      Colormap  (*best_colormap_get) (Evas_Engine_Info_GL_X11 *einfo);
+      int       (*best_depth_get)    (Evas_Engine_Info_GL_X11 *einfo);
+   } func;
+
+   struct {
+      void      (*pre_swap)          (void *data, Evas *e);
+      void      (*post_swap)         (void *data, Evas *e);
+      
+      void       *data; // data for callback calls
+   } callback;
+
+   /* non-blocking or blocking mode */
+   Evas_Engine_Render_Mode render_mode;
+   
+   unsigned char vsync : 1; // does nothing right now
+   unsigned char indirect : 1; // use indirect rendering
+};
+#endif
+
+
diff --git a/debian/libevas-dev/usr/include/evas-1/Evas_Engine_Software_X11.h b/debian/libevas-dev/usr/include/evas-1/Evas_Engine_Software_X11.h
new file mode 100644 (file)
index 0000000..de6da96
--- /dev/null
@@ -0,0 +1,62 @@
+#ifndef _EVAS_ENGINE_SOFTWARE_X11_H
+#define _EVAS_ENGINE_SOFTWARE_X11_H
+
+typedef enum
+{
+  EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB,
+  EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XCB
+} Evas_Engine_Info_Software_X11_Backend;
+
+typedef struct _Evas_Engine_Info_Software_X11 Evas_Engine_Info_Software_X11;
+
+/*
+ *               Xlib       |      XCB
+ * connection | Display *   |  xcb_connection_t *
+ * screen     | NULL        |  xcb_screen_t *
+ * drawable   | Drawable    |  xcb_drawable_t
+ * mask       | Pixmap      |  xcb_pixmap_t
+ * visual     | Visual *    |  xcb_visualtype_t *
+ * colormap   | Colormap    |  xcb_colormap_t
+ */
+
+struct _Evas_Engine_Info_Software_X11
+{
+   /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
+   /* at you and make nasty noises */
+   Evas_Engine_Info magic;
+
+   /* engine specific data & parameters it needs to set up */
+   struct {
+      Evas_Engine_Info_Software_X11_Backend backend;
+      void                                 *connection;
+      void                                 *screen;
+      unsigned int                          drawable;
+      unsigned int                          mask;
+      void                                 *visual;
+      unsigned int                          colormap;
+      int                                   depth;
+      int                                   rotation;
+
+      unsigned int                          alloc_grayscale    : 1;
+      unsigned int                          debug              : 1;
+      unsigned int                          shape_dither       : 1;
+      unsigned int                          destination_alpha  : 1;
+      unsigned int                          track_mask_changes : 1;
+
+      int                                   alloc_colors_max;
+   } info;
+   /* engine specific function calls to query stuff about the destination */
+   struct {
+      void        *(*best_visual_get)   (int backend, void *connection, int screen);
+      unsigned int (*best_colormap_get) (int backend, void *connection, int screen);
+      int          (*best_depth_get)    (int backend, void *connection, int screen);
+   } func;
+
+   int mask_changed;
+   /* non-blocking or blocking mode */
+   Evas_Engine_Render_Mode render_mode;
+};
+
+#endif
+
+
diff --git a/debian/libevas-dev/usr/include/evas-1/Evas_Engine_XRender_X11.h b/debian/libevas-dev/usr/include/evas-1/Evas_Engine_XRender_X11.h
new file mode 100644 (file)
index 0000000..b329ae4
--- /dev/null
@@ -0,0 +1,44 @@
+#ifndef _EVAS_ENGINE_XRENDER_X11_H
+#define _EVAS_ENGINE_XRENDER_X11_H
+
+#include <X11/Xlib.h>
+
+typedef enum
+{
+  EVAS_ENGINE_INFO_XRENDER_BACKEND_XLIB,
+  EVAS_ENGINE_INFO_XRENDER_BACKEND_XCB
+} Evas_Engine_Info_XRender_Backend;
+
+typedef struct _Evas_Engine_Info_XRender_X11 Evas_Engine_Info_XRender_X11;
+
+/*
+ *               Xlib       |      XCB
+ * connection | Display *   |  xcb_connection_t *
+ * screen     | NULL        |  xcb_screen_t *
+ * drawable   | Drawable    |  xcb_drawable_t
+ * mask       | Pixmap      |  xcb_pixmap_t
+ * visual     | Visual *    |  xcb_visualtype_t *
+ * colormap   | Colormap    |  xcb_colormap_t
+ */
+
+struct _Evas_Engine_Info_XRender_X11
+{
+   /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
+   /* at you and make nasty noises */
+   Evas_Engine_Info magic;
+
+   /* engine specific data & parameters it needs to set up */
+   struct {
+      Evas_Engine_Info_XRender_Backend backend;
+      void                            *connection;
+      void                            *screen;
+      unsigned int                     drawable;
+      unsigned int                     mask;
+      void                            *visual;
+      unsigned char                    destination_alpha : 1;
+   } info;
+
+   /* non-blocking or blocking mode */
+   Evas_Engine_Render_Mode render_mode;
+};
+#endif
diff --git a/debian/libevas-dev/usr/lib/libevas.a b/debian/libevas-dev/usr/lib/libevas.a
new file mode 100644 (file)
index 0000000..72e70fd
Binary files /dev/null and b/debian/libevas-dev/usr/lib/libevas.a differ
diff --git a/debian/libevas-dev/usr/share/doc/libevas-dev/AUTHORS b/debian/libevas-dev/usr/share/doc/libevas-dev/AUTHORS
new file mode 100644 (file)
index 0000000..75b5960
--- /dev/null
@@ -0,0 +1,24 @@
+Carsten Haitzler <raster@rasterman.com>
+Till Adam <till@adam-lilienthal.de>
+Steve Ireland <sireland@pobox.com>
+Brett Nash <nash@fluffyspider.com.au>
+Tilman Sauerbeck <tilman@code-monkey.de>
+Corey Donohoe <atmos@atmos.org>
+Yuri Hudobin <glassy_ape@users.sourceforge.net>
+Nathan Ingersoll <ningerso@d.umn.edu>
+Willem Monsuwe <willem@stack.nl>
+Jose O Gonzalez <jose_ogp@juno.com>
+Bernhard Nemec <Bernhard.Nemec@viasyshc.com>
+Jorge Luis Zapata Muga <jorgeluis.zapata@gmail.com>
+Cedric Bail <cedric.bail@free.fr>
+Gustavo Sverzut Barbieri <barbieri@gmail.com>
+Vincent Torri <vtorri at univ-evry dot fr>
+Tim Horton <hortont424@gmail.com>
+Tom Hacohen <tom@stosb.com>
+Mathieu Taillefumier <mathieu.taillefumier@free.fr>
+Iván Briano <ivan@profusion.mobi>
+Gustavo Lima Chaves <glima@profusion.mobi>
+Samsung Electronics <tbd>
+Samsung SAIT <tbd>
+Sung W. Park <sungwoo@gmail.com>
+Jiyoun Park <jy0703.park@samsung.com>
diff --git a/debian/libevas-dev/usr/share/doc/libevas-dev/README.gz b/debian/libevas-dev/usr/share/doc/libevas-dev/README.gz
new file mode 100644 (file)
index 0000000..9aef7f0
Binary files /dev/null and b/debian/libevas-dev/usr/share/doc/libevas-dev/README.gz differ
diff --git a/debian/libevas-dev/usr/share/doc/libevas-dev/buildinfo.gz b/debian/libevas-dev/usr/share/doc/libevas-dev/buildinfo.gz
new file mode 100644 (file)
index 0000000..91dd335
Binary files /dev/null and b/debian/libevas-dev/usr/share/doc/libevas-dev/buildinfo.gz differ
diff --git a/debian/libevas-dev/usr/share/doc/libevas-dev/changelog.gz b/debian/libevas-dev/usr/share/doc/libevas-dev/changelog.gz
new file mode 100644 (file)
index 0000000..d9362b0
Binary files /dev/null and b/debian/libevas-dev/usr/share/doc/libevas-dev/changelog.gz differ
diff --git a/debian/libevas-dev/usr/share/doc/libevas-dev/copyright b/debian/libevas-dev/usr/share/doc/libevas-dev/copyright
new file mode 100644 (file)
index 0000000..3353e50
--- /dev/null
@@ -0,0 +1,38 @@
+This package was debianized by Debian Pkg-e Team <pkg-e-devel@lists.alioth.debian.org> 
+Sat, 07 Jul 2007 09:29:10 +0000.
+
+It was downloaded from http://download.enlightenment.org/
+
+Upstream Authors: 
+
+       Enlightenment team <enlightenment-devel@lists.sourceforge.net>
+
+Copyright:
+
+       Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS)
+    src/modules/engines/fb/evas_fb.h: Copyright (c) 1999 - Carsten Haitzler
+    src/modules/engines/fb/evas_fb_main.c: Copyright (c) 1999 - Carsten Haitzler
+
+License:
+
+  Permission is hereby granted, free of charge, to any person obtaining a
+  copy of this software and associated documentation files (the "Software"),
+  to deal in the Software without restriction, including without limitation
+  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+  and/or sell copies of the Software, and to permit persons to whom the
+  Software is furnished to do so, subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be included in
+  all copies of the Software, its documentation and marketing & publicity
+  materials, and acknowledgment shall be given in the documentation,
+  materials and software packages that this Software was used.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+  THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+On Debian systems, the complete text of the BSD License can be found
+in `/usr/share/common-licenses/BSD'.
diff --git a/debian/libevas-doc.debhelper.log b/debian/libevas-doc.debhelper.log
new file mode 100644 (file)
index 0000000..f2cf077
--- /dev/null
@@ -0,0 +1,32 @@
+dh_installdirs
+dh_installdirs
+dh_installdocs
+dh_installexamples
+dh_installman
+dh_installinfo
+dh_installmenu
+dh_installcron
+dh_installinit
+dh_installdebconf
+dh_installemacsen
+dh_installcatalogs
+dh_installpam
+dh_installlogrotate
+dh_installlogcheck
+dh_installchangelogs
+dh_installudev
+dh_lintian
+dh_install
+dh_link
+dh_buildinfo
+dh_installmime
+dh_strip
+dh_compress
+dh_fixperms
+dh_makeshlibs
+dh_installdeb
+dh_perl
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
diff --git a/debian/libevas-doc.substvars b/debian/libevas-doc.substvars
new file mode 100644 (file)
index 0000000..abd3ebe
--- /dev/null
@@ -0,0 +1 @@
+misc:Depends=
diff --git a/debian/libevas-doc/DEBIAN/control b/debian/libevas-doc/DEBIAN/control
new file mode 100644 (file)
index 0000000..ed58400
--- /dev/null
@@ -0,0 +1,18 @@
+Package: libevas-doc
+Source: evas
+Version: 1.0.0.001+svn.58227slp2+build04
+Architecture: armel
+Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Sangjin Lee <lsj119@samsung.com>, Doyoun Kang <doyoun.kang@samsung.com>, YoungHoon Jung <yhoon.jung@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Gwanglim Lee <gl77.lee@samsung.com>, Jeonghyun Yun <jh0506.yun@samsung.com>, Seokjae Jeong <seok.j.jeong@samsung.com>, MyoungWoon Kim <myoungwoon.kim@samsung.com>, ChunEon Park <chuneon.park@samsung.com>, Hyoyoung Chang <hyoyoung.chang@samsung.com>, WooHyun Jung <wh0705.jung@samsung.com>, Gwangyeong Mun <kk.moon@samsung.com>
+Installed-Size: 2564
+Enhances: libevas-dev
+Section: doc
+Priority: optional
+Homepage: http://www.enlightenment.org
+Description: Evas API Documentation
+ Evas is an advanced canvas library, providing six engines for rendering: X11,
+ OpenGL (hardware accelerated), DirectFB, the framebuffer, Microsoft Windows
+ and Qtopia.
+ Due to its simple API, evas can be developed with rapidly, and cleanly.
+ .
+ This package provides development documentation (html and manpages) for the
+ Evas library.
diff --git a/debian/libevas-doc/DEBIAN/md5sums b/debian/libevas-doc/DEBIAN/md5sums
new file mode 100644 (file)
index 0000000..dc2c339
--- /dev/null
@@ -0,0 +1,131 @@
+02cbb848151d8ff882134f7b6df3fc7b  usr/share/doc-base/evas
+f58b02d3abce84aa429f0f08f2ad32a9  usr/share/doc/libevas-doc/AUTHORS
+81321a3cc059cc0a97c4616df991f164  usr/share/doc/libevas-doc/README.gz
+54bb8292a36d42b3cfa963ad757e862e  usr/share/doc/libevas-doc/buildinfo.gz
+8ea8ab9fff20001597fdcdae574a279e  usr/share/doc/libevas-doc/changelog.gz
+c3a4c42ad2241197ee1a2cde8a0e2854  usr/share/doc/libevas-doc/copyright
+e5d80815d238540d21125f52699ef65f  usr/share/doc/libevas-doc/html/Evas_8h.html
+b66b7774f11220416344e770975ae0be  usr/share/doc/libevas-doc/html/annotated.html
+39288f88be2912de1677afe29e288d2b  usr/share/doc/libevas-doc/html/bc_s.png
+6e9c2563b6522577236536f8531c84dd  usr/share/doc/libevas-doc/html/classes.html
+b86c6f4907f4fc5a10694c3495ab759d  usr/share/doc/libevas-doc/html/closed.png
+1308b6e47c105a23f87d44820856e11f  usr/share/doc/libevas-doc/html/doxygen.png
+487be1d4af91e5c20e51905d09ad9f36  usr/share/doc/libevas-doc/html/e.css
+de196bb946068fe1f72b39d39fdb0d1f  usr/share/doc/libevas-doc/html/e.png
+065775583e971f5ee24363d0bb6ea9c8  usr/share/doc/libevas-doc/html/e_big.png
+9150b474e81550780fd3d22a7d816cbf  usr/share/doc/libevas-doc/html/edoxy.css
+934d0849dcb58dda0b53218a0dc1f47c  usr/share/doc/libevas-doc/html/files.html
+a76631067951912f7790d315057ce48b  usr/share/doc/libevas-doc/html/foot_bg.png
+80f01c63548d11dc6d1958ebc4a79c5e  usr/share/doc/libevas-doc/html/functions.html
+8eaf1fbae96564dffe3db6e668326c0b  usr/share/doc/libevas-doc/html/functions_vars.html
+0e1e5b94a6c28a3f7070cc53c94f3296  usr/share/doc/libevas-doc/html/globals.html
+e85bf8f587644b11e974a38d438fc9b7  usr/share/doc/libevas-doc/html/globals_0x62.html
+6f2a352b486d309a25545a0908b2405d  usr/share/doc/libevas-doc/html/globals_0x63.html
+59b12a462f9e9d4555d97fa48a91014c  usr/share/doc/libevas-doc/html/globals_0x64.html
+d4902ffac379bcae7bc10d6457318ce2  usr/share/doc/libevas-doc/html/globals_0x65.html
+3ef0260f707bb8b9b26629e1514f8195  usr/share/doc/libevas-doc/html/globals_0x66.html
+27a5ee21f9bfcab618e59382bf325e11  usr/share/doc/libevas-doc/html/globals_0x68.html
+98a89365eb12142e21cdb814c48222bc  usr/share/doc/libevas-doc/html/globals_0x69.html
+4bc1fdf762e931b9540a46123d261cfb  usr/share/doc/libevas-doc/html/globals_0x6b.html
+43646277c5d5291cca32e72a2131a5b6  usr/share/doc/libevas-doc/html/globals_0x6c.html
+e4da40f1aaa1989dee2f554a7769e25f  usr/share/doc/libevas-doc/html/globals_0x6d.html
+b42f3f60fab17bc44f4a168e890d3208  usr/share/doc/libevas-doc/html/globals_0x6e.html
+9a858d626db1bc620cb685469963cf0d  usr/share/doc/libevas-doc/html/globals_0x6f.html
+a1ff33d3200e5bcc4ca14455753973aa  usr/share/doc/libevas-doc/html/globals_0x70.html
+c0ca558b9635379c63b6c5958037f6b7  usr/share/doc/libevas-doc/html/globals_0x72.html
+3d90ca9385619d719334a273b782e8e7  usr/share/doc/libevas-doc/html/globals_0x73.html
+e85f209a4f0bcaabfa6ce7a96e3d2f03  usr/share/doc/libevas-doc/html/globals_0x74.html
+58febb3795bebf9b80ec8892e4dade65  usr/share/doc/libevas-doc/html/globals_defs.html
+ef2b2775c9ba57dda3854ae4a22e7e59  usr/share/doc/libevas-doc/html/globals_enum.html
+506672c268dedabcf814bbf7b37d177f  usr/share/doc/libevas-doc/html/globals_eval.html
+9b9817cf772aebeb4d1ebc88dfe2966e  usr/share/doc/libevas-doc/html/globals_func.html
+7be6a64c47838c38bd2ad49bd386b6e7  usr/share/doc/libevas-doc/html/globals_func_0x63.html
+dbce10d81496eb5883bed8763fc66367  usr/share/doc/libevas-doc/html/globals_func_0x64.html
+26d6a1769ef13a82ddb8403494e9c9fe  usr/share/doc/libevas-doc/html/globals_func_0x65.html
+fca3c83b9ce11fdbb76746e81a34a9f6  usr/share/doc/libevas-doc/html/globals_func_0x66.html
+b37c48d47bd5de5dec3ab6be9d0da682  usr/share/doc/libevas-doc/html/globals_func_0x69.html
+5dccb4b8232116de81ecd79781ddd0d2  usr/share/doc/libevas-doc/html/globals_func_0x6b.html
+80bfb07ad90096b4903397961736d4e8  usr/share/doc/libevas-doc/html/globals_func_0x6c.html
+1c01cd7034133ba43aaf36636d793985  usr/share/doc/libevas-doc/html/globals_func_0x6d.html
+96fece715a7bd8f109857aa73c1eae69  usr/share/doc/libevas-doc/html/globals_func_0x6e.html
+371c735776db818da40dd0775bf17f1f  usr/share/doc/libevas-doc/html/globals_func_0x6f.html
+2585e304d54f1a602abe30b96b58bdf7  usr/share/doc/libevas-doc/html/globals_func_0x70.html
+e6d0ae19668727e03fa04bb95768dac0  usr/share/doc/libevas-doc/html/globals_func_0x72.html
+1f59dc8e9feff24ec39809c8d8570b7c  usr/share/doc/libevas-doc/html/globals_func_0x73.html
+9fbc8253e02175f8faa395e778e62880  usr/share/doc/libevas-doc/html/globals_func_0x74.html
+c275cbdcdb2e23f51f763df56c9ee204  usr/share/doc/libevas-doc/html/globals_type.html
+8752a8ceb1f907ad433efc59665e31c2  usr/share/doc/libevas-doc/html/group__Evas__Canvas.html
+d7c4c9c17798278c868b07033df71923  usr/share/doc/libevas-doc/html/group__Evas__Canvas__Events.html
+a224d37bf99d91d7ac00e255c9455052  usr/share/doc/libevas-doc/html/group__Evas__Coord__Mapping__Group.html
+18a4cc8edb190ab55de7db7511a96f3e  usr/share/doc/libevas-doc/html/group__Evas__Cserve.html
+7aa43c9b91b83241535b8a968683ec16  usr/share/doc/libevas-doc/html/group__Evas__Event__Feeding__Group.html
+53e73e0f330ea90a5f565f1bd425ab79  usr/share/doc/libevas-doc/html/group__Evas__Event__Freezing__Group.html
+a296cc33e033b920c9ca3db29321646f  usr/share/doc/libevas-doc/html/group__Evas__Font__Group.html
+cfb07616bd621299f84ff45a9bd8ff3a  usr/share/doc/libevas-doc/html/group__Evas__Font__Path__Group.html
+bb48b2a77c880703ac4b719f1e7fe7b6  usr/share/doc/libevas-doc/html/group__Evas__Group.html
+6ffa32db2ae63ec404ff24fc3c339425  usr/share/doc/libevas-doc/html/group__Evas__Image__Group.html
+75b081ee6f12935bd35a34ef86e76803  usr/share/doc/libevas-doc/html/group__Evas__Line__Group.html
+f4b8f7b2e8928e49f7159d2b68158ea7  usr/share/doc/libevas-doc/html/group__Evas__Object__Box.html
+c388283b875d7a4a4d84bb769c3f3898  usr/share/doc/libevas-doc/html/group__Evas__Object__Group.html
+8bdad3a17140a107628e7ed16a97f9ff  usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Basic.html
+0f60171b203fee176e96dae132f723da  usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Events.html
+9c29b074ffbcae4540eb29b90add67f8  usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Extras.html
+ab2dd0ea4b914cadac4103ba88f5c496  usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Find.html
+a2a0b7b413f3599b0b8da8cff7729479  usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Interceptors.html
+8336608b92be26a6a01871600412682d  usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Map.html
+8877bd36a4e3edfa0772eeaa645aaafb  usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Size__Hints.html
+841af2fbe05abcb16bf2df07f36f1472  usr/share/doc/libevas-doc/html/group__Evas__Object__Image.html
+77c152a8a9288175ff0b201272753578  usr/share/doc/libevas-doc/html/group__Evas__Object__Polygon.html
+b0c7892d20a2b8edcded1cad6a9b9907  usr/share/doc/libevas-doc/html/group__Evas__Object__Rectangle.html
+bda6f43ab7bba608c1d5b307dd752698  usr/share/doc/libevas-doc/html/group__Evas__Object__Specific.html
+6bc423e625ff08c20330cb11dd8e61e4  usr/share/doc/libevas-doc/html/group__Evas__Object__Table.html
+6520f331312052e2d667c328364cadae  usr/share/doc/libevas-doc/html/group__Evas__Object__Text.html
+eea6e7c26dae9719c71d99cd0864ac1d  usr/share/doc/libevas-doc/html/group__Evas__Object__Textblock.html
+dc82ceea3612a2f046f06c141fb3758d  usr/share/doc/libevas-doc/html/group__Evas__Output__Method.html
+de2c871d9fb5f0a1ef95cfc7e57895e5  usr/share/doc/libevas-doc/html/group__Evas__Output__Size.html
+d71a22491ee10b050d5690824dbbc7c1  usr/share/doc/libevas-doc/html/group__Evas__Pointer__Group.html
+adef85dea79355cadd34ebcac482af95  usr/share/doc/libevas-doc/html/group__Evas__Smart__Group.html
+8fb641569cf4ad4a44645e15d32386bb  usr/share/doc/libevas-doc/html/group__Evas__Smart__Object__Clipped.html
+1cd713e00d867ec55e2dd1c11497a427  usr/share/doc/libevas-doc/html/group__Evas__Smart__Object__Group.html
+88fcf1f46748ecdcd420b7103894abf3  usr/share/doc/libevas-doc/html/group__Evas__Utils.html
+dd79de7c76b902a2ad297d8c310ff479  usr/share/doc/libevas-doc/html/head_bg.png
+63aabddb4b211f53db87d55f864a192d  usr/share/doc/libevas-doc/html/hierarchy.html
+c793373894c38cef3453f17e3c283e14  usr/share/doc/libevas-doc/html/index.html
+8b88598d5bb52e6770a4c9b662b1cb54  usr/share/doc/libevas-doc/html/menu_bg.png
+74eb88298d00b2716a88597635c48ead  usr/share/doc/libevas-doc/html/menu_bg_current.png
+a62a9535801ac3e1c837a77e35b8fd52  usr/share/doc/libevas-doc/html/menu_bg_hover.png
+0a3486eac68078c7252de09339603d79  usr/share/doc/libevas-doc/html/menu_bg_last.png
+e35946195e0b266796eaf4af32497ad9  usr/share/doc/libevas-doc/html/menu_bg_unsel.png
+6c732d1d6d1aeda90d068d6c1470af16  usr/share/doc/libevas-doc/html/modules.html
+0d76351b6560933b02d7cb7877f0199a  usr/share/doc/libevas-doc/html/nav_f.png
+fa55df91926234cb3a84a880f2b6593c  usr/share/doc/libevas-doc/html/nav_h.png
+89b7c039fdfa803083989337312c177f  usr/share/doc/libevas-doc/html/open.png
+478fc9ac5d57738e6af7f46fa1a5fa0b  usr/share/doc/libevas-doc/html/pages.html
+4aae7adda8532ed8e57d8b8d9a569db8  usr/share/doc/libevas-doc/html/struct__Evas__Coord__Rectangle.html
+f4d16d19a82d3dc8dd3ae8593cdd1221  usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Config.html
+2ee17ba88998fd10dfd2e81a4c2f19e0  usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Image.html
+a4ae301b551a281c5d5bea2c60b1d966  usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Image__Cache.html
+cee0d3adda6b7670c98b0117f2e2a7bf  usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Stats.html
+cd138cc786d17fe08338bcaf3975b845  usr/share/doc/libevas-doc/html/struct__Evas__Engine__Info.html
+5d48b917073b1c09fdb7363756232379  usr/share/doc/libevas-doc/html/struct__Evas__Event__Hold.html
+b8a3c3aa9487699d8b2d5a41c9ba266f  usr/share/doc/libevas-doc/html/struct__Evas__Event__Key__Down.html
+51240f1bbcedd49c80fe72d4164222cb  usr/share/doc/libevas-doc/html/struct__Evas__Event__Key__Up.html
+3144cd9d96b1582594aedb6b07cf1f0c  usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Down.html
+8310602be0681b285161b9c904a4397b  usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__In.html
+507c99c3fcef766aaaa4b6090b3e393f  usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Move.html
+bab9ef1a490543d4b1716129be256ed8  usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Out.html
+4f8e68552edfd42d0777ef3522ba271d  usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Up.html
+194b3d2a0d92aa7139805384804d7cc2  usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Wheel.html
+93c972bc1e57e5ab8002a855880f3e4c  usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Down.html
+394b484199a477f3e8622b7427c499af  usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Move.html
+862af0de24c6812eb84aa51bc6a23eb5  usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Up.html
+3992a14c362e9be8ce244c82ab92b414  usr/share/doc/libevas-doc/html/struct__Evas__Object__Box__Api.html
+3f3b3cb19e4cfc1809ed8d407cb1947b  usr/share/doc/libevas-doc/html/struct__Evas__Object__Box__Data.html
+989c673772871423132cd8367b278e77  usr/share/doc/libevas-doc/html/struct__Evas__Smart__Cb__Description.html
+2179b79e37609c5c321cb2f940e478da  usr/share/doc/libevas-doc/html/struct__Evas__Smart__Class.html
+ef2875e1c0d52fe9056617c2ba3ae713  usr/share/doc/libevas-doc/html/tab_a.png
+657cf13e55b800027fd46c17af02904c  usr/share/doc/libevas-doc/html/tab_b.png
+1c9eb453ee5d829a7f0aa78726d24b02  usr/share/doc/libevas-doc/html/tab_h.png
+f0f51e7aa35137cbc4e0c2d4d7f4eaf7  usr/share/doc/libevas-doc/html/tab_s.png
+eda221bbdce3c6877d00dc855808a583  usr/share/doc/libevas-doc/html/tabs.css
+21dea85c426f54ade1ab906b6f9b5573  usr/share/doc/libevas-doc/html/todo.html
diff --git a/debian/libevas-doc/usr/share/doc-base/evas b/debian/libevas-doc/usr/share/doc-base/evas
new file mode 100644 (file)
index 0000000..397f3dd
--- /dev/null
@@ -0,0 +1,10 @@
+Document: evas
+Title: Evas Guide
+Author: Carsten Haitzler
+Abstract: This document describes Evas API
+ and provides sample C code.
+Section: Programming/C
+
+Format: HTML
+Index: /usr/share/doc/libevas-doc/html/index.html
+Files: /usr/share/doc/libevas-doc/html/*.html
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/AUTHORS b/debian/libevas-doc/usr/share/doc/libevas-doc/AUTHORS
new file mode 100644 (file)
index 0000000..75b5960
--- /dev/null
@@ -0,0 +1,24 @@
+Carsten Haitzler <raster@rasterman.com>
+Till Adam <till@adam-lilienthal.de>
+Steve Ireland <sireland@pobox.com>
+Brett Nash <nash@fluffyspider.com.au>
+Tilman Sauerbeck <tilman@code-monkey.de>
+Corey Donohoe <atmos@atmos.org>
+Yuri Hudobin <glassy_ape@users.sourceforge.net>
+Nathan Ingersoll <ningerso@d.umn.edu>
+Willem Monsuwe <willem@stack.nl>
+Jose O Gonzalez <jose_ogp@juno.com>
+Bernhard Nemec <Bernhard.Nemec@viasyshc.com>
+Jorge Luis Zapata Muga <jorgeluis.zapata@gmail.com>
+Cedric Bail <cedric.bail@free.fr>
+Gustavo Sverzut Barbieri <barbieri@gmail.com>
+Vincent Torri <vtorri at univ-evry dot fr>
+Tim Horton <hortont424@gmail.com>
+Tom Hacohen <tom@stosb.com>
+Mathieu Taillefumier <mathieu.taillefumier@free.fr>
+Iván Briano <ivan@profusion.mobi>
+Gustavo Lima Chaves <glima@profusion.mobi>
+Samsung Electronics <tbd>
+Samsung SAIT <tbd>
+Sung W. Park <sungwoo@gmail.com>
+Jiyoun Park <jy0703.park@samsung.com>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/README.gz b/debian/libevas-doc/usr/share/doc/libevas-doc/README.gz
new file mode 100644 (file)
index 0000000..9aef7f0
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/README.gz differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/buildinfo.gz b/debian/libevas-doc/usr/share/doc/libevas-doc/buildinfo.gz
new file mode 100644 (file)
index 0000000..b228fd1
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/buildinfo.gz differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/changelog.gz b/debian/libevas-doc/usr/share/doc/libevas-doc/changelog.gz
new file mode 100644 (file)
index 0000000..d9362b0
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/changelog.gz differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/copyright b/debian/libevas-doc/usr/share/doc/libevas-doc/copyright
new file mode 100644 (file)
index 0000000..3353e50
--- /dev/null
@@ -0,0 +1,38 @@
+This package was debianized by Debian Pkg-e Team <pkg-e-devel@lists.alioth.debian.org> 
+Sat, 07 Jul 2007 09:29:10 +0000.
+
+It was downloaded from http://download.enlightenment.org/
+
+Upstream Authors: 
+
+       Enlightenment team <enlightenment-devel@lists.sourceforge.net>
+
+Copyright:
+
+       Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS)
+    src/modules/engines/fb/evas_fb.h: Copyright (c) 1999 - Carsten Haitzler
+    src/modules/engines/fb/evas_fb_main.c: Copyright (c) 1999 - Carsten Haitzler
+
+License:
+
+  Permission is hereby granted, free of charge, to any person obtaining a
+  copy of this software and associated documentation files (the "Software"),
+  to deal in the Software without restriction, including without limitation
+  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+  and/or sell copies of the Software, and to permit persons to whom the
+  Software is furnished to do so, subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be included in
+  all copies of the Software, its documentation and marketing & publicity
+  materials, and acknowledgment shall be given in the documentation,
+  materials and software packages that this Software was used.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+  THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+On Debian systems, the complete text of the BSD License can be found
+in `/usr/share/common-licenses/BSD'.
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/Evas_8h.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/Evas_8h.html
new file mode 100644 (file)
index 0000000..61be5b4
--- /dev/null
@@ -0,0 +1,3264 @@
+<html>
+<head>
+    <title>Evas: Evas.h File Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Evas.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+
+<p>These routines are used for Evas library interaction.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Coord__Rectangle.html">_Evas_Coord_Rectangle</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; A rectangle in Evas_Coord  <a href="struct__Evas__Coord__Rectangle.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Engine__Info.html">_Evas_Engine_Info</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic engine information.  <a href="struct__Evas__Engine__Info.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Down.html">_Evas_Event_Mouse_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button press event.  <a href="struct__Evas__Event__Mouse__Down.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Up.html">_Evas_Event_Mouse_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button release event.  <a href="struct__Evas__Event__Mouse__Up.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__In.html">_Evas_Event_Mouse_In</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse enter event.  <a href="struct__Evas__Event__Mouse__In.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Out.html">_Evas_Event_Mouse_Out</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse leave event.  <a href="struct__Evas__Event__Mouse__Out.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Move.html">_Evas_Event_Mouse_Move</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button down event.  <a href="struct__Evas__Event__Mouse__Move.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Wheel.html">_Evas_Event_Mouse_Wheel</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wheel event.  <a href="struct__Evas__Event__Mouse__Wheel.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Down.html">_Evas_Event_Multi_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi button press event.  <a href="struct__Evas__Event__Multi__Down.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Up.html">_Evas_Event_Multi_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi button release event.  <a href="struct__Evas__Event__Multi__Up.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Move.html">_Evas_Event_Multi_Move</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi button down event.  <a href="struct__Evas__Event__Multi__Move.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Down.html">_Evas_Event_Key_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key press event.  <a href="struct__Evas__Event__Key__Down.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Up.html">_Evas_Event_Key_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key release event.  <a href="struct__Evas__Event__Key__Up.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Hold.html">_Evas_Event_Hold</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hold change event.  <a href="struct__Evas__Event__Hold.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a smart object class  <a href="struct__Evas__Smart__Class.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Describes a callback used by a smart class <a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e" title="Call any smart callbacks on obj for event.">evas_object_smart_callback_call()</a>, particularly useful to explain to user and its code (ie: introspection) what the parameter <code>event_info</code> will contain.  <a href="struct__Evas__Smart__Cb__Description.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a>.  <a href="struct__Evas__Object__Box__Api.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure augments clipped smart object's instance data, providing extra members required by generic box implementation.  <a href="struct__Evas__Object__Box__Data.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html">_Evas_Cserve_Stats</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Statistics about server that shares cached bitmaps.  <a href="struct__Evas__Cserve__Stats.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Image__Cache.html">_Evas_Cserve_Image_Cache</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cache of images shared by server.  <a href="struct__Evas__Cserve__Image__Cache.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Image.html">_Evas_Cserve_Image</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An image shared by the server.  <a href="struct__Evas__Cserve__Image.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Config.html">_Evas_Cserve_Config</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Configuration that controls the server that shares cached bitmaps.  <a href="struct__Evas__Cserve__Config.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8817f2ac4e0058d43f9bfe1e563e551b"></a><!-- doxytag: member="Evas.h::EVAS_LAYER_MIN" ref="a8817f2ac4e0058d43f9bfe1e563e551b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a8817f2ac4e0058d43f9bfe1e563e551b">EVAS_LAYER_MIN</a>&nbsp;&nbsp;&nbsp;-32768</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bottom-most layer number <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1456f5c97f03ebd786c49d4d1178e7a0"></a><!-- doxytag: member="Evas.h::EVAS_LAYER_MAX" ref="a1456f5c97f03ebd786c49d4d1178e7a0" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1456f5c97f03ebd786c49d4d1178e7a0">EVAS_LAYER_MAX</a>&nbsp;&nbsp;&nbsp;32767</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">top-most layer number <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37fdd5a69b7ea8e46140ef147aef8192"></a><!-- doxytag: member="Evas.h::EVAS_COLOR_SPACE_ARGB" ref="a37fdd5a69b7ea8e46140ef147aef8192" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a37fdd5a69b7ea8e46140ef147aef8192">EVAS_COLOR_SPACE_ARGB</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not used for anything. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94722d391c46d7c062e13447d9877e71"></a><!-- doxytag: member="Evas.h::EVAS_COLOR_SPACE_AHSV" ref="a94722d391c46d7c062e13447d9877e71" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a94722d391c46d7c062e13447d9877e71">EVAS_COLOR_SPACE_AHSV</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not used for anything. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad143a67f2f6f649135d84f8a55a6766a"></a><!-- doxytag: member="Evas.h::EVAS_TEXT_INVALID" ref="ad143a67f2f6f649135d84f8a55a6766a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ad143a67f2f6f649135d84f8a55a6766a">EVAS_TEXT_INVALID</a>&nbsp;&nbsp;&nbsp;-1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not used for anything. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a895e0e75635b4de42f815d3281fd81be"></a><!-- doxytag: member="Evas.h::EVAS_TEXT_SPECIAL" ref="a895e0e75635b4de42f815d3281fd81be" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a895e0e75635b4de42f815d3281fd81be">EVAS_TEXT_SPECIAL</a>&nbsp;&nbsp;&nbsp;-2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not used for anything. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa47c85083d3dae0111c21ec49359306a"></a><!-- doxytag: member="Evas.h::EVAS_HINT_EXPAND" ref="aa47c85083d3dae0111c21ec49359306a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aa47c85083d3dae0111c21ec49359306a">EVAS_HINT_EXPAND</a>&nbsp;&nbsp;&nbsp;1.0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use with <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98" title="Sets the size weight control hint.">evas_object_size_hint_weight_set()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb" title="Retrieves the size weight control hint.">evas_object_size_hint_weight_get()</a>, <a class="el" href="Evas_8h.html#ab239e77a0e38a5a756acbb0604055ecf" title="Convenience macro to make it easier to understand that weight is also used for expand properties...">evas_object_size_hint_expand_set()</a>, <a class="el" href="Evas_8h.html#a71adf20af9358d9d26b7c88b61d1fc8d" title="Convenience macro to make it easier to understand that weight is also used for expand properties...">evas_object_size_hint_expand_get()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecbac710f36d52911fc34dcdaf8e729c"></a><!-- doxytag: member="Evas.h::EVAS_HINT_FILL" ref="aecbac710f36d52911fc34dcdaf8e729c" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aecbac710f36d52911fc34dcdaf8e729c">EVAS_HINT_FILL</a>&nbsp;&nbsp;&nbsp;-1.0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use with <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f" title="Sets the size align control hint.">evas_object_size_hint_align_set()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb" title="Retrieves the size align control hint.">evas_object_size_hint_align_get()</a>, <a class="el" href="Evas_8h.html#a1b148ef14ae2eb1fbde17179b66a0503" title="Convenience macro to make it easier to understand that align is also used for fill properties (as fil...">evas_object_size_hint_fill_set()</a>, <a class="el" href="Evas_8h.html#ac787ce1277b96bed04ff2b08449907c9" title="Convenience macro to make it easier to understand that align is also used for fill properties (as fil...">evas_object_size_hint_fill_get()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b148ef14ae2eb1fbde17179b66a0503"></a><!-- doxytag: member="Evas.h::evas_object_size_hint_fill_set" ref="a1b148ef14ae2eb1fbde17179b66a0503" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1b148ef14ae2eb1fbde17179b66a0503">evas_object_size_hint_fill_set</a>&nbsp;&nbsp;&nbsp;evas_object_size_hint_align_set</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac787ce1277b96bed04ff2b08449907c9"></a><!-- doxytag: member="Evas.h::evas_object_size_hint_fill_get" ref="ac787ce1277b96bed04ff2b08449907c9" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ac787ce1277b96bed04ff2b08449907c9">evas_object_size_hint_fill_get</a>&nbsp;&nbsp;&nbsp;evas_object_size_hint_align_get</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab239e77a0e38a5a756acbb0604055ecf"></a><!-- doxytag: member="Evas.h::evas_object_size_hint_expand_set" ref="ab239e77a0e38a5a756acbb0604055ecf" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ab239e77a0e38a5a756acbb0604055ecf">evas_object_size_hint_expand_set</a>&nbsp;&nbsp;&nbsp;evas_object_size_hint_weight_set</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to make it easier to understand that weight is also used for expand properties. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a71adf20af9358d9d26b7c88b61d1fc8d"></a><!-- doxytag: member="Evas.h::evas_object_size_hint_expand_get" ref="a71adf20af9358d9d26b7c88b61d1fc8d" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a71adf20af9358d9d26b7c88b61d1fc8d">evas_object_size_hint_expand_get</a>&nbsp;&nbsp;&nbsp;evas_object_size_hint_weight_get</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to make it easier to understand that weight is also used for expand properties. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1ca1514302a47188c921b232d6ce42db"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_VERSION" ref="ga1ca1514302a47188c921b232d6ce42db" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">EVAS_SMART_CLASS_VERSION</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The version you have to put into the version field in the smart class struct. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0">EVAS_SMART_CLASS_INIT_NULL</a>&nbsp;&nbsp;&nbsp;{NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure.  <a href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562">EVAS_SMART_CLASS_INIT_VERSION</a>&nbsp;&nbsp;&nbsp;{NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set version.  <a href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77">EVAS_SMART_CLASS_INIT_NAME_VERSION</a>(name)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name and version.  <a href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a>(name, parent)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class.  <a href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a>(name, parent, callbacks)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callbacks definition.  <a href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga58dc94af6f064b39b2bf0155908fbe52">EVAS_SMART_SUBCLASS_NEW</a>(smart_name, prefix, api_type, parent_type, parent_func, cb_desc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to subclass a Smart Class.  <a href="group__Evas__Smart__Group.html#ga58dc94af6f064b39b2bf0155908fbe52"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga4aa4b72aafa0391144fb0171aeff2ccd">EVAS_SMART_DATA_ALLOC</a>(o, priv_type)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to allocate smart data only if needed.  <a href="group__Evas__Smart__Group.html#ga4aa4b72aafa0391144fb0171aeff2ccd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95">evas_smart_class_inherit</a>(sc, parent_sc)&nbsp;&nbsp;&nbsp;evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Easy to use version of <a class="el" href="group__Evas__Smart__Group.html#ga21f5af32f724500c3380906d166fc49f" title="Sets one class to inherit from the other.">evas_smart_class_inherit_full()</a>.  <a href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8">EVAS_OBJECT_BOX_API_INIT</a>(smart_class_init)&nbsp;&nbsp;&nbsp;{smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer for whole Evas_Object_Box_Api structure.  <a href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa">EVAS_OBJECT_BOX_API_INIT_NULL</a>&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure.  <a href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1">EVAS_OBJECT_BOX_API_INIT_VERSION</a>&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure and set version.  <a href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7">EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</a>(name)&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.  <a href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">_Evas_Callback_Type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Identifier of callbacks to be used with object or canvas.  <a href="#a076b2a9b2de2b2144a4193b1d12ed448"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">_Evas_Button_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags for Mouse Button events.  <a href="#aae3a7dde94160cc18015784fb192bb2f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">_Evas_Event_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9fda4d6d744ae16549b3765df7363f95">Evas_Event_Flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags for Events.  <a href="#a9fda4d6d744ae16549b3765df7363f95"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags for Font Hinting.  <a href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Colorspaces for pixel data supported by Evas.  <a href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">_Evas_Object_Table_Homogeneous_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How to pack items into cells in a table.  <a href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23d14410ef9cd719fd61602ce68c4d42"></a><!-- doxytag: member="Evas.h::Evas_Coord_Rectangle" ref="a23d14410ef9cd719fd61602ce68c4d42" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Coord__Rectangle.html">_Evas_Coord_Rectangle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a23d14410ef9cd719fd61602ce68c4d42">Evas_Coord_Rectangle</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic rectangle handle. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc20c4d74f28a08de32455f97946e6bd"></a><!-- doxytag: member="Evas.h::Evas_Point" ref="adc20c4d74f28a08de32455f97946e6bd" args="" -->
+typedef struct _Evas_Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#adc20c4d74f28a08de32455f97946e6bd">Evas_Point</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">integer point <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d3aab92b5b0911efb7594b79e0d3f37"></a><!-- doxytag: member="Evas.h::Evas_Coord_Point" ref="a9d3aab92b5b0911efb7594b79e0d3f37" args="" -->
+typedef struct _Evas_Coord_Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9d3aab92b5b0911efb7594b79e0d3f37">Evas_Coord_Point</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evas_Coord point. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27d3d206dd0447c96df4385cee0c5df2"></a><!-- doxytag: member="Evas.h::Evas_Coord_Precision_Point" ref="a27d3d206dd0447c96df4385cee0c5df2" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Coord_Precision_Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a27d3d206dd0447c96df4385cee0c5df2">Evas_Coord_Precision_Point</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evas_Coord point with sub-pixel precision. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fedb06548c63e95cdef58ae2578e494"></a><!-- doxytag: member="Evas.h::Evas_Position" ref="a1fedb06548c63e95cdef58ae2578e494" args="" -->
+typedef struct _Evas_Position&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1fedb06548c63e95cdef58ae2578e494">Evas_Position</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">associates given point in Canvas and Output <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae62b68e728184674ee011ec19c48fa25"></a><!-- doxytag: member="Evas.h::Evas_Precision_Position" ref="ae62b68e728184674ee011ec19c48fa25" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Precision_Position&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae62b68e728184674ee011ec19c48fa25">Evas_Precision_Position</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">associates given point in Canvas and Output, with sub-pixel precision <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaea15f67e901bf5380cdb67dc1bb43391"></a><!-- doxytag: member="Evas.h::Evas_Smart_Class" ref="gaea15f67e901bf5380cdb67dc1bb43391" args="" -->
+typedef struct <a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaea15f67e901bf5380cdb67dc1bb43391">Evas_Smart_Class</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A smart object base class. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0ad0e7d482d7660e756e275d355e3634"></a><!-- doxytag: member="Evas.h::Evas_Smart_Cb_Description" ref="ga0ad0e7d482d7660e756e275d355e3634" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga0ad0e7d482d7660e756e275d355e3634">Evas_Smart_Cb_Description</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A smart object callback description, used to provide introspection. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct _Evas_Map&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque handle to map points.  <a href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct _Evas&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas canvas handle.  <a href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9e19e6dd1f517a0ba437c0114d3e7c97"></a><!-- doxytag: member="Evas.h::Evas_Object" ref="ga9e19e6dd1f517a0ba437c0114d3e7c97" args="" -->
+typedef struct _Evas_Object&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Object handle. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89d88a04f7684454960d465a1b9657c2"></a><!-- doxytag: member="Evas.h::Evas_Performance" ref="a89d88a04f7684454960d465a1b9657c2" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a89d88a04f7684454960d465a1b9657c2">Evas_Performance</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Performance handle. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a198d0b10861c1da456004688d3443e96"></a><!-- doxytag: member="Evas.h::Evas_Modifier" ref="a198d0b10861c1da456004688d3443e96" args="" -->
+typedef struct _Evas_Modifier&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a198d0b10861c1da456004688d3443e96">Evas_Modifier</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Modifier. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a791323b644ee831ead4c5d25552a0fd8"></a><!-- doxytag: member="Evas.h::Evas_Lock" ref="a791323b644ee831ead4c5d25552a0fd8" args="" -->
+typedef struct _Evas_Lock&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a791323b644ee831ead4c5d25552a0fd8">Evas_Lock</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Lock. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7cdfd1afece1cad64c413eb9a778ddbb"></a><!-- doxytag: member="Evas.h::Evas_Smart" ref="a7cdfd1afece1cad64c413eb9a778ddbb" args="" -->
+typedef struct _Evas_Smart&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Smart Object handle. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae35ae0b7b909a9e956836b92d63b493d"></a><!-- doxytag: member="Evas.h::Evas_Native_Surface" ref="ae35ae0b7b909a9e956836b92d63b493d" args="" -->
+typedef struct _Evas_Native_Surface&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic datatype for engine specific native surface information. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a111c7333a7d49e44698bd19dd5bc9059"></a><!-- doxytag: member="Evas.h::Evas_Modifier_Mask" ref="a111c7333a7d49e44698bd19dd5bc9059" args="" -->
+typedef unsigned long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a111c7333a7d49e44698bd19dd5bc9059">Evas_Modifier_Mask</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas modifier mask type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb01076af16fbb50a837b1893b776783"></a><!-- doxytag: member="Evas.h::Evas_Pixel_Import_Source" ref="abb01076af16fbb50a837b1893b776783" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Pixel_Import_Source&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#abb01076af16fbb50a837b1893b776783">Evas_Pixel_Import_Source</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A source description of pixels for importing pixels. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86d67b69014ab10fffe20b883685fa46"></a><!-- doxytag: member="Evas.h::Evas_Engine_Info" ref="a86d67b69014ab10fffe20b883685fa46" args="" -->
+typedef struct <a class="el" href="struct__Evas__Engine__Info.html">_Evas_Engine_Info</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a86d67b69014ab10fffe20b883685fa46">Evas_Engine_Info</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic Evas Engine information structure. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a430c2d9c773093d159437e35003df281"></a><!-- doxytag: member="Evas.h::Evas_Device" ref="a430c2d9c773093d159437e35003df281" args="" -->
+typedef struct _Evas_Device&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a430c2d9c773093d159437e35003df281">Evas_Device</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A source device handle - where the event came from. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a907df7a46177e7bac9928ea39fbcca50"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_Down" ref="a907df7a46177e7bac9928ea39fbcca50" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Mouse__Down.html">_Evas_Event_Mouse_Down</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a907df7a46177e7bac9928ea39fbcca50">Evas_Event_Mouse_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a337e8227780d38bdeae5c0ccd00d04b3"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_Up" ref="a337e8227780d38bdeae5c0ccd00d04b3" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Mouse__Up.html">_Evas_Event_Mouse_Up</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a337e8227780d38bdeae5c0ccd00d04b3">Evas_Event_Mouse_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b42da2562eb8390dd513d7337b1e018"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_In" ref="a9b42da2562eb8390dd513d7337b1e018" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Mouse__In.html">_Evas_Event_Mouse_In</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9b42da2562eb8390dd513d7337b1e018">Evas_Event_Mouse_In</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a168fcb1c4b6bc53ac4e69f5424f317"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_Out" ref="a7a168fcb1c4b6bc53ac4e69f5424f317" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Mouse__Out.html">_Evas_Event_Mouse_Out</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a7a168fcb1c4b6bc53ac4e69f5424f317">Evas_Event_Mouse_Out</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25" title="Mouse Out Event.">EVAS_CALLBACK_MOUSE_OUT</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a224de88869fe5315ca144ef8a2946827"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_Move" ref="a224de88869fe5315ca144ef8a2946827" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Mouse__Move.html">_Evas_Event_Mouse_Move</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a224de88869fe5315ca144ef8a2946827">Evas_Event_Mouse_Move</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a" title="Mouse Move Event.">EVAS_CALLBACK_MOUSE_MOVE</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54d0e99e450e158924b06746544bb4dc"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_Wheel" ref="a54d0e99e450e158924b06746544bb4dc" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Mouse__Wheel.html">_Evas_Event_Mouse_Wheel</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a54d0e99e450e158924b06746544bb4dc">Evas_Event_Mouse_Wheel</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4" title="Mouse Wheel Event.">EVAS_CALLBACK_MOUSE_WHEEL</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0436550ffcc1e2eab730ef3c493b8c40"></a><!-- doxytag: member="Evas.h::Evas_Event_Multi_Down" ref="a0436550ffcc1e2eab730ef3c493b8c40" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Multi__Down.html">_Evas_Event_Multi_Down</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a0436550ffcc1e2eab730ef3c493b8c40">Evas_Event_Multi_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80" title="Multi-touch Down Event.">EVAS_CALLBACK_MULTI_DOWN</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f4d63b8673ee370e41e2c0bdc374212"></a><!-- doxytag: member="Evas.h::Evas_Event_Multi_Up" ref="a0f4d63b8673ee370e41e2c0bdc374212" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Multi__Up.html">_Evas_Event_Multi_Up</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a0f4d63b8673ee370e41e2c0bdc374212">Evas_Event_Multi_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94" title="Multi-touch Up Event.">EVAS_CALLBACK_MULTI_UP</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8658f1e1a6801e219547b05e8728ebd2"></a><!-- doxytag: member="Evas.h::Evas_Event_Multi_Move" ref="a8658f1e1a6801e219547b05e8728ebd2" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Multi__Move.html">_Evas_Event_Multi_Move</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a8658f1e1a6801e219547b05e8728ebd2">Evas_Event_Multi_Move</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f" title="Multi-touch Move Event.">EVAS_CALLBACK_MULTI_MOVE</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a1bfd297b751119977f3c14c0004612"></a><!-- doxytag: member="Evas.h::Evas_Event_Key_Down" ref="a9a1bfd297b751119977f3c14c0004612" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Key__Down.html">_Evas_Event_Key_Down</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9a1bfd297b751119977f3c14c0004612">Evas_Event_Key_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584" title="Key Press Event.">EVAS_CALLBACK_KEY_DOWN</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92e77497752a3b100b3bfc4ee92daf09"></a><!-- doxytag: member="Evas.h::Evas_Event_Key_Up" ref="a92e77497752a3b100b3bfc4ee92daf09" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Key__Up.html">_Evas_Event_Key_Up</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a92e77497752a3b100b3bfc4ee92daf09">Evas_Event_Key_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f" title="Key Release Event.">EVAS_CALLBACK_KEY_UP</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fb6e5748f93fc24d62276e5421f9767"></a><!-- doxytag: member="Evas.h::Evas_Event_Hold" ref="a6fb6e5748f93fc24d62276e5421f9767" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Hold.html">_Evas_Event_Hold</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a6fb6e5748f93fc24d62276e5421f9767">Evas_Event_Hold</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85" title="Events go on/off hold.">EVAS_CALLBACK_HOLD</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff351ae694a58aecd7834ef12bdf3d64"></a><!-- doxytag: member="Evas.h::Evas_Load_Error" ref="aff351ae694a58aecd7834ef12bdf3d64" args="" -->
+typedef enum <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5f">_Evas_Load_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load error you can get from loading of files - see <a class="el" href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a" title="Converts the given error code into a string describing it in english.">evas_load_error_str()</a> too. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0181b78df8e248703a72a978d271208"></a><!-- doxytag: member="Evas.h::Evas_Alloc_Error" ref="ae0181b78df8e248703a72a978d271208" args="" -->
+typedef enum <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cb">_Evas_Alloc_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae0181b78df8e248703a72a978d271208">Evas_Alloc_Error</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Possible allocation errors returned by <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a693bc9123af8452d9771c2a849b8805c"></a><!-- doxytag: member="Evas.h::Evas_Fill_Spread" ref="a693bc9123af8452d9771c2a849b8805c" args="" -->
+typedef enum <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738">_Evas_Fill_Spread</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill types used for <a class="el" href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881" title="Sets the tiling mode for the given evas image object&#39;s fill.">evas_object_image_fill_spread_set()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">_Evas_Pixel_Import_Pixel_Format</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae609d856d391e1d65968a137313e0eb7">Evas_Pixel_Import_Pixel_Format</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pixel format for import call.  <a href="#ae609d856d391e1d65968a137313e0eb7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How mouse pointer should be handled by Evas.  <a href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcd2409468741c89d607f06e17da1f64"></a><!-- doxytag: member="Evas.h::Evas_Object_Textblock_Node_Format" ref="adcd2409468741c89d607f06e17da1f64" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Object_Textblock_Node_Format&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A format node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65c1b2ed3578175e476998f7b55dfe34"></a><!-- doxytag: member="Evas.h::Evas_Object_Smart_Clipped_Data" ref="a65c1b2ed3578175e476998f7b55dfe34" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Object_Smart_Clipped_Data&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a65c1b2ed3578175e476998f7b55dfe34">Evas_Object_Smart_Clipped_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Every subclass should provide this at the beginning of their own data set with <a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e" title="Store a pointer to user data for a smart object.">evas_object_smart_data_set()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2a8fbeeab4f5ae23e7bc1b291e27c5e1"></a><!-- doxytag: member="Evas.h::Evas_Object_Box_Api" ref="ga2a8fbeeab4f5ae23e7bc1b291e27c5e1" args="" -->
+typedef struct <a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga2a8fbeeab4f5ae23e7bc1b291e27c5e1">Evas_Object_Box_Api</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart Class extension providing extra box requirements. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac9047b7cff95df59f61c7321967caf7b"></a><!-- doxytag: member="Evas.h::Evas_Object_Box_Data" ref="gac9047b7cff95df59f61c7321967caf7b" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gac9047b7cff95df59f61c7321967caf7b">Evas_Object_Box_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart instance data providing box requirements. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabbeb05bf47aaf7681e9d83a1b0055d20"></a><!-- doxytag: member="Evas.h::Evas_Object_Box_Option" ref="gabbeb05bf47aaf7681e9d83a1b0055d20" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Object_Box_Option&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base structure for a box option. <br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">_Evas_Callback_Type</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">EVAS_CALLBACK_MOUSE_IN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">EVAS_CALLBACK_MOUSE_OUT</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f">EVAS_CALLBACK_MOUSE_DOWN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7">EVAS_CALLBACK_MOUSE_UP</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a">EVAS_CALLBACK_MOUSE_MOVE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4">EVAS_CALLBACK_MOUSE_WHEEL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80">EVAS_CALLBACK_MULTI_DOWN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94">EVAS_CALLBACK_MULTI_UP</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f">EVAS_CALLBACK_MULTI_MOVE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24">EVAS_CALLBACK_FREE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584">EVAS_CALLBACK_KEY_DOWN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f">EVAS_CALLBACK_KEY_UP</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97">EVAS_CALLBACK_FOCUS_IN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3">EVAS_CALLBACK_FOCUS_OUT</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540">EVAS_CALLBACK_SHOW</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7">EVAS_CALLBACK_HIDE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0">EVAS_CALLBACK_MOVE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21">EVAS_CALLBACK_RESIZE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145">EVAS_CALLBACK_RESTACK</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277">EVAS_CALLBACK_DEL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85">EVAS_CALLBACK_HOLD</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae">EVAS_CALLBACK_CHANGED_SIZE_HINTS</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e">EVAS_CALLBACK_IMAGE_PRELOADED</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3">EVAS_CALLBACK_RENDER_FLUSH_PRE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1">EVAS_CALLBACK_RENDER_FLUSH_POST</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5">EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070">EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8">EVAS_CALLBACK_IMAGE_UNLOADED</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529">EVAS_CALLBACK_LAST</a>
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Identifier of callbacks to be used with object or canvas. </p>
+ <a href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">_Evas_Button_Flags</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd">EVAS_BUTTON_NONE</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d">EVAS_BUTTON_DOUBLE_CLICK</a> =  (1 &lt;&lt; 0), 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87">EVAS_BUTTON_TRIPLE_CLICK</a> =  (1 &lt;&lt; 1)
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Flags for Mouse Button events. </p>
+ <a href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">_Evas_Event_Flags</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf">EVAS_EVENT_FLAG_NONE</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83">EVAS_EVENT_FLAG_ON_HOLD</a> =  (1 &lt;&lt; 0), 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311">EVAS_EVENT_FLAG_ON_SCROLL</a> =  (1 &lt;&lt; 1)
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Flags for Events. </p>
+ <a href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338">EVAS_FONT_HINTING_NONE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440">EVAS_FONT_HINTING_AUTO</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e">EVAS_FONT_HINTING_BYTECODE</a>
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Flags for Font Hinting. </p>
+ <a href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254">EVAS_COLORSPACE_ARGB8888</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636">EVAS_COLORSPACE_YCBCR422P601_PL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22">EVAS_COLORSPACE_YCBCR422P709_PL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729">EVAS_COLORSPACE_RGB565_A5P</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0">EVAS_COLORSPACE_GRY8</a>
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Colorspaces for pixel data supported by Evas. </p>
+ <a href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">_Evas_Object_Table_Homogeneous_Mode</a> </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How to pack items into cells in a table. </p>
+<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5f">_Evas_Load_Error</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac">EVAS_LOAD_ERROR_NONE</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d">EVAS_LOAD_ERROR_GENERIC</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529">EVAS_LOAD_ERROR_DOES_NOT_EXIST</a> =  2, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200">EVAS_LOAD_ERROR_PERMISSION_DENIED</a> =  3, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4">EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED</a> =  4, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75">EVAS_LOAD_ERROR_CORRUPT_FILE</a> =  5, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80">EVAS_LOAD_ERROR_UNKNOWN_FORMAT</a> =  6
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cb">_Evas_Alloc_Error</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8">EVAS_ALLOC_ERROR_NONE</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e">EVAS_ALLOC_ERROR_FATAL</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e">EVAS_ALLOC_ERROR_RECOVERED</a> =  2
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738">_Evas_Fill_Spread</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760">EVAS_TEXTURE_REFLECT</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2">EVAS_TEXTURE_REPEAT</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136">EVAS_TEXTURE_RESTRICT</a> =  2, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85">EVAS_TEXTURE_RESTRICT_REFLECT</a> =  3, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43">EVAS_TEXTURE_RESTRICT_REPEAT</a> =  4, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7">EVAS_TEXTURE_PAD</a> =  5
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">_Evas_Pixel_Import_Pixel_Format</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2">EVAS_PIXEL_FORMAT_NONE</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a">EVAS_PIXEL_FORMAT_ARGB32</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8">EVAS_PIXEL_FORMAT_YUV420P_601</a> =  2
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e">EVAS_RENDER_BLEND</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7">EVAS_RENDER_BLEND_REL</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd">EVAS_RENDER_COPY</a> =  2, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea">EVAS_RENDER_COPY_REL</a> =  3, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926">EVAS_RENDER_ADD</a> =  4, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc">EVAS_RENDER_ADD_REL</a> =  5, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27">EVAS_RENDER_SUB</a> =  6, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c">EVAS_RENDER_SUB_REL</a> =  7, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9">EVAS_RENDER_TINT</a> =  8, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6">EVAS_RENDER_TINT_REL</a> =  9, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f">EVAS_RENDER_MASK</a> =  10, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294">EVAS_RENDER_MUL</a> =  11
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How the object should be rendered to output. </p>
+ <a href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a> { <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28">EVAS_OBJECT_POINTER_MODE_AUTOGRAB</a>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How mouse pointer should be handled by Evas. </p>
+ <a href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c">evas_init</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize Evas.  <a href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed">evas_shutdown</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shutdown Evas.  <a href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#ae0181b78df8e248703a72a978d271208">Evas_Alloc_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9">evas_alloc_error</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return if any allocation errors have occurred during the prior function.  <a href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd">evas_async_events_fd_get</a> (void) EINA_WARN_UNUSED_RESULT EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get evas' internal asynchronous events read file descriptor.  <a href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47">evas_async_events_process</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trigger the processing of all events waiting on the file descriptor returned by <a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd" title="Get evas&#39; internal asynchronous events read file descriptor.">evas_async_events_fd_get()</a>.  <a href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87">evas_new</a> (void) EINA_WARN_UNUSED_RESULT EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new empty evas.  <a href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">evas_free</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given evas and any objects created on it.  <a href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb">evas_focus_in</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform to the evas that it got the focus.  <a href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff">evas_focus_out</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform to the evas that it lost the focus.  <a href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8">evas_focus_state_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the focus state known by the given evas.  <a href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe">evas_nochange_push</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push the nochange flag up 1.  <a href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac">evas_nochange_pop</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop the nochange flag down 1.  <a href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8">evas_data_attach_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attaches a specific pointer to the evas for fetching later.  <a href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc">evas_data_attach_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the pointer attached by <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8" title="Attaches a specific pointer to the evas for fetching later.">evas_data_attach_set()</a>.  <a href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">evas_damage_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a damage rectangle.  <a href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4">evas_obscured_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an obscured region.  <a href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876">evas_obscured_clear</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all obscured region rectangles from the canvas.  <a href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca">evas_render_updates</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force immediate renderization of the given canvas.  <a href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b">evas_render_updates_free</a> (Eina_List *updates)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the rectangles returned by <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca" title="Force immediate renderization of the given canvas.">evas_render_updates()</a>.  <a href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">evas_render</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force renderization of the given canvas.  <a href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1">evas_norender</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the canvas internal objects but not triggering immediate renderization.  <a href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">evas_render_idle_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the canvas discard internally cached data used for rendering.  <a href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b">evas_render_method_lookup</a> (const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Look up a numeric ID from a string name of a rendering engine.  <a href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285">evas_render_method_list</a> (void) EINA_WARN_UNUSED_RESULT</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List all the rendering engines compiled into the copy of the Evas library.  <a href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693">evas_render_method_list_free</a> (Eina_List *list)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function should be called to free a list of engine names.  <a href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">evas_output_method_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int render_method) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output engine for the given evas.  <a href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gac4127a10231f1851cc3443a84fb0b059">evas_output_method_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the number of the output engine used for the given evas.  <a href="group__Evas__Output__Method.html#gac4127a10231f1851cc3443a84fb0b059"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713">evas_engine_info_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current render engine info struct from the given evas.  <a href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">evas_engine_info_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a> *info) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Applies the engine settings for the given evas from the given <code>Evas_Engine_Info</code> structure.  <a href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">evas_output_size_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output size of the render engine of the given evas.  <a href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a">evas_output_size_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int *w, int *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the output size of the render engine of the given evas.  <a href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">evas_output_viewport_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output viewport of the given evas in evas units.  <a href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee">evas_output_viewport_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the render engine's output viewport co-ordinates in canvas units.  <a href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051">evas_coord_screen_x_to_world</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale an ouput screen co-ordinate into canvas co-ordinates.  <a href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2">evas_coord_screen_y_to_world</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale an ouput screen co-ordinate into canvas co-ordinates.  <a href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9">evas_coord_world_x_to_screen</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale a canvas co-ordinate into output screen co-ordinates.  <a href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8">evas_coord_world_y_to_screen</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale a canvas co-ordinate into output screen co-ordinates.  <a href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98">evas_pointer_output_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int *x, int *y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function returns the current known pointer co-ordinates.  <a href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#ga2f7bf87c9b1268e68c85d4bb8b9e4b15">evas_pointer_canvas_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord *x, Evas_Coord *y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function returns the current known pointer co-ordinates.  <a href="group__Evas__Pointer__Group.html#ga2f7bf87c9b1268e68c85d4bb8b9e4b15"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580">evas_pointer_button_down_mask_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a bitmask with the mouse buttons currently pressed, set to 1.  <a href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a">evas_pointer_inside_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether the mouse pointer is logically inside the canvas.  <a href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e">evas_event_freeze</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Freeze all event processing.  <a href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1">evas_event_thaw</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thaw a canvas out after freezing.  <a href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64">evas_event_freeze_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the freeze count of a given canvas.  <a href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2">evas_event_feed_mouse_down</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int b, <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a> flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse down event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int b, <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a> flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse up event feed.  <a href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse move event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">evas_event_feed_mouse_in</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse in event feed.  <a href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13">evas_event_feed_mouse_out</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse out event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385">evas_event_feed_mouse_cancel</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse cancel event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga393156722bbe1ce384f0ab33ab76a1f2">evas_event_feed_mouse_wheel</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int direction, int z, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse wheel event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga393156722bbe1ce384f0ab33ab76a1f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga096e2ef05bfa471d2773729bd24732a0">evas_event_feed_key_down</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key down event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga096e2ef05bfa471d2773729bd24732a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gaebe7d4f8b6423aff1ffe67c724d4590d">evas_event_feed_key_up</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key up event feed.  <a href="group__Evas__Event__Feeding__Group.html#gaebe7d4f8b6423aff1ffe67c724d4590d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gaedc3a956cd753acdd2a58ad0d2865d04">evas_event_feed_hold</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int hold, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hold event feed.  <a href="group__Evas__Event__Feeding__Group.html#gaedc3a956cd753acdd2a58ad0d2865d04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void *EAPI void <br class="typebreak"/>
+*EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a">evas_post_event_callback_push</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push a callback on the post-event callback stack.  <a href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516">evas_post_event_callback_remove</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a callback from the post-event callback stack.  <a href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9">evas_post_event_callback_remove_full</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a callback from the post-event callback stack.  <a href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214">evas_image_cache_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush the image cache of the canvas.  <a href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981">evas_image_cache_reload</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reload the image cache.  <a href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gab28271aad78206e5ee9bed62e0decfa7">evas_image_cache_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int size) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the image cache.  <a href="group__Evas__Image__Group.html#gab28271aad78206e5ee9bed62e0decfa7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gad7ee7f4627d198c0de0ff197fe2f9ed0">evas_image_cache_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the image cache.  <a href="group__Evas__Image__Group.html#gad7ee7f4627d198c0de0ff197fe2f9ed0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaf39062952fc420ff32fbacfb8c27bd7d">evas_font_hinting_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a> hinting) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the font hinting for the given evas.  <a href="group__Evas__Font__Group.html#gaf39062952fc420ff32fbacfb8c27bd7d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gafe785a87743b72d8064f0562fd79cc75">evas_font_hinting_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the font hinting used by the given evas.  <a href="group__Evas__Font__Group.html#gafe785a87743b72d8064f0562fd79cc75"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaa4210fa6661330e67ec4c9cbde775b4b">evas_font_hinting_can_hint</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a> hinting) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the font hinting is supported by the given evas.  <a href="group__Evas__Font__Group.html#gaa4210fa6661330e67ec4c9cbde775b4b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gad75ac8ed0c921e774f1c519a66f05a2f">evas_font_cache_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force the given evas and associated engine to flush its font cache.  <a href="group__Evas__Font__Group.html#gad75ac8ed0c921e774f1c519a66f05a2f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga5582cfcdb08f6253225bb8cede49033a">evas_font_cache_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int size) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of font cache of the given evas.  <a href="group__Evas__Font__Group.html#ga5582cfcdb08f6253225bb8cede49033a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga9cf39aae3074cac05c4aafa3ff24c32f">evas_font_cache_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of font cache of the given evas.  <a href="group__Evas__Font__Group.html#ga9cf39aae3074cac05c4aafa3ff24c32f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga9d51a2efecf89a81a2990db252f3dc6c">evas_font_available_list</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of available font descriptions known or found by this evas.  <a href="group__Evas__Font__Group.html#ga9d51a2efecf89a81a2990db252f3dc6c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467">evas_font_available_list_free</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Eina_List *available) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free list of font descriptions returned by evas_font_dir_available_list().  <a href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">evas_font_path_clear</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all font paths loaded into memory for the given evas.  <a href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void EAPI const <br class="typebreak"/>
+Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#ga06fc80b3e4c27237a571404fc6aa3aeb">evas_font_path_list</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the list of font paths used by the given evas.  <a href="group__Evas__Font__Path__Group.html#ga06fc80b3e4c27237a571404fc6aa3aeb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a">evas_object_clip_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the object clipping this one (if any).  <a href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable clipping for an object.  <a href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887">evas_object_clipees_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a list of objects currently clipped by a specific object.  <a href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">evas_object_focus_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool focus) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets focus to the given object.  <a href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654">evas_object_focus_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the object has focus.  <a href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">evas_object_layer_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, short l) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the layer of the evas that the given object will be part of.  <a href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga13cb52d23911b6c701dbb5f1ee3f65f4">evas_object_layer_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the layer of the evas that the given object is part of.  <a href="group__Evas__Object__Group__Basic.html#ga13cb52d23911b6c701dbb5f1ee3f65f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8">evas_object_name_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *name) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the name of the given evas object to the given name.  <a href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gac34b593d79bfd9284787ddbb43486edd">evas_object_name_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the name of the given evas object.  <a href="group__Evas__Object__Group__Basic.html#gac34b593d79bfd9284787ddbb43486edd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723">evas_object_ref</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increments object reference count to defer deletion.  <a href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089">evas_object_unref</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrements object reference count to defer deletion.  <a href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given evas object and frees its memory.  <a href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves the given evas object to the given location.  <a href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of the given evas object.  <a href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the position and rectangular size of the given evas object.  <a href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f">evas_object_show</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the given evas object visible.  <a href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">evas_object_hide</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the given evas object invisible.  <a href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga9cf743b5d87b622c84ba591494445b49">evas_object_visible_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether or not the given evas object is visible.  <a href="group__Evas__Object__Group__Basic.html#ga9cf743b5d87b622c84ba591494445b49"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f">evas_object_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the general colour of the given evas object to the given colour.  <a href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga3856f8b88d158ffa9783b44340ef343d">evas_object_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the general colour of the given evas object.  <a href="group__Evas__Object__Group__Basic.html#ga3856f8b88d158ffa9783b44340ef343d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">evas_object_evas_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the evas that the given evas object is on.  <a href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff">evas_object_type_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the name of the type of the given evas object.  <a href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">evas_object_raise</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raise <code>obj</code> to the top of its layer.  <a href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">evas_object_lower</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lower <code>obj</code> to the bottom of its layer.  <a href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void EAPI <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gab78867a46ecc2e35ac90bf40bae1689f">evas_object_above_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the evas object above <code>obj</code>.  <a href="group__Evas__Object__Group__Basic.html#gab78867a46ecc2e35ac90bf40bae1689f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaff15b0dacac065bc84e6124c0c4920c5">evas_object_below_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the evas object below <code>obj</code>.  <a href="group__Evas__Object__Group__Basic.html#gaff15b0dacac065bc84e6124c0c4920c5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void *EAPI void <br class="typebreak"/>
+*EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">evas_object_pass_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool pass) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an object's pass events state.  <a href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0">evas_object_pass_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to pass events.  <a href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">evas_object_repeat_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool repeat) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an object's repeat events state.  <a href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582">evas_object_repeat_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to repeat events.  <a href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d">evas_object_propagate_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool prop) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether events on a smart member object should propagate to its parent.  <a href="group__Evas__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f">evas_object_propagate_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to propagate events.  <a href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#acee7a5f7bbb804b406405e9199d5a900">evas_object_map_enable_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool enabled)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable or disable the map that is set.  <a href="#acee7a5f7bbb804b406405e9199d5a900"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9fe49ea6c0508408d3f0c4bc6b790084">evas_object_map_enable_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the map enabled state.  <a href="#a9fe49ea6c0508408d3f0c4bc6b790084"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aa0daae782c23c5624ab0fc3e4f63c8f9">evas_object_map_source_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *src)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the map source object.  <a href="#aa0daae782c23c5624ab0fc3e4f63c8f9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#abb0578635393c514b1c228ebb7b2eed0">evas_object_map_source_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the map source object.  <a href="#abb0578635393c514b1c228ebb7b2eed0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca">evas_object_map_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *map)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set current object transformation map.  <a href="#a4c06097f01adc414be05470a3528adca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aa1d3f8febc923e8225f727afc08d21f2">evas_object_map_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get current object transformation map.  <a href="#aa1d3f8febc923e8225f727afc08d21f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6">evas_map_util_points_populate_from_object_full</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord z)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Populate source and destination map points to match exactly object.  <a href="#af71ab80fefb757aea040eaae33fd06e6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487">evas_map_util_points_populate_from_object</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Populate source and destination map points to match exactly object.  <a href="#ac2d35f2242ce06afe5b9aff79ed33487"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#adb28b64c445931d92eeeab2c3fb52286">evas_map_util_points_populate_from_geometry</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Populate source and destination map points to match given geometry.  <a href="#adb28b64c445931d92eeeab2c3fb52286"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1ea4919339773a113dece07f1335d6ac">evas_map_util_points_color_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set color of all points to given color.  <a href="#a1ea4919339773a113dece07f1335d6ac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080">evas_map_util_rotate</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, double degrees, Evas_Coord cx, Evas_Coord cy)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the map to apply the given rotation.  <a href="#ad5bceb379d28374c62579b1969ce5080"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a986dd1010c757910b4520527f229d3b5">evas_map_util_zoom</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the map to apply the given zooming.  <a href="#a986dd1010c757910b4520527f229d3b5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a4118dedc011bd94a35d03251c7bef5ed">evas_map_util_3d_rotate</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rotate the map around 3 axes in 3D.  <a href="#a4118dedc011bd94a35d03251c7bef5ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a4dd3a3cf9091afaa87bc042b12a5685d">evas_map_util_3d_lighting</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform lighting calculations on the given Map.  <a href="#a4dd3a3cf9091afaa87bc042b12a5685d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a14c467420d169d666865cdb31746728d">evas_map_util_3d_perspective</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Apply a perspective transform to the map.  <a href="#a14c467420d169d666865cdb31746728d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a4e7cd972cac5507838c9827ef04b2607">evas_map_util_clockwise_get</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the clockwise state of a map.  <a href="#a4e7cd972cac5507838c9827ef04b2607"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a719acc4f4792236f7031664ec450b399">evas_map_new</a> (int count)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create map of transformation points to be later used with an evas object.  <a href="#a719acc4f4792236f7031664ec450b399"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae851a2ebf0c272cf0bcb97168b625d23">evas_map_smooth_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, Eina_Bool enabled)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the smoothing for map rendering.  <a href="#ae851a2ebf0c272cf0bcb97168b625d23"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ac7693cff90eddde9f1cd5fd99d6df695">evas_map_smooth_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the smoothing for map rendering  <a href="#ac7693cff90eddde9f1cd5fd99d6df695"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae1cbf087e2182e01d07979975baa9065">evas_map_alpha_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, Eina_Bool enabled)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alpha flag for map rendering.  <a href="#ae1cbf087e2182e01d07979975baa9065"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae7de42394f26fa1e5bfc315f7d114ac3">evas_map_alpha_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the alpha flag for map rendering  <a href="#ae7de42394f26fa1e5bfc315f7d114ac3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a25ffe0dd36fed0c9c492d636b163390a">evas_map_dup</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy a previously allocated map.  <a href="#a25ffe0dd36fed0c9c492d636b163390a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a78ecdf799f326e1c17aae6770c06058a">evas_map_free</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a previously allocated map.  <a href="#a78ecdf799f326e1c17aae6770c06058a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#acb6da0be6c78ebf89a5b25d9a0fa44fa">evas_map_count_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m) EINA_CONST</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a maps size.  <a href="#acb6da0be6c78ebf89a5b25d9a0fa44fa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7">evas_map_point_coord_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the map point's coordinate.  <a href="#acc9bdfa50e0344928f070aef0cf7a8b7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ab8640a9b915b7c6f33f96782bb23e939">evas_map_point_coord_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the map point's coordinate.  <a href="#ab8640a9b915b7c6f33f96782bb23e939"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a">evas_map_point_image_uv_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, double u, double v)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the map point's U and V texture source point.  <a href="#a1ce926660d27e788b469f8a202dfb84a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ab993d154039532e6105d2c1ea23133fc">evas_map_point_image_uv_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, double *u, double *v)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the map point's U and V texture source points.  <a href="#ab993d154039532e6105d2c1ea23133fc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae569741d778974e2825dc05cc3e68f9f">evas_map_point_color_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the color of a vertex in the map.  <a href="#ae569741d778974e2825dc05cc3e68f9f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a40ae28dc015c5dad8a09ce5c6d764422">evas_map_point_color_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the color set on a vertex in the map.  <a href="#a40ae28dc015c5dad8a09ce5c6d764422"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size hint for the minimum size.  <a href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size hint for the minimum size.  <a href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size hint for the maximum size.  <a href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga2a224fd6c4fc231af281af59c5a604b2">evas_object_size_hint_max_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size hint for the maximum size.  <a href="group__Evas__Object__Group__Size__Hints.html#ga2a224fd6c4fc231af281af59c5a604b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga6a7de6942258ab03a6e85b37f569895d">evas_object_size_hint_request_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size request hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga6a7de6942258ab03a6e85b37f569895d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gace0177af29ccbf1a60415f2c4c85c1f4">evas_object_size_hint_request_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the requested size hint.  <a href="group__Evas__Object__Group__Size__Hints.html#gace0177af29ccbf1a60415f2c4c85c1f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga7b31c73dcbf60cdafe6ad7ffae42a54c">evas_object_size_hint_aspect_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size aspect control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga7b31c73dcbf60cdafe6ad7ffae42a54c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gadb36ccc851e48ae2a11a6e2cb7fcb273">evas_object_size_hint_aspect_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size aspect control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#gadb36ccc851e48ae2a11a6e2cb7fcb273"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double *x, double *y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size align control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f">evas_object_size_hint_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double x, double y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size align control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">evas_object_size_hint_weight_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double *x, double *y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size weight control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98">evas_object_size_hint_weight_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double x, double y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size weight control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size padding control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga0014a3016d34071d41d76785a963fcb1">evas_object_size_hint_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size padding control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga0014a3016d34071d41d76785a963fcb1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga5504e39f8d0cc41af3663fed15ec06e5">evas_object_pointer_mode_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a> setting) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set pointer behavior.  <a href="group__Evas__Object__Group__Extras.html#ga5504e39f8d0cc41af3663fed15ec06e5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga80faa9ce3b9ab59fe7b4bf6924b293ac">evas_object_pointer_mode_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine how pointer will behave.  <a href="group__Evas__Object__Group__Extras.html#ga80faa9ce3b9ab59fe7b4bf6924b293ac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaf0c7d4c49695749fa616d0abdbd5ddeb">evas_object_anti_alias_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool antialias) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets whether or not the given evas object is to be drawn anti-aliased.  <a href="group__Evas__Object__Group__Extras.html#gaf0c7d4c49695749fa616d0abdbd5ddeb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga3308cb65716beb4ce826b9701e23159a">evas_object_anti_alias_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether or not the given evas object is to be drawn anti_aliased.  <a href="group__Evas__Object__Group__Extras.html#ga3308cb65716beb4ce826b9701e23159a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaf010777fa1b58bd1c9c8093d2edc62e9">evas_object_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double scale) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the scaling factor for an evas object.  <a href="group__Evas__Object__Group__Extras.html#gaf010777fa1b58bd1c9c8093d2edc62e9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga1c0aca3af434f0bc0fa8732248b197ba">evas_object_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the scaling factor for the given evas object.  <a href="group__Evas__Object__Group__Extras.html#ga1c0aca3af434f0bc0fa8732248b197ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga86ef8d1f039bff1a60595688f93a7990">evas_object_render_op_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a> op) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the render_op to be used for rendering the evas object.  <a href="group__Evas__Object__Group__Extras.html#ga86ef8d1f039bff1a60595688f93a7990"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaa157afa6f23cdf4b344d95531bb7d508">evas_object_render_op_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current value of the operation used for rendering the evas object.  <a href="group__Evas__Object__Group__Extras.html#gaa157afa6f23cdf4b344d95531bb7d508"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gac9ce9802afd7d4cba580fbcbe92c28b2">evas_object_precise_is_inside_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool precise) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether to use a precise (usually expensive) point collision detection.  <a href="group__Evas__Object__Group__Extras.html#gac9ce9802afd7d4cba580fbcbe92c28b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga8483a3c855f466a5dca480fcfd07b52b">evas_object_precise_is_inside_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to use a precise point collision detection.  <a href="group__Evas__Object__Group__Extras.html#ga8483a3c855f466a5dca480fcfd07b52b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8">evas_object_static_clip_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool is_static_clip) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a hint flag on the object that this is used as a static "clipper".  <a href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gafda644be2d6e6360959853c9d6195ec8">evas_object_static_clip_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get static "clipper" hint flag.  <a href="group__Evas__Object__Group__Extras.html#gafda644be2d6e6360959853c9d6195ec8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5">evas_focus_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the object that currently has focus.  <a href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gad3214c89581f068934c57ac71dc6a52f">evas_object_name_find</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the object on the given evas with the given name.  <a href="group__Evas__Object__Group__Find.html#gad3214c89581f068934c57ac71dc6a52f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54">evas_object_top_at_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object at the given position (x,y).  <a href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448">evas_object_top_at_pointer_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object at mouse pointer position.  <a href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gaf072ec206768d96c6f73a590e6af39c9">evas_object_top_in_rectangle_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object in the given rectangle region.  <a href="group__Evas__Object__Group__Find.html#gaf072ec206768d96c6f73a590e6af39c9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga473d00deb431d0869484474153e47c04">evas_objects_at_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the objects at the given position.  <a href="group__Evas__Object__Group__Find.html#ga473d00deb431d0869484474153e47c04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gae5d4af2f915c2efe4e5cfc22644b8c53">evas_objects_in_rectangle_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Group__Find.html#gae5d4af2f915c2efe4e5cfc22644b8c53"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga3e06dcd04da8cd9d64e106f7ede8db9e">evas_object_bottom_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the lowest evas object on the Evas <code>e</code>.  <a href="group__Evas__Object__Group__Find.html#ga3e06dcd04da8cd9d64e106f7ede8db9e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga2acf1e026d576ba355ca1b1ea24e0736">evas_object_top_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the highest evas object on the Evas <code>e</code>.  <a href="group__Evas__Object__Group__Find.html#ga2acf1e026d576ba355ca1b1ea24e0736"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa">evas_object_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a rectangle to the given evas.  <a href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce">evas_object_image_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new image object on the given evas.  <a href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">evas_object_image_filled_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new image object that automatically scales on the given evas.  <a href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">evas_object_image_file_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *file, const char *key) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the filename and key of the given image object.  <a href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d">evas_object_image_border_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int l, int r, int t, int b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets how much of each border of the given image object is not to be scaled.  <a href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab666a37cbae8ee846cdeb518e7fd495c">evas_object_image_border_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves how much of each border of the given image object is not to be scaled.  <a href="group__Evas__Object__Image.html#gab666a37cbae8ee846cdeb518e7fd495c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga4caf736585ad602e6748e434ac1f5fc6">evas_object_image_border_center_fill_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Border_Fill_Mode fill) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets if the center part of the given image object (not the border) should be drawn.  <a href="group__Evas__Object__Image.html#ga4caf736585ad602e6748e434ac1f5fc6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Border_Fill_Mode&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga04f8a4f69c5ad37d9229e4c39bb7c010">evas_object_image_border_center_fill_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the center of the given image object is to be drawn or not.  <a href="group__Evas__Object__Image.html#ga04f8a4f69c5ad37d9229e4c39bb7c010"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool setting) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets if image fill property should track object size.  <a href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga3fbe9f33ccc93a5c45ffa3b26019694e">evas_object_image_filled_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if image fill property is tracking object size.  <a href="group__Evas__Object__Image.html#ga3fbe9f33ccc93a5c45ffa3b26019694e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0">evas_object_image_border_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double scale)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a scale factor (multiplier) for the borders of an image.  <a href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga7cc1bf948a8a5d61c703211f0bd5d2dc">evas_object_image_border_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the border scale factor.  <a href="group__Evas__Object__Image.html#ga7cc1bf948a8a5d61c703211f0bd5d2dc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">evas_object_image_fill_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the rectangle of the given image object that the image will be drawn to.  <a href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf1a7d6b8cf914234abdd5d3d3312f85e">evas_object_image_fill_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the dimensions of the rectangle of the given image object that the image will be drawn to.  <a href="group__Evas__Object__Image.html#gaf1a7d6b8cf914234abdd5d3d3312f85e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881">evas_object_image_fill_spread_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a> spread) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the tiling mode for the given evas image object's fill.  <a href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae86928005f983627c74dbaef6c0fbb0e">evas_object_image_fill_spread_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the spread (tiling mode) for the given image object's fill.  <a href="group__Evas__Object__Image.html#gae86928005f983627c74dbaef6c0fbb0e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22">evas_object_image_size_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of the given image object.  <a href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga43e6f1b16ebe859826e6901cb36995ad">evas_object_image_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *w, int *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the given image object.  <a href="group__Evas__Object__Image.html#ga43e6f1b16ebe859826e6901cb36995ad"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab72175381532640c620dd032e56c590b">evas_object_image_stride_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the row stride of the given image object,.  <a href="group__Evas__Object__Image.html#gab72175381532640c620dd032e56c590b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga46e4a0b2b916d28694ad054549f88e24">evas_object_image_load_error_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a number representing any error that occurred during the last load of the given image object.  <a href="group__Evas__Object__Image.html#ga46e4a0b2b916d28694ad054549f88e24"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabdd65e4c69f422ddcf0d3c8720859a92">evas_object_image_data_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the raw image data of the given image object.  <a href="group__Evas__Object__Image.html#gabdd65e4c69f422ddcf0d3c8720859a92"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga3072cf7c31cf33057abd8ae8876218cd">evas_object_image_data_convert</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a> to_cspace) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the raw image data of the given image object to the specified colorspace.  <a href="group__Evas__Object__Image.html#ga3072cf7c31cf33057abd8ae8876218cd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2">evas_object_image_data_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool for_writing) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the raw image data of the given image object.  <a href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga97d17b8d95f0ca01a264a6c303d00c27">evas_object_image_data_copy_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replaces the raw image data of the given image object.  <a href="group__Evas__Object__Image.html#ga97d17b8d95f0ca01a264a6c303d00c27"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165">evas_object_image_data_update_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark a sub-region of the given image object to be redrawn.  <a href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">evas_object_image_alpha_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool has_alpha) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable or disable alpha channel of the given image object.  <a href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gac136f7f65d8529427b1f6da055b47a30">evas_object_image_alpha_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the alpha channel setting of the given image object.  <a href="group__Evas__Object__Image.html#gac136f7f65d8529427b1f6da055b47a30"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510">evas_object_image_smooth_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool smooth_scale) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets whether to use of high-quality image scaling algorithm of the given image object.  <a href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae4acc1da719cb38122b92527df24388c">evas_object_image_smooth_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given image object is using use a high-quality image scaling algorithm.  <a href="group__Evas__Object__Image.html#gae4acc1da719cb38122b92527df24388c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad6383022c4013008d11827b32bf63d59">evas_object_image_preload</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool cancel) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Preload image in the background.  <a href="group__Evas__Object__Image.html#gad6383022c4013008d11827b32bf63d59"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga764bec190c0812f61f5a18f38c9c6a4e">evas_object_image_reload</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reload a image of the canvas.  <a href="group__Evas__Object__Image.html#ga764bec190c0812f61f5a18f38c9c6a4e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool EAPI Eina_Bool <br class="typebreak"/>
+EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad230eeeb0c6ba49eafd32b20afa314cb">evas_object_image_pixels_dirty_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool dirty) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark whether the given image object is dirty (needs to be redrawn).  <a href="group__Evas__Object__Image.html#gad230eeeb0c6ba49eafd32b20afa314cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga1d9e82da12f7831552fca02b9b313551">evas_object_image_pixels_dirty_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given image object is dirty (needs to be redrawn).  <a href="group__Evas__Object__Image.html#ga1d9e82da12f7831552fca02b9b313551"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga88a20331cef0267ddc1d00419841580b">evas_object_image_load_dpi_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double dpi) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the dpi resolution of a loaded image of the canvas.  <a href="group__Evas__Object__Image.html#ga88a20331cef0267ddc1d00419841580b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga92a5503085a5c0731bb9c299e7b42f78">evas_object_image_load_dpi_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the dpi resolution of a loaded image of the canvas.  <a href="group__Evas__Object__Image.html#ga92a5503085a5c0731bb9c299e7b42f78"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga1811fb73c1e138b5221cf4b25148111a">evas_object_image_load_size_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the size of a loaded image of the canvas.  <a href="group__Evas__Object__Image.html#ga1811fb73c1e138b5221cf4b25148111a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae8047183e894e1e1245f1f3aaf78f218">evas_object_image_load_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *w, int *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the size of a loaded image of the canvas.  <a href="group__Evas__Object__Image.html#gae8047183e894e1e1245f1f3aaf78f218"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga59796713b88c217ce5869cb003e404c0">evas_object_image_load_scale_down_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int scale_down) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the scale down of a loaded image of the canvas.  <a href="group__Evas__Object__Image.html#ga59796713b88c217ce5869cb003e404c0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga259c48b3e2a4009e8a10f8e9874d3847">evas_object_image_load_scale_down_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the scale down value of given image of the canvas.  <a href="group__Evas__Object__Image.html#ga259c48b3e2a4009e8a10f8e9874d3847"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gac352f7b110d7e527bf2d36fba5507d0c">evas_object_image_colorspace_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a> cspace) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the colorspace of a given image of the canvas.  <a href="group__Evas__Object__Image.html#gac352f7b110d7e527bf2d36fba5507d0c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42">evas_object_image_colorspace_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the colorspace of a given image of the canvas.  <a href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabd3effabde6da00dfcac7cf0cfa22280">evas_object_image_native_surface_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the native surface of a given image of the canvas.  <a href="group__Evas__Object__Image.html#gabd3effabde6da00dfcac7cf0cfa22280"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad13d32b74c2cd82c95b85fa9640ae529">evas_object_image_scale_hint_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Image_Scale_Hint hint) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the scale hint of a given image of the canvas.  <a href="group__Evas__Object__Image.html#gad13d32b74c2cd82c95b85fa9640ae529"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Image_Scale_Hint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8cce0086819196768915e5f2c2ed0cb2">evas_object_image_scale_hint_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the scale hint of a given image of the canvas.  <a href="group__Evas__Object__Image.html#ga8cce0086819196768915e5f2c2ed0cb2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf6cc0faf39773e12eb496116afd67c6f">evas_object_image_content_hint_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Image_Content_Hint hint) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the content hint of a given image of the canvas.  <a href="group__Evas__Object__Image.html#gaf6cc0faf39773e12eb496116afd67c6f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Image_Content_Hint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga28881040682dbbf00937948124e9f3fb">evas_object_image_content_hint_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the content hint of a given image of the canvas.  <a href="group__Evas__Object__Image.html#ga28881040682dbbf00937948124e9f3fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga154d8315842f4602878704951705e6cb">evas_object_image_alpha_mask_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool ismask) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable an image to be used as an alpha mask.  <a href="group__Evas__Object__Image.html#ga154d8315842f4602878704951705e6cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">evas_object_image_source_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *src) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the source object on a proxy object.  <a href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga95a96ced932d6e7e17ee019654d9d901">evas_object_image_source_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current source object of an image.  <a href="group__Evas__Object__Image.html#ga95a96ced932d6e7e17ee019654d9d901"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">evas_object_image_source_unset</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the source on a proxy image.  <a href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539">evas_object_text_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new text <code>Evas_Object</code> on the provided <code>Evas</code> canvas.  <a href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b">evas_object_text_font_source_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *font) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaa48bece59070032504a2c78ad8a66577">evas_object_text_font_source_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#gaa48bece59070032504a2c78ad8a66577"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">evas_object_text_font_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *font, Evas_Font_Size size) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532">evas_object_text_text_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *text) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the text to be displayed by the given evas text object.  <a href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaef3b0b12eb63b9cd7574c1cf05afb7a8">evas_object_text_text_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the text currently being displayed by the given evas text object.  <a href="group__Evas__Object__Text.html#gaef3b0b12eb63b9cd7574c1cf05afb7a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga4aaf7a903228927fa0adac885304e43e">evas_object_text_ascent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga4aaf7a903228927fa0adac885304e43e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga71f9d96c6dfc8ec33cf0a97e614228a0">evas_object_text_descent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga71f9d96c6dfc8ec33cf0a97e614228a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga1a0bdf57c3ca6e7fb7833ddfbe23b735">evas_object_text_max_ascent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga1a0bdf57c3ca6e7fb7833ddfbe23b735"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga28ee3eb5e199c23a14ac47e07ac49205">evas_object_text_max_descent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga28ee3eb5e199c23a14ac47e07ac49205"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga972494bd4b9d807ea5f98404a82d8eab">evas_object_text_horiz_advance_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga972494bd4b9d807ea5f98404a82d8eab"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaec17348b4fa02b15162ef96abdbfbf41">evas_object_text_vert_advance_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#gaec17348b4fa02b15162ef96abdbfbf41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d">evas_object_text_inset_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga823b09a9d05a1650e63970e329cd7b72">evas_object_text_char_pos_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve position and dimension information of a character within a text <code>Evas_Object</code>.  <a href="group__Evas__Object__Text.html#ga823b09a9d05a1650e63970e329cd7b72"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gab37f85358bd7d333cd6e8c7cf62b5daa">evas_object_text_char_coords_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#gab37f85358bd7d333cd6e8c7cf62b5daa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga464d40578e2fdc2ad8890556e0b97268">evas_object_text_last_up_to_pos</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the logical position of the last char in the text up to the pos given.  <a href="group__Evas__Object__Text.html#ga464d40578e2fdc2ad8890556e0b97268"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Text_Style_Type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaf08d4a9630d23ebdbf79cc8c2c91b2c6">evas_object_text_style_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#gaf08d4a9630d23ebdbf79cc8c2c91b2c6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gae7896521b9861d4bd3efc04ef1e8e91e">evas_object_text_style_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Text_Style_Type type) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#gae7896521b9861d4bd3efc04ef1e8e91e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga58f0bb7acf2c1d24e9ae5e4a391d19bc">evas_object_text_shadow_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga58f0bb7acf2c1d24e9ae5e4a391d19bc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga7cf7432965327a571d413dbaeca66822">evas_object_text_shadow_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga7cf7432965327a571d413dbaeca66822"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga74c4ea0f0befd6213f48163ee70041e6">evas_object_text_glow_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga74c4ea0f0befd6213f48163ee70041e6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga76bcc6322241875990b572f37d754266">evas_object_text_glow_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga76bcc6322241875990b572f37d754266"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga7dabe4ce0120cdf0c4e60a8f7a7e3659">evas_object_text_glow2_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga7dabe4ce0120cdf0c4e60a8f7a7e3659"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga264a8425d8dab176a1b15e17a528d56d">evas_object_text_glow2_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga264a8425d8dab176a1b15e17a528d56d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga1c1cf05c6b31f06a4c79486d19ddaece">evas_object_text_outline_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga1c1cf05c6b31f06a4c79486d19ddaece"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga16485a0062a397faed21fad732ad16ba">evas_object_text_outline_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga16485a0062a397faed21fad732ad16ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gafd638ae91c10d4139e41e6245c0712e1">evas_object_text_style_pad_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the text style pad of a text object.  <a href="group__Evas__Object__Text.html#gafd638ae91c10d4139e41e6245c0712e1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_BiDi_Direction&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga2fdb3ff0318cd4b45d642ae317b19589">evas_object_text_direction_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the direction of the text currently being displayed in the text object.  <a href="group__Evas__Object__Text.html#ga2fdb3ff0318cd4b45d642ae317b19589"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac43a253bc767da912ee1818a8dfa5713">evas_object_textblock_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a textblock to the given evas.  <a href="group__Evas__Object__Textblock.html#gac43a253bc767da912ee1818a8dfa5713"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac165d57003e552fa6739158dc2ed73f5">evas_textblock_escape_string_get</a> (const char *escape) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the unescaped version of escape.  <a href="group__Evas__Object__Textblock.html#gac165d57003e552fa6739158dc2ed73f5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga70b3680a8691c70bab39bd1c127424a5">evas_textblock_string_escape_get</a> (const char *string, int *len_ret) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the escaped version of the string.  <a href="group__Evas__Object__Textblock.html#ga70b3680a8691c70bab39bd1c127424a5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Textblock_Style *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga00cc8baec308c583ac801811dd381d4c">evas_textblock_style_new</a> (void) EINA_WARN_UNUSED_RESULT EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new textblock style.  <a href="group__Evas__Object__Textblock.html#ga00cc8baec308c583ac801811dd381d4c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f">evas_textblock_style_free</a> (Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys a textblock style.  <a href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14">evas_textblock_style_set</a> (Evas_Textblock_Style *ts, const char *text) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the style ts to the style passed as text by text.  <a href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae106e0cfb957f1916eb3833c1214394c">evas_textblock_style_get</a> (const Evas_Textblock_Style *ts) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the text of the style ts.  <a href="group__Evas__Object__Textblock.html#gae106e0cfb957f1916eb3833c1214394c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0">evas_object_textblock_style_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the objects style to ts.  <a href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Evas_Textblock_Style *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga9f3164f28981c6d6188a8de202848197">evas_object_textblock_style_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the style of an object.  <a href="group__Evas__Object__Textblock.html#ga9f3164f28981c6d6188a8de202848197"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gab5d3958f4d73b2d9e3cccd828816b672">evas_object_textblock_replace_char_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the "replacement character" to use for the given textblock object.  <a href="group__Evas__Object__Textblock.html#gab5d3958f4d73b2d9e3cccd828816b672"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga61f6c6ea8c0ce2028424396eb2ff4a81">evas_object_textblock_replace_char_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the "replacement character" for given textblock object.  <a href="group__Evas__Object__Textblock.html#ga61f6c6ea8c0ce2028424396eb2ff4a81"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga5f08b5b6222ed341574ec8167a86c9a0">evas_object_textblock_valign_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double align)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the vertical alignment of text within the textblock object as a whole.  <a href="group__Evas__Object__Textblock.html#ga5f08b5b6222ed341574ec8167a86c9a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga431ec30179fc3d7bcd98f508453e41bb">evas_object_textblock_valign_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the vertical alignment of a textblock.  <a href="group__Evas__Object__Textblock.html#ga431ec30179fc3d7bcd98f508453e41bb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae637041b07efe438e3539bb549a915e3">evas_object_textblock_newline_mode_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool mode) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets newline mode.  <a href="group__Evas__Object__Textblock.html#gae637041b07efe438e3539bb549a915e3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga0832ab9fd2820efee68bec6d1d80e427">evas_object_textblock_newline_mode_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets newline mode.  <a href="group__Evas__Object__Textblock.html#ga0832ab9fd2820efee68bec6d1d80e427"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">evas_object_textblock_text_markup_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *text) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the tetxblock's text to the markup text.  <a href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga0896326ca8d9ca1dd194f322d0bc87b2">evas_object_textblock_text_markup_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the markup of the object.  <a href="group__Evas__Object__Textblock.html#ga0896326ca8d9ca1dd194f322d0bc87b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Evas_Textblock_Cursor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2bbd5e4e1cc36e18790dc09fbd2a6c18">evas_object_textblock_cursor_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the object's main cursor.  <a href="group__Evas__Object__Textblock.html#ga2bbd5e4e1cc36e18790dc09fbd2a6c18"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Textblock_Cursor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45">evas_object_textblock_cursor_new</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new cursor, associate it to the obj and init it to point to the start of the textblock.  <a href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137">evas_textblock_cursor_free</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the cursor and unassociate it from the object.  <a href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41">evas_textblock_cursor_paragraph_first</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the cursor to the start of the first text node.  <a href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0">evas_textblock_cursor_paragraph_last</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the cursor to the end of the last text node.  <a href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a">evas_textblock_cursor_paragraph_next</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the the start of the next text node.  <a href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">evas_textblock_cursor_paragraph_prev</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the the end of the previous text node.  <a href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga56e9057e5845fe785710ba6c5d07ab3e">evas_textblock_node_format_first_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the first format node.  <a href="group__Evas__Object__Textblock.html#ga56e9057e5845fe785710ba6c5d07ab3e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga091521044b95190c75c57ca1661bcc83">evas_textblock_node_format_last_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the last format node.  <a href="group__Evas__Object__Textblock.html#ga091521044b95190c75c57ca1661bcc83"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga341e85b5bb0c9b2c82db4eb5a2432a9d">evas_textblock_node_format_next_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the next format node (after n).  <a href="group__Evas__Object__Textblock.html#ga341e85b5bb0c9b2c82db4eb5a2432a9d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8566bfff8ca71cc89cf704c9a082780c">evas_textblock_node_format_prev_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the prev format node (after n).  <a href="group__Evas__Object__Textblock.html#ga8566bfff8ca71cc89cf704c9a082780c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3">evas_textblock_cursor_format_get</a> (const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the format node at the position pointed by cur.  <a href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8">evas_textblock_node_format_text_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the text format representation of the format node.  <a href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the current cursor position is a visible format.  <a href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaedae64aa95805f0c3480cf6001297ae9">evas_textblock_cursor_format_next</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the next format node.  <a href="group__Evas__Object__Textblock.html#gaedae64aa95805f0c3480cf6001297ae9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec">evas_textblock_cursor_format_prev</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the previous format node.  <a href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">evas_textblock_cursor_is_format</a> (const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the cursor points to a format.  <a href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">evas_textblock_cursor_char_next</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances 1 char forward.  <a href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">evas_textblock_cursor_char_prev</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances 1 char backward.  <a href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d">evas_textblock_cursor_paragraph_char_first</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the first char in the node the cursor is pointing on.  <a href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">evas_textblock_cursor_paragraph_char_last</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the last char in a text node.  <a href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6da9c7bff6073756a619f9b8a00d0e0b">evas_textblock_cursor_line_char_first</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the start of the current line.  <a href="group__Evas__Object__Textblock.html#ga6da9c7bff6073756a619f9b8a00d0e0b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">evas_textblock_cursor_line_char_last</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the end of the current line.  <a href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga7f74459b59870c258bd312ff114778bc">evas_textblock_cursor_pos_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current cursor pos.  <a href="group__Evas__Object__Textblock.html#ga7f74459b59870c258bd312ff114778bc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gacde95e638bba6858b73f316afe2cfef0">evas_textblock_cursor_pos_set</a> (Evas_Textblock_Cursor *cur, int pos) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor pos.  <a href="group__Evas__Object__Textblock.html#gacde95e638bba6858b73f316afe2cfef0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf">evas_textblock_cursor_line_set</a> (Evas_Textblock_Cursor *cur, int line) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the start of the line passed.  <a href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf9cd7ffa37008c0d6f61413703a0670e">evas_textblock_cursor_char_delete</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the character at the location of the cursor.  <a href="group__Evas__Object__Textblock.html#gaf9cd7ffa37008c0d6f61413703a0670e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">evas_textblock_cursor_paragraph_text_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the text of the paragraph cur points to - returns the text in markup.  <a href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga57b2e7d853306c435946e0db83080db5">evas_textblock_cursor_paragraph_text_length_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the length of the paragraph, cheaper the eina_unicode_strlen().  <a href="group__Evas__Object__Textblock.html#ga57b2e7d853306c435946e0db83080db5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">evas_textblock_cursor_content_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the content of the cursor.  <a href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">evas_textblock_cursor_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the cursor.  <a href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga47950e666e252bbf0ad9d46b59e74269">evas_textblock_cursor_char_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the char at cur.  <a href="group__Evas__Object__Textblock.html#ga47950e666e252bbf0ad9d46b59e74269"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105">evas_textblock_cursor_pen_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cpen_x, Evas_Coord *cy, Evas_Coord *cadv, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the pen at cur.  <a href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaa49a0235809d49fb5f988253050dd101">evas_textblock_cursor_line_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the line at cur.  <a href="group__Evas__Object__Textblock.html#gaa49a0235809d49fb5f988253050dd101"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00">evas_textblock_cursor_char_coord_set</a> (Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the position of the cursor according to the X and Y coordinates.  <a href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb">evas_textblock_cursor_line_coord_set</a> (Evas_Textblock_Cursor *cur, Evas_Coord y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor position according to the y coord.  <a href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311">evas_textblock_cursor_format_item_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be documented.  <a href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">evas_textblock_cursor_eol_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the cursor points to the end of the line.  <a href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga77d99df8bcb139f2a499a0dda4c5dca1">evas_object_textblock_line_number_geometry_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of a line number.  <a href="group__Evas__Object__Textblock.html#ga77d99df8bcb139f2a499a0dda4c5dca1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad5ee9184f370f602d2005ea8091a2c29">evas_object_textblock_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the textblock object.  <a href="group__Evas__Object__Textblock.html#gad5ee9184f370f602d2005ea8091a2c29"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db">evas_object_textblock_size_formatted_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the formatted width and height.  <a href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e">evas_object_textblock_size_native_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the native width and height.  <a href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga851cb385b547a958790a0d60d386a1d8">evas_object_textblock_style_insets_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be documented.  <a href="group__Evas__Object__Textblock.html#ga851cb385b547a958790a0d60d386a1d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#ga896f1beaea24379495af4cbc5efcebfe">evas_object_line_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a new evas line object to the given evas.  <a href="group__Evas__Line__Group.html#ga896f1beaea24379495af4cbc5efcebfe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174">evas_object_line_xy_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the coordinates of the end points of the given evas line object.  <a href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#ga3fa674863aa41d655caa103f546a9092">evas_object_line_xy_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the coordinates of the end points of the given evas line object.  <a href="group__Evas__Line__Group.html#ga3fa674863aa41d655caa103f546a9092"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#gab6beb5b98de57a0f47707cac90f96bc9">evas_object_polygon_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a new evas polygon object to the given evas.  <a href="group__Evas__Object__Polygon.html#gab6beb5b98de57a0f47707cac90f96bc9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76">evas_object_polygon_point_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds the given point to the given evas polygon object.  <a href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2">evas_object_polygon_points_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all of the points from the given evas polygon object.  <a href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga3501ae449533ae15eee9cbf65811cad2">evas_smart_free</a> (<a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free an Evas_Smart.  <a href="group__Evas__Smart__Group.html#ga3501ae449533ae15eee9cbf65811cad2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a">evas_smart_class_new</a> (const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an Evas_Smart from an Evas_Smart_Class.  <a href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gac41799a0e334d515fa8e07313b88c611">evas_smart_class_get</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Evas_Smart_Class of an Evas_Smart.  <a href="group__Evas__Smart__Group.html#gac41799a0e334d515fa8e07313b88c611"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaa88f3f98a71031573b8dfc4bfeac2f64">evas_smart_data_get</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the data pointer set on an Evas_Smart.  <a href="group__Evas__Smart__Group.html#gaa88f3f98a71031573b8dfc4bfeac2f64"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a member object from a smart object.  <a href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511">evas_object_smart_parent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the smart parent of an Evas_Object.  <a href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#afa903e37a9f98f80f1d73996cf5354cc">evas_object_smart_members_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the list of the member objects of an Evas_Object.  <a href="#afa903e37a9f98f80f1d73996cf5354cc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gab1423d63011d7f3679c95ea1638fa714">evas_object_smart_smart_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Evas_Smart from which <code>obj</code> was created.  <a href="group__Evas__Smart__Object__Group.html#gab1423d63011d7f3679c95ea1638fa714"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">evas_object_smart_data_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve user data stored on a smart object.  <a href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e">evas_object_smart_data_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a pointer to user data for a smart object.  <a href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void EAPI void <br class="typebreak"/>
+EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaf724dbb075cdaf2b4b44dd883b792dc3">evas_object_smart_callbacks_descriptions_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> *descriptions) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set smart object instance callbacks descriptions.  <a href="group__Evas__Smart__Object__Group.html#gaf724dbb075cdaf2b4b44dd883b792dc3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d">evas_object_smart_callbacks_descriptions_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***class_descriptions, unsigned int *class_count, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***instance_descriptions, unsigned int *instance_count) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the callbacks descriptions known by this smart object.  <a href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark smart object as changed, dirty.  <a href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1">evas_object_smart_need_recalculate_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool value) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the need_recalculate flag of given smart object.  <a href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga38be19a4f09b071b3d984996b8f9b3ee">evas_object_smart_need_recalculate_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current value of need_recalculate flag.  <a href="group__Evas__Smart__Object__Group.html#ga38be19a4f09b071b3d984996b8f9b3ee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga8013936b96d99d2ff375ca2b0b287f39">evas_object_smart_calculate</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call user provided calculate() and unset need_calculate.  <a href="group__Evas__Smart__Object__Group.html#ga8013936b96d99d2ff375ca2b0b287f39"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaa30fa648297b723a73f28632d1dbec62">evas_smart_objects_calculate</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call user provided calculate() and unset need_calculate on all objects.  <a href="group__Evas__Smart__Object__Group.html#gaa30fa648297b723a73f28632d1dbec62"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">evas_object_smart_clipped_clipper_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the clipper object for the given clipped smart object.  <a href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628">evas_object_smart_clipped_smart_set</a> (<a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set smart class callbacks so it implements the "Clipped Smart Object".  <a href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga83e064112f527be0c2156c425562a57c"></a><!-- doxytag: member="Evas.h::evas_object_smart_clipped_class_get" ref="ga83e064112f527be0c2156c425562a57c" args="(void) EINA_CONST" -->
+EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">evas_object_smart_clipped_class_get</a> (void) EINA_CONST</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the Clipped Smart Class to use for proper inheritance. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">evas_object_smart_move_children_relative</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord dx, Evas_Coord dy) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves all children objects relative to given offset.  <a href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga19c407e45de527d9400823fb1c85d0fe">evas_object_box_smart_set</a> (<a class="el" href="struct__Evas__Object__Box__Api.html">Evas_Object_Box_Api</a> *api) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the default box <em>api</em> struct (Evas_Object_Box_Api) with the default values.  <a href="group__Evas__Object__Box.html#ga19c407e45de527d9400823fb1c85d0fe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga58da2c7328e5c8a01a8817f934d083ff"></a><!-- doxytag: member="Evas.h::evas_object_box_smart_class_get" ref="ga58da2c7328e5c8a01a8817f934d083ff" args="(void) EINA_CONST" -->
+EAPI const <a class="el" href="struct__Evas__Object__Box__Api.html">Evas_Object_Box_Api</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">evas_object_box_smart_class_get</a> (void) EINA_CONST</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get Box Smart Class for inheritance purposes. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">evas_object_box_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new box.  <a href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">evas_object_box_add_to</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a box that is child of a given element <em>parent</em>.  <a href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae66fe763591e62621cf6352528d97e10"></a><!-- doxytag: member="Evas.h::evas_object_box_align_set" ref="gae66fe763591e62621cf6352528d97e10" args="(Evas_Object *o, double horizontal, double vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void EAPI void EAPI void <br class="typebreak"/>
+EAPI void EAPI void EAPI void <br class="typebreak"/>
+EAPI void EAPI void EAPI void <br class="typebreak"/>
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gae66fe763591e62621cf6352528d97e10">evas_object_box_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double horizontal, double vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad87e3a868b14d1a28da7511f95b59673"></a><!-- doxytag: member="Evas.h::evas_object_box_align_get" ref="gad87e3a868b14d1a28da7511f95b59673" args="(const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad87e3a868b14d1a28da7511f95b59673">evas_object_box_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga75ab3d2f84c328010c26a6b8d89c9c67"></a><!-- doxytag: member="Evas.h::evas_object_box_padding_set" ref="ga75ab3d2f84c328010c26a6b8d89c9c67" args="(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga75ab3d2f84c328010c26a6b8d89c9c67">evas_object_box_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the space (padding) between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab24383f3b29c8bc78c98cd0b0f16902d"></a><!-- doxytag: member="Evas.h::evas_object_box_padding_get" ref="gab24383f3b29c8bc78c98cd0b0f16902d" args="(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gab24383f3b29c8bc78c98cd0b0f16902d">evas_object_box_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the (space) padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> <br class="typebreak"/>
+*EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> <br class="typebreak"/>
+*EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> <br class="typebreak"/>
+EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> <br class="typebreak"/>
+EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> <br class="typebreak"/>
+*EAPI Eina_Bool EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">evas_object_box_remove_at</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, unsigned int pos) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove an object from the box <em>o</em> which occupies position <em>pos</em>.  <a href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">evas_object_box_remove_all</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Eina_Bool clear) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all child objects.  <a href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Iterator *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga2a3ceff4f02512fa7f85618252eacbdc">evas_object_box_iterator_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an iterator to walk the list of children for the box.  <a href="group__Evas__Object__Box.html#ga2a3ceff4f02512fa7f85618252eacbdc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Accessor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad5c5837393bd163f6cde72bde073333b">evas_object_box_accessor_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an accessor to get random access to the list of children for the box.  <a href="group__Evas__Object__Box.html#gad5c5837393bd163f6cde72bde073333b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga542294a74645829cd5531a8ddec32d9c">evas_object_box_children_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of children for the box.  <a href="group__Evas__Object__Box.html#ga542294a74645829cd5531a8ddec32d9c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad6b908faeca8fb7e16c002509a86ffab">evas_object_box_option_property_name_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, int property) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the name of the property of the child elements of the box <em>o</em> whose id is <em>property</em>.  <a href="group__Evas__Object__Box.html#gad6b908faeca8fb7e16c002509a86ffab"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">evas_object_table_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new table.  <a href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">evas_object_table_add_to</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a table that is child of a given element <em>parent</em>.  <a href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">evas_object_table_homogeneous_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a> homogeneous) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set how this table should layout children.  <a href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga1b96719d71cb4ca89a31eb59635df387">evas_object_table_homogeneous_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current layout homogeneous mode.  <a href="group__Evas__Object__Table.html#ga1b96719d71cb4ca89a31eb59635df387"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6ea229f05036a9c5d30010ad40a30c66"></a><!-- doxytag: member="Evas.h::evas_object_table_padding_set" ref="ga6ea229f05036a9c5d30010ad40a30c66" args="(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga6ea229f05036a9c5d30010ad40a30c66">evas_object_table_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabe1af40fbd5e03068bc577e71939934a"></a><!-- doxytag: member="Evas.h::evas_object_table_padding_get" ref="gabe1af40fbd5e03068bc577e71939934a" args="(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gabe1af40fbd5e03068bc577e71939934a">evas_object_table_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7299bcee8de1f9304fa31fff43347a45"></a><!-- doxytag: member="Evas.h::evas_object_table_align_set" ref="ga7299bcee8de1f9304fa31fff43347a45" args="(Evas_Object *o, double horizontal, double vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga7299bcee8de1f9304fa31fff43347a45">evas_object_table_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double horizontal, double vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7a1ff64522920c2723675ca11d723d47"></a><!-- doxytag: member="Evas.h::evas_object_table_align_get" ref="ga7a1ff64522920c2723675ca11d723d47" args="(const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga7a1ff64522920c2723675ca11d723d47">evas_object_table_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga8f775fb97bf5da5e8a0005a89027044b">evas_object_table_mirrored_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the mirrored mode of the table.  <a href="group__Evas__Object__Table.html#ga8f775fb97bf5da5e8a0005a89027044b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gac008b924a1ba3b0133d0ac11b3e6af06">evas_object_table_mirrored_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the mirrored mode of the table.  <a href="group__Evas__Object__Table.html#gac008b924a1ba3b0133d0ac11b3e6af06"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool EAPI Eina_Bool <br class="typebreak"/>
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">evas_object_table_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Eina_Bool clear) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Faster way to remove all child objects from a table object.  <a href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga007c88dba9eb3b326aa67a10c143f3a9">evas_object_table_col_row_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, int *cols, int *rows) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of columns and rows this table takes.  <a href="group__Evas__Object__Table.html#ga007c88dba9eb3b326aa67a10c143f3a9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Iterator *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga07d18d5708745143c4b12280a7359e71">evas_object_table_iterator_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an iterator to walk the list of children for the table.  <a href="group__Evas__Object__Table.html#ga07d18d5708745143c4b12280a7359e71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Accessor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaaa6c5242faad0906b1fbf4bbc1088543">evas_object_table_accessor_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an accessor to get random access to the list of children for the table.  <a href="group__Evas__Object__Table.html#gaaa6c5242faad0906b1fbf4bbc1088543"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga1afb562131cd3a74a130c374fcea0632">evas_object_table_children_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of children for the table.  <a href="group__Evas__Object__Table.html#ga1afb562131cd3a74a130c374fcea0632"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaeb4a9d107dde8a4c7bc60d6f97b5ec46">evas_object_table_child_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, unsigned short col, unsigned short row) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a child from the table using its coordinates.  <a href="group__Evas__Object__Table.html#gaeb4a9d107dde8a4c7bc60d6f97b5ec46"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#gab039ccd04ab2e8857a0df629b4ac0901">evas_cserve_want_get</a> (void) EINA_WARN_UNUSED_RESULT EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system wants to share bitmaps using the server.  <a href="group__Evas__Cserve.html#gab039ccd04ab2e8857a0df629b4ac0901"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#gab88ee4c01dbdf01fea4d8acf4a07b25f">evas_cserve_connected_get</a> (void) EINA_WARN_UNUSED_RESULT</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system is connected to the server used to shae bitmaps.  <a href="group__Evas__Cserve.html#gab88ee4c01dbdf01fea4d8acf4a07b25f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga82fec634eb97f664e9cb3ed08358b1a2">evas_cserve_stats_get</a> (<a class="el" href="struct__Evas__Cserve__Stats.html">Evas_Cserve_Stats</a> *stats) EINA_WARN_UNUSED_RESULT</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system wants to share bitmaps using the server.  <a href="group__Evas__Cserve.html#ga82fec634eb97f664e9cb3ed08358b1a2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga9bb7fbd93f4bc9310707549ff9427b47">evas_cserve_config_get</a> (<a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *config) EINA_WARN_UNUSED_RESULT EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current configuration of the server.  <a href="group__Evas__Cserve.html#ga9bb7fbd93f4bc9310707549ff9427b47"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga10c38a7bfb59423c2a96447b42c2aa15">evas_cserve_config_set</a> (const <a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *config) EINA_WARN_UNUSED_RESULT EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the configuration of the server.  <a href="group__Evas__Cserve.html#ga10c38a7bfb59423c2a96447b42c2aa15"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3129abb4410e7d6967072f14ac327daf"></a><!-- doxytag: member="Evas.h::evas_cserve_disconnect" ref="ga3129abb4410e7d6967072f14ac327daf" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga3129abb4410e7d6967072f14ac327daf">evas_cserve_disconnect</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force system to disconnect from cache server. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a">evas_load_error_str</a> (<a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a> error)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the given error code into a string describing it in english.  <a href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga2a28c2e6ecdc72189040ae3f5bd829d0">evas_color_hsv_to_rgb</a> (float h, float s, float v, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a given color from HSV to RGB format.  <a href="group__Evas__Utils.html#ga2a28c2e6ecdc72189040ae3f5bd829d0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga4054acb14873d5923306ddde5537171d">evas_color_rgb_to_hsv</a> (int r, int g, int b, float *h, float *s, float *v)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a given color from RGB to HSV format.  <a href="group__Evas__Utils.html#ga4054acb14873d5923306ddde5537171d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa">evas_color_argb_premul</a> (int a, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-multiplies a rgb triplet by an alpha factor.  <a href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga520b64aa41b81e13bf7fc9f16fd2f3e5">evas_color_argb_unpremul</a> (int a, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Undo pre-multiplication of a rgb triplet by an alpha factor.  <a href="group__Evas__Utils.html#ga520b64aa41b81e13bf7fc9f16fd2f3e5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#gad61423a02fa7c3cb0293c3bdd5516216">evas_data_argb_premul</a> (unsigned int *data, unsigned int len)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-multiplies data by an alpha factor.  <a href="group__Evas__Utils.html#gad61423a02fa7c3cb0293c3bdd5516216"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga6794135ce6545bd5e16f6563043a8f18">evas_data_argb_unpremul</a> (unsigned int *data, unsigned int len)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Undo pre-multiplication data by an alpha factor.  <a href="group__Evas__Utils.html#ga6794135ce6545bd5e16f6563043a8f18"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga31161605cf449d16e0ea0183509a1e3b">evas_string_char_next_get</a> (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the next character in the string.  <a href="group__Evas__Utils.html#ga31161605cf449d16e0ea0183509a1e3b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga20119def41aa1f24aea7961b3fa0fd72">evas_string_char_prev_get</a> (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the previous character in the string.  <a href="group__Evas__Utils.html#ga20119def41aa1f24aea7961b3fa0fd72"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#gaf9edd726590b1f56ca3e566ba1a2dbb2">evas_string_char_len_get</a> (const char *str) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the length in characters of the string.  <a href="group__Evas__Utils.html#gaf9edd726590b1f56ca3e566ba1a2dbb2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <a class="el" href="Evas_8h.html#a198d0b10861c1da456004688d3443e96">Evas_Modifier</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a5c233a1e9eea970c1db0de87ff343e77">evas_key_modifier_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">TO BE DOCUMENTED:  <a href="#a5c233a1e9eea970c1db0de87ff343e77"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <a class="el" href="Evas_8h.html#a791323b644ee831ead4c5d25552a0fd8">Evas_Lock</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aa8af6d3610b4e937e79e761c8c4c7819">evas_key_lock_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a handle to the locks available in the system.  <a href="#aa8af6d3610b4e937e79e761c8c4c7819"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>These routines are used for Evas library interaction. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd><p class="startdd">check boolean return values and convert to Eina_Bool </p>
+<p>change all api to use EINA_SAFETY_* </p>
+<p class="enddd">finish api documentation </p>
+</dd></dl>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="aae3a7dde94160cc18015784fb192bb2f"></a><!-- doxytag: member="Evas.h::Evas_Button_Flags" ref="aae3a7dde94160cc18015784fb192bb2f" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">_Evas_Button_Flags</a>  <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Mouse Button events. </p>
+<p>Flags for Mouse Button events </p>
+
+</div>
+</div>
+<a class="anchor" id="a076b2a9b2de2b2144a4193b1d12ed448"></a><!-- doxytag: member="Evas.h::Evas_Callback_Type" ref="a076b2a9b2de2b2144a4193b1d12ed448" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">_Evas_Callback_Type</a>  <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Identifier of callbacks to be used with object or canvas. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> The type of event to trigger the callback </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9fda4d6d744ae16549b3765df7363f95"></a><!-- doxytag: member="Evas.h::Evas_Event_Flags" ref="a9fda4d6d744ae16549b3765df7363f95" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">_Evas_Event_Flags</a>  <a class="el" href="Evas_8h.html#a9fda4d6d744ae16549b3765df7363f95">Evas_Event_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Events. </p>
+<p>Flags for Events </p>
+
+</div>
+</div>
+<a class="anchor" id="ae609d856d391e1d65968a137313e0eb7"></a><!-- doxytag: member="Evas.h::Evas_Pixel_Import_Pixel_Format" ref="ae609d856d391e1d65968a137313e0eb7" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">_Evas_Pixel_Import_Pixel_Format</a>  <a class="el" href="Evas_8h.html#ae609d856d391e1d65968a137313e0eb7">Evas_Pixel_Import_Pixel_Format</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Pixel format for import call. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gad87ced373138180afff4756fded5a4f3" title="Import pixels from given source to a given canvas image object.">evas_object_image_pixels_import()</a> </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a1adf9f604f763f2a8db12a484ca199cb"></a><!-- doxytag: member="Evas.h::_Evas_Alloc_Error" ref="a1adf9f604f763f2a8db12a484ca199cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cb">_Evas_Alloc_Error</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8"></a><!-- doxytag: member="EVAS_ALLOC_ERROR_NONE" ref="a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" args="" -->EVAS_ALLOC_ERROR_NONE</em>&nbsp;</td><td>
+<p>No allocation error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e"></a><!-- doxytag: member="EVAS_ALLOC_ERROR_FATAL" ref="a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e" args="" -->EVAS_ALLOC_ERROR_FATAL</em>&nbsp;</td><td>
+<p>Allocation failed despite attempts to free up memory. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e"></a><!-- doxytag: member="EVAS_ALLOC_ERROR_RECOVERED" ref="a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e" args="" -->EVAS_ALLOC_ERROR_RECOVERED</em>&nbsp;</td><td>
+<p>Allocation succeeded, but extra memory had to be found by freeing up speculative resources. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a9b61a9a46b5824fc358a5a8c82cda8b9"></a><!-- doxytag: member="Evas.h::_Evas_Button_Flags" ref="a9b61a9a46b5824fc358a5a8c82cda8b9" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">_Evas_Button_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Mouse Button events. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd"></a><!-- doxytag: member="EVAS_BUTTON_NONE" ref="a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd" args="" -->EVAS_BUTTON_NONE</em>&nbsp;</td><td>
+<p>No extra mouse button data. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d"></a><!-- doxytag: member="EVAS_BUTTON_DOUBLE_CLICK" ref="a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d" args="" -->EVAS_BUTTON_DOUBLE_CLICK</em>&nbsp;</td><td>
+<p>This mouse button press was the 2nd press of a double click. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87"></a><!-- doxytag: member="EVAS_BUTTON_TRIPLE_CLICK" ref="a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87" args="" -->EVAS_BUTTON_TRIPLE_CLICK</em>&nbsp;</td><td>
+<p>This mouse button press was the 3rd press of a triple click. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8a"></a><!-- doxytag: member="Evas.h::_Evas_Callback_Type" ref="a99e208e463a20499aabe6faac8a8cb8a" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">_Evas_Callback_Type</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Identifier of callbacks to be used with object or canvas. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> </dd></dl>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_IN" ref="a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" args="" -->EVAS_CALLBACK_MOUSE_IN</em>&nbsp;</td><td>
+<p>Mouse In Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_OUT" ref="a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25" args="" -->EVAS_CALLBACK_MOUSE_OUT</em>&nbsp;</td><td>
+<p>Mouse Out Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_DOWN" ref="a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" args="" -->EVAS_CALLBACK_MOUSE_DOWN</em>&nbsp;</td><td>
+<p>Mouse Button Down Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_UP" ref="a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" args="" -->EVAS_CALLBACK_MOUSE_UP</em>&nbsp;</td><td>
+<p>Mouse Button Up Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_MOVE" ref="a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a" args="" -->EVAS_CALLBACK_MOUSE_MOVE</em>&nbsp;</td><td>
+<p>Mouse Move Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_WHEEL" ref="a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4" args="" -->EVAS_CALLBACK_MOUSE_WHEEL</em>&nbsp;</td><td>
+<p>Mouse Wheel Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80"></a><!-- doxytag: member="EVAS_CALLBACK_MULTI_DOWN" ref="a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80" args="" -->EVAS_CALLBACK_MULTI_DOWN</em>&nbsp;</td><td>
+<p>Multi-touch Down Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94"></a><!-- doxytag: member="EVAS_CALLBACK_MULTI_UP" ref="a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94" args="" -->EVAS_CALLBACK_MULTI_UP</em>&nbsp;</td><td>
+<p>Multi-touch Up Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f"></a><!-- doxytag: member="EVAS_CALLBACK_MULTI_MOVE" ref="a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f" args="" -->EVAS_CALLBACK_MULTI_MOVE</em>&nbsp;</td><td>
+<p>Multi-touch Move Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24"></a><!-- doxytag: member="EVAS_CALLBACK_FREE" ref="a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24" args="" -->EVAS_CALLBACK_FREE</em>&nbsp;</td><td>
+<p>Object Being Freed (Called after Del). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584"></a><!-- doxytag: member="EVAS_CALLBACK_KEY_DOWN" ref="a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584" args="" -->EVAS_CALLBACK_KEY_DOWN</em>&nbsp;</td><td>
+<p>Key Press Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f"></a><!-- doxytag: member="EVAS_CALLBACK_KEY_UP" ref="a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f" args="" -->EVAS_CALLBACK_KEY_UP</em>&nbsp;</td><td>
+<p>Key Release Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97"></a><!-- doxytag: member="EVAS_CALLBACK_FOCUS_IN" ref="a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97" args="" -->EVAS_CALLBACK_FOCUS_IN</em>&nbsp;</td><td>
+<p>Focus In Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3"></a><!-- doxytag: member="EVAS_CALLBACK_FOCUS_OUT" ref="a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3" args="" -->EVAS_CALLBACK_FOCUS_OUT</em>&nbsp;</td><td>
+<p>Focus Out Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540"></a><!-- doxytag: member="EVAS_CALLBACK_SHOW" ref="a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540" args="" -->EVAS_CALLBACK_SHOW</em>&nbsp;</td><td>
+<p>Show Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7"></a><!-- doxytag: member="EVAS_CALLBACK_HIDE" ref="a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7" args="" -->EVAS_CALLBACK_HIDE</em>&nbsp;</td><td>
+<p>Hide Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0"></a><!-- doxytag: member="EVAS_CALLBACK_MOVE" ref="a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0" args="" -->EVAS_CALLBACK_MOVE</em>&nbsp;</td><td>
+<p>Move Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21"></a><!-- doxytag: member="EVAS_CALLBACK_RESIZE" ref="a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21" args="" -->EVAS_CALLBACK_RESIZE</em>&nbsp;</td><td>
+<p>Resize Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145"></a><!-- doxytag: member="EVAS_CALLBACK_RESTACK" ref="a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145" args="" -->EVAS_CALLBACK_RESTACK</em>&nbsp;</td><td>
+<p>Restack Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277"></a><!-- doxytag: member="EVAS_CALLBACK_DEL" ref="a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277" args="" -->EVAS_CALLBACK_DEL</em>&nbsp;</td><td>
+<p>Object Being Deleted (called before Free). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85"></a><!-- doxytag: member="EVAS_CALLBACK_HOLD" ref="a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85" args="" -->EVAS_CALLBACK_HOLD</em>&nbsp;</td><td>
+<p>Events go on/off hold. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae"></a><!-- doxytag: member="EVAS_CALLBACK_CHANGED_SIZE_HINTS" ref="a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae" args="" -->EVAS_CALLBACK_CHANGED_SIZE_HINTS</em>&nbsp;</td><td>
+<p>Size hints changed event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e"></a><!-- doxytag: member="EVAS_CALLBACK_IMAGE_PRELOADED" ref="a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e" args="" -->EVAS_CALLBACK_IMAGE_PRELOADED</em>&nbsp;</td><td>
+<p>Image as been preloaded. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1"></a><!-- doxytag: member="EVAS_CALLBACK_CANVAS_FOCUS_IN" ref="a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" args="" -->EVAS_CALLBACK_CANVAS_FOCUS_IN</em>&nbsp;</td><td>
+<p>Canvas got focus as a whole. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f"></a><!-- doxytag: member="EVAS_CALLBACK_CANVAS_FOCUS_OUT" ref="a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f" args="" -->EVAS_CALLBACK_CANVAS_FOCUS_OUT</em>&nbsp;</td><td>
+<p>Canvas lost focus as a whole. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3"></a><!-- doxytag: member="EVAS_CALLBACK_RENDER_FLUSH_PRE" ref="a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3" args="" -->EVAS_CALLBACK_RENDER_FLUSH_PRE</em>&nbsp;</td><td>
+<p>Called just before rendering is updated on the canvas target. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1"></a><!-- doxytag: member="EVAS_CALLBACK_RENDER_FLUSH_POST" ref="a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1" args="" -->EVAS_CALLBACK_RENDER_FLUSH_POST</em>&nbsp;</td><td>
+<p>Called just after rendering is updated on the canvas target. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5"></a><!-- doxytag: member="EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN" ref="a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5" args="" -->EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN</em>&nbsp;</td><td>
+<p>Canvas object got focus. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070"></a><!-- doxytag: member="EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT" ref="a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070" args="" -->EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT</em>&nbsp;</td><td>
+<p>Canvas object lost focus. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8"></a><!-- doxytag: member="EVAS_CALLBACK_IMAGE_UNLOADED" ref="a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8" args="" -->EVAS_CALLBACK_IMAGE_UNLOADED</em>&nbsp;</td><td>
+<p>Image data has been unloaded (by some mechanims in evas that throws out original image data). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529"></a><!-- doxytag: member="EVAS_CALLBACK_LAST" ref="a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529" args="" -->EVAS_CALLBACK_LAST</em>&nbsp;</td><td>
+<p>keep as last element/sentinel -- not really an event </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a89ffbc5f4d2796994c8b07ef95ef3d1a"></a><!-- doxytag: member="Evas.h::_Evas_Event_Flags" ref="a89ffbc5f4d2796994c8b07ef95ef3d1a" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">_Evas_Event_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Events. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf"></a><!-- doxytag: member="EVAS_EVENT_FLAG_NONE" ref="a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf" args="" -->EVAS_EVENT_FLAG_NONE</em>&nbsp;</td><td>
+<p>No fancy flags set. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83"></a><!-- doxytag: member="EVAS_EVENT_FLAG_ON_HOLD" ref="a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83" args="" -->EVAS_EVENT_FLAG_ON_HOLD</em>&nbsp;</td><td>
+<p>This event is being delivered but should be put "on hold" until the on hold flag is unset. </p>
+<p>the event should be used for informational purposes and maybe some indications visually, but not actually perform anything </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311"></a><!-- doxytag: member="EVAS_EVENT_FLAG_ON_SCROLL" ref="a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311" args="" -->EVAS_EVENT_FLAG_ON_SCROLL</em>&nbsp;</td><td>
+<p>This event flag indicates the event occurs while scrolling; for exameple, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a830349cff0c676505905e79e1db0f738"></a><!-- doxytag: member="Evas.h::_Evas_Fill_Spread" ref="a830349cff0c676505905e79e1db0f738" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738">_Evas_Fill_Spread</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760"></a><!-- doxytag: member="EVAS_TEXTURE_REFLECT" ref="a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760" args="" -->EVAS_TEXTURE_REFLECT</em>&nbsp;</td><td>
+<p>image fill tiling mode - tiling reflects </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2"></a><!-- doxytag: member="EVAS_TEXTURE_REPEAT" ref="a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2" args="" -->EVAS_TEXTURE_REPEAT</em>&nbsp;</td><td>
+<p>tiling repeats </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136"></a><!-- doxytag: member="EVAS_TEXTURE_RESTRICT" ref="a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136" args="" -->EVAS_TEXTURE_RESTRICT</em>&nbsp;</td><td>
+<p>tiling clamps - range offset ignored </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85"></a><!-- doxytag: member="EVAS_TEXTURE_RESTRICT_REFLECT" ref="a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85" args="" -->EVAS_TEXTURE_RESTRICT_REFLECT</em>&nbsp;</td><td>
+<p>tiling clamps and any range offset reflects </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43"></a><!-- doxytag: member="EVAS_TEXTURE_RESTRICT_REPEAT" ref="a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43" args="" -->EVAS_TEXTURE_RESTRICT_REPEAT</em>&nbsp;</td><td>
+<p>tiling clamps and any range offset repeats </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7"></a><!-- doxytag: member="EVAS_TEXTURE_PAD" ref="a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7" args="" -->EVAS_TEXTURE_PAD</em>&nbsp;</td><td>
+<p>tiling extends with end values </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5f"></a><!-- doxytag: member="Evas.h::_Evas_Load_Error" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5f" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5f">_Evas_Load_Error</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac"></a><!-- doxytag: member="EVAS_LOAD_ERROR_NONE" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac" args="" -->EVAS_LOAD_ERROR_NONE</em>&nbsp;</td><td>
+<p>No error on load. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d"></a><!-- doxytag: member="EVAS_LOAD_ERROR_GENERIC" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d" args="" -->EVAS_LOAD_ERROR_GENERIC</em>&nbsp;</td><td>
+<p>A non-specific error occurred. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529"></a><!-- doxytag: member="EVAS_LOAD_ERROR_DOES_NOT_EXIST" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529" args="" -->EVAS_LOAD_ERROR_DOES_NOT_EXIST</em>&nbsp;</td><td>
+<p>File (or file path) does not exist. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200"></a><!-- doxytag: member="EVAS_LOAD_ERROR_PERMISSION_DENIED" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200" args="" -->EVAS_LOAD_ERROR_PERMISSION_DENIED</em>&nbsp;</td><td>
+<p>Permission deinied to an existing file (or path). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4"></a><!-- doxytag: member="EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4" args="" -->EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED</em>&nbsp;</td><td>
+<p>Allocation of resources failure prevented load. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75"></a><!-- doxytag: member="EVAS_LOAD_ERROR_CORRUPT_FILE" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75" args="" -->EVAS_LOAD_ERROR_CORRUPT_FILE</em>&nbsp;</td><td>
+<p>File corrupt (but was detected as a known format). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80"></a><!-- doxytag: member="EVAS_LOAD_ERROR_UNKNOWN_FORMAT" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80" args="" -->EVAS_LOAD_ERROR_UNKNOWN_FORMAT</em>&nbsp;</td><td>
+<p>File is not a known format. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a8f3b6286e8954884b903666f50e12b59"></a><!-- doxytag: member="Evas.h::_Evas_Pixel_Import_Pixel_Format" ref="a8f3b6286e8954884b903666f50e12b59" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">_Evas_Pixel_Import_Pixel_Format</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2"></a><!-- doxytag: member="EVAS_PIXEL_FORMAT_NONE" ref="a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2" args="" -->EVAS_PIXEL_FORMAT_NONE</em>&nbsp;</td><td>
+<p>No pixel format. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a"></a><!-- doxytag: member="EVAS_PIXEL_FORMAT_ARGB32" ref="a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a" args="" -->EVAS_PIXEL_FORMAT_ARGB32</em>&nbsp;</td><td>
+<p>ARGB 32bit pixel format with A in the high byte per 32bit pixel word. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8"></a><!-- doxytag: member="EVAS_PIXEL_FORMAT_YUV420P_601" ref="a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8" args="" -->EVAS_PIXEL_FORMAT_YUV420P_601</em>&nbsp;</td><td>
+<p>YUV 420 Planar format with CCIR 601 color encoding wuth contiguous planes in the order Y, U and V. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="aa8af6d3610b4e937e79e761c8c4c7819"></a><!-- doxytag: member="Evas.h::evas_key_lock_get" ref="aa8af6d3610b4e937e79e761c8c4c7819" args="(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#a791323b644ee831ead4c5d25552a0fd8">Evas_Lock</a>* evas_key_lock_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns a handle to the locks available in the system. </p>
+<p>This is required to check for locks with the evas_key_lock_is_set function.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd>evas_key_lock_add </dd>
+<dd>
+evas_key_lock_del </dd>
+<dd>
+evas_key_lock_on </dd>
+<dd>
+evas_key_lock_off</dd>
+<dd>
+evas_key_lock_is_set </dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An Evas_Lock handle to query the lock subsystem with evas_key_lock_is_set, or NULL on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a5c233a1e9eea970c1db0de87ff343e77"></a><!-- doxytag: member="Evas.h::evas_key_modifier_get" ref="a5c233a1e9eea970c1db0de87ff343e77" args="(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#a198d0b10861c1da456004688d3443e96">Evas_Modifier</a>* evas_key_modifier_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>TO BE DOCUMENTED: </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>document key modifiers.</dd></dl>
+<p>TO BE DOCUMENTED:</p>
+<p>This is required to check for modifiers with the evas_key_modifier_is_set function.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd>evas_key_modifier_add </dd>
+<dd>
+evas_key_modifier_del </dd>
+<dd>
+evas_key_modifier_on </dd>
+<dd>
+evas_key_modifier_off </dd>
+<dd>
+evas_key_modifier_is_set</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An Evas_Modifier handle to query the modifier subsystem with evas_key_modifier_is_set, or NULL on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae7de42394f26fa1e5bfc315f7d114ac3"></a><!-- doxytag: member="Evas.h::evas_map_alpha_get" ref="ae7de42394f26fa1e5bfc315f7d114ac3" args="(const Evas_Map *m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_map_alpha_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>get the alpha flag for map rendering </p>
+<p>This gets the alph flag for map rendering.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to get the alpha from. Must not be NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae1cbf087e2182e01d07979975baa9065"></a><!-- doxytag: member="Evas.h::evas_map_alpha_set" ref="ae1cbf087e2182e01d07979975baa9065" args="(Evas_Map *m, Eina_Bool enabled)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_alpha_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>enabled</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the alpha flag for map rendering. </p>
+<p>This sets alpha flag for map rendering. If the object is a type that has its own alpha settings, then this will take precedence. Only image objects have this currently. Fits stops alpha blending of the map area, and is useful if you know the object and/or all sub-objects is 100% solid.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to modify. Must not be NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>enabled</em>&nbsp;</td><td>enable or disable alpha map rendering </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="acb6da0be6c78ebf89a5b25d9a0fa44fa"></a><!-- doxytag: member="Evas.h::evas_map_count_get" ref="acb6da0be6c78ebf89a5b25d9a0fa44fa" args="(const Evas_Map *m) EINA_CONST" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_map_count_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get a maps size. </p>
+<p>Returns the number of points in a map. Should be at least 4.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to get size. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>-1 on error, points otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a25ffe0dd36fed0c9c492d636b163390a"></a><!-- doxytag: member="Evas.h::evas_map_dup" ref="a25ffe0dd36fed0c9c492d636b163390a" args="(const Evas_Map *m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a>* evas_map_dup </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Copy a previously allocated map. </p>
+<p>This makes a duplicate of the <code>m</code> object and returns it.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to copy. Must not be NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>newly allocated map with the same count and contents as <code>m</code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a78ecdf799f326e1c17aae6770c06058a"></a><!-- doxytag: member="Evas.h::evas_map_free" ref="a78ecdf799f326e1c17aae6770c06058a" args="(Evas_Map *m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Free a previously allocated map. </p>
+<p>This frees a givem map <code>m</code> and all memory associated with it. You must NOT free a map returned by <a class="el" href="Evas_8h.html#aa1d3f8febc923e8225f727afc08d21f2" title="Get current object transformation map.">evas_object_map_get()</a> as this is internal.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to free. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a719acc4f4792236f7031664ec450b399"></a><!-- doxytag: member="Evas.h::evas_map_new" ref="a719acc4f4792236f7031664ec450b399" args="(int count)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a>* evas_map_new </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>count</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create map of transformation points to be later used with an evas object. </p>
+<p>This creates a set of points (currently only 4 is supported. no other number for <code>count</code> will work). That is empty and ready to be modified with evas_map calls.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>number of points in the map. * </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a newly allocated map or NULL on errors.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#a78ecdf799f326e1c17aae6770c06058a" title="Free a previously allocated map.">evas_map_free()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a25ffe0dd36fed0c9c492d636b163390a" title="Copy a previously allocated map.">evas_map_dup()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object_full()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object()</a></dd>
+<dd>
+<a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a40ae28dc015c5dad8a09ce5c6d764422"></a><!-- doxytag: member="Evas.h::evas_map_point_color_get" ref="a40ae28dc015c5dad8a09ce5c6d764422" args="(const Evas_Map *m, int idx, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the color set on a vertex in the map. </p>
+<p>This gets the color set by <a class="el" href="Evas_8h.html#ae569741d778974e2825dc05cc3e68f9f" title="Set the color of a vertex in the map.">evas_map_point_color_set()</a> on the given vertex of the map.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to get the color of the vertex from. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point get. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>pointer to red return </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>pointer to green return </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>pointer to blue return </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>pointer to alpha return (0 - 255)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae569741d778974e2825dc05cc3e68f9f"></a><!-- doxytag: member="Evas.h::evas_map_point_color_set" ref="ae569741d778974e2825dc05cc3e68f9f" args="(Evas_Map *m, int idx, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the color of a vertex in the map. </p>
+<p>This sets the color of the vertex in the map. Colors will be linearly interpolated between vertex points through the map. Color will multiply the "texture" pixels (like GL_MODULATE in OpenGL). The default color of a vertex in a map is white solid (255, 255, 255, 255) which means it will have no affect on modifying the texture pixels.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change the color of. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point to change. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>red (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>green (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>blue (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>alpha (0 - 255)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#a1ea4919339773a113dece07f1335d6ac" title="Set color of all points to given color.">evas_map_util_points_color_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab8640a9b915b7c6f33f96782bb23e939"></a><!-- doxytag: member="Evas.h::evas_map_point_coord_get" ref="ab8640a9b915b7c6f33f96782bb23e939" args="(const Evas_Map *m, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_coord_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the map point's coordinate. </p>
+<p>This returns the coordinates of the given point in the map.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to query point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point to query. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>where to return the X coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>where to return the Y coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>where to return the Z coordinate. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="acc9bdfa50e0344928f070aef0cf7a8b7"></a><!-- doxytag: member="Evas.h::evas_map_point_coord_set" ref="acc9bdfa50e0344928f070aef0cf7a8b7" args="(Evas_Map *m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_coord_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Change the map point's coordinate. </p>
+<p>This sets the fixen point's coordinate in the map. Note that points describe the outline of a quadrangle and are ordered either clockwise or anit-clock-wise. It is suggested to keep your quadrangles concave and non-complex, though these polygon modes may work, they may not render a desired set of output. The quadrangle will use points 0 and 1 , 1 and 2, 2 and 3, and 3 and 0 to describe the edges of the quandrangle.</p>
+<p>The X and Y and Z coordinates are in canvas units. Z is optional and may or may not be honored in drawing. Z is a hint and does not affect the X and Y rendered coordinates. It may be used for calculating fills with perspective correct rendering.</p>
+<p>Remember all coordinates are canvas global ones like with move and reize in evas.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change point. Must not be <code>NULL</code>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point to change. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Point X Coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Point Y Coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>Point Z Coordinate hint (pre-perspective transform)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a986dd1010c757910b4520527f229d3b5" title="Change the map to apply the given zooming.">evas_map_util_zoom()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object_full()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab993d154039532e6105d2c1ea23133fc"></a><!-- doxytag: member="Evas.h::evas_map_point_image_uv_get" ref="ab993d154039532e6105d2c1ea23133fc" args="(const Evas_Map *m, int idx, double *u, double *v)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_image_uv_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>u</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the map point's U and V texture source points. </p>
+<p>This returns the texture points set by <a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to query point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point to query. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>u</em>&nbsp;</td><td>where to write the X coordinate within the image/texture source </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>where to write the Y coordinate within the image/texture source </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a1ce926660d27e788b469f8a202dfb84a"></a><!-- doxytag: member="Evas.h::evas_map_point_image_uv_set" ref="a1ce926660d27e788b469f8a202dfb84a" args="(Evas_Map *m, int idx, double u, double v)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_image_uv_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>u</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Change the map point's U and V texture source point. </p>
+<p>This sets the U and V coordinates for the point. This determines which coordinate in the source image is mapped to the given point, much like OpenGL and textures. Notes that these points do select the pixel, but are double floating point values to allow for accuracy and sub-pixel selection.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change the point of. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point to change. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>u</em>&nbsp;</td><td>the X coordinate within the image/texture source </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>the Y coordinate within the image/texture source</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object_full()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac7693cff90eddde9f1cd5fd99d6df695"></a><!-- doxytag: member="Evas.h::evas_map_smooth_get" ref="ac7693cff90eddde9f1cd5fd99d6df695" args="(const Evas_Map *m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_map_smooth_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>get the smoothing for map rendering </p>
+<p>This gets smoothing for map rendering.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to get the smooth from. Must not be NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae851a2ebf0c272cf0bcb97168b625d23"></a><!-- doxytag: member="Evas.h::evas_map_smooth_set" ref="ae851a2ebf0c272cf0bcb97168b625d23" args="(Evas_Map *m, Eina_Bool enabled)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_smooth_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>enabled</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the smoothing for map rendering. </p>
+<p>This sets smoothing for map rendering. If the object is a type that has its own smoothing settings, then both the smooth settings for this object and the map must be turned off. By default smooth maps are enabled.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to modify. Must not be NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>enabled</em>&nbsp;</td><td>enable or disable smooth map rendering </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a4dd3a3cf9091afaa87bc042b12a5685d"></a><!-- doxytag: member="Evas.h::evas_map_util_3d_lighting" ref="a4dd3a3cf9091afaa87bc042b12a5685d" args="(Evas_Map *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_3d_lighting </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>lx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>ly</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>lz</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>lr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>lg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>lb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ag</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ab</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Perform lighting calculations on the given Map. </p>
+<p>This is used to apply lighting calculations (from a single light source) to a given map. The R, G and B values of each vertex will be modified to reflect the lighting based on the lixth point coordinates, the light color and the ambient color, and at what angle the map is facing the light source. A surface should have its points be declared in a clockwise fashion if the face is "facing" towards you (as opposed to away from you) as faces have a "logical" side for lighting.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lx</em>&nbsp;</td><td>X coordinate in space of light point </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ly</em>&nbsp;</td><td>Y coordinate in space of light point </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lz</em>&nbsp;</td><td>Z coordinate in space of light point </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lr</em>&nbsp;</td><td>light red value (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lg</em>&nbsp;</td><td>light green value (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lb</em>&nbsp;</td><td>light blue value (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ar</em>&nbsp;</td><td>ambient color red value (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ag</em>&nbsp;</td><td>ambient color green value (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ab</em>&nbsp;</td><td>ambient color blue value (0 - 255) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a14c467420d169d666865cdb31746728d"></a><!-- doxytag: member="Evas.h::evas_map_util_3d_perspective" ref="a14c467420d169d666865cdb31746728d" args="(Evas_Map *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_3d_perspective </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>px</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>py</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>z0</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>foc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Apply a perspective transform to the map. </p>
+<p>This applies a given perspective (3D) to the map coordinates. X, Y and Z values are used. The px and py points specify the "infinite distance" point in the 3D conversion (where all lines converge to like when artists draw 3D by hand). The <code>z0</code> value specifis the z value at which there is a 1:1 mapping between spatial coorinates and screen coordinates. Any points on this z value will not have their X and Y values modified in the transform. Those further away (Z value higher) will shrink into the distance, and those less than this value will expand and become bigger. The <code>foc</code> value determines the "focal length" of the camera. This is in reality the distance between the camera lens plane itself (at or closer than this rendering results are undefined) and the "z0" z value. This allows for some "depth" control and <code>foc</code> must be greater than 0.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>px</em>&nbsp;</td><td>The pespective distance X coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>py</em>&nbsp;</td><td>The pespective distance Y coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z0</em>&nbsp;</td><td>The "0" z plane value </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>foc</em>&nbsp;</td><td>The focal distance </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a4118dedc011bd94a35d03251c7bef5ed"></a><!-- doxytag: member="Evas.h::evas_map_util_3d_rotate" ref="a4118dedc011bd94a35d03251c7bef5ed" args="(Evas_Map *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_3d_rotate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>dx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>dy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>dz</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cz</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Rotate the map around 3 axes in 3D. </p>
+<p>This will rotate not just around the "Z" axis as in <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a> (which is a convenience call for those only wanting 2D). This will rotate around the X, Y and Z axes. The Z axis points "into" the screen with low values at the screen and higher values further away. The X axis runs from left to right on the screen and the Y axis from top to bottom. Like with evas_map_util_rotate(0 you provide a center point to rotate around (in 3D).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dx</em>&nbsp;</td><td>amount of degrees from 0.0 to 360.0 to rotate arount X axis. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dy</em>&nbsp;</td><td>amount of degrees from 0.0 to 360.0 to rotate arount Y axis. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dz</em>&nbsp;</td><td>amount of degrees from 0.0 to 360.0 to rotate arount Z axis. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>rotation's center horizontal position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>rotation's center vertical position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cz</em>&nbsp;</td><td>rotation's center vertical position. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a4e7cd972cac5507838c9827ef04b2607"></a><!-- doxytag: member="Evas.h::evas_map_util_clockwise_get" ref="a4e7cd972cac5507838c9827ef04b2607" args="(Evas_Map *m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_map_util_clockwise_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the clockwise state of a map. </p>
+<p>This determines if the output points (X and Y. Z is not used) are clockwise or anti-clockwise. This can be used for "back-face culling". This is where you hide objects that "face away" from you. In this case objects that are not clockwise.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to query. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 if clockwise, 0 otherwise </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a1ea4919339773a113dece07f1335d6ac"></a><!-- doxytag: member="Evas.h::evas_map_util_points_color_set" ref="a1ea4919339773a113dece07f1335d6ac" args="(Evas_Map *m, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_points_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set color of all points to given color. </p>
+<p>This call is useful to reuse maps after they had 3d lightning or any other colorization applied before.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change the color of. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>red (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>green (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>blue (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>alpha (0 - 255)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#ae569741d778974e2825dc05cc3e68f9f" title="Set the color of a vertex in the map.">evas_map_point_color_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="adb28b64c445931d92eeeab2c3fb52286"></a><!-- doxytag: member="Evas.h::evas_map_util_points_populate_from_geometry" ref="adb28b64c445931d92eeeab2c3fb52286" args="(Evas_Map *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_points_populate_from_geometry </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Populate source and destination map points to match given geometry. </p>
+<p>Similar to <a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object_full()</a>, this call takes raw values instead of querying object's unmapped geometry. The given width will be used to calculate destination points (<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a>) and set the image uv (<a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a>).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change all 4 points (must be of size 4). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Point X Coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Point Y Coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>width to use to calculate second and third points. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>height to use to calculate third and fourth points. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>Point Z Coordinate hint (pre-perspective transform). This value will be used for all four points.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac2d35f2242ce06afe5b9aff79ed33487"></a><!-- doxytag: member="Evas.h::evas_map_util_points_populate_from_object" ref="ac2d35f2242ce06afe5b9aff79ed33487" args="(Evas_Map *m, const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_points_populate_from_object </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Populate source and destination map points to match exactly object. </p>
+<p>Usually one initialize map of an object to match it's original position and size, then transform these with evas_map_util_* functions, such as <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a> or <a class="el" href="Evas_8h.html#a4118dedc011bd94a35d03251c7bef5ed" title="Rotate the map around 3 axes in 3D.">evas_map_util_3d_rotate()</a>. The original set is done by this function, avoiding code duplication all around.</p>
+<p>Z Point coordinate is assumed as 0 (zero).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change all 4 points (must be of size 4). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to use unmapped geometry to populate map coordinates.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object_full()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#adb28b64c445931d92eeeab2c3fb52286" title="Populate source and destination map points to match given geometry.">evas_map_util_points_populate_from_geometry()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="af71ab80fefb757aea040eaae33fd06e6"></a><!-- doxytag: member="Evas.h::evas_map_util_points_populate_from_object_full" ref="af71ab80fefb757aea040eaae33fd06e6" args="(Evas_Map *m, const Evas_Object *obj, Evas_Coord z)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_points_populate_from_object_full </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Populate source and destination map points to match exactly object. </p>
+<p>Usually one initialize map of an object to match it's original position and size, then transform these with evas_map_util_* functions, such as <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a> or <a class="el" href="Evas_8h.html#a4118dedc011bd94a35d03251c7bef5ed" title="Rotate the map around 3 axes in 3D.">evas_map_util_3d_rotate()</a>. The original set is done by this function, avoiding code duplication all around.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change all 4 points (must be of size 4). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to use unmapped geometry to populate map coordinates. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>Point Z Coordinate hint (pre-perspective transform). This value will be used for all four points.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad5bceb379d28374c62579b1969ce5080"></a><!-- doxytag: member="Evas.h::evas_map_util_rotate" ref="ad5bceb379d28374c62579b1969ce5080" args="(Evas_Map *m, double degrees, Evas_Coord cx, Evas_Coord cy)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_rotate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>degrees</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cy</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Change the map to apply the given rotation. </p>
+<p>This rotates the indicated map's coordinates around the center coordinate given by <code>cx</code> and <code>cy</code> as the rotation center. The points will have their X and Y coordinates rotated clockwise by <code>degrees</code> degress (360.0 is a full rotation). Negative values for degrees will rotate counter-clockwise by that amount. All coordinates are canvas global coordinates.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>degrees</em>&nbsp;</td><td>amount of degrees from 0.0 to 360.0 to rotate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>rotation's center horizontal position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>rotation's center vertical position.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a986dd1010c757910b4520527f229d3b5" title="Change the map to apply the given zooming.">evas_map_util_zoom()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a986dd1010c757910b4520527f229d3b5"></a><!-- doxytag: member="Evas.h::evas_map_util_zoom" ref="a986dd1010c757910b4520527f229d3b5" args="(Evas_Map *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_zoom </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>zoomx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>zoomy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cy</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Change the map to apply the given zooming. </p>
+<p>Like <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a>, this zooms the points of the map from a center point. That center is defined by <code>cx</code> and <code>cy</code>. The <code>zoomx</code> and <code>zoomy</code> parameters specific how much to zoom in the X and Y direction respectively. A value of 1.0 means "don't zoom". 2.0 means "dobule the size". 0.5 is "half the size" etc. All coordinates are canvas global coordinates.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>zoomx</em>&nbsp;</td><td>horizontal zoom to use. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>zoomy</em>&nbsp;</td><td>vertical zoom to use. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>zooming center horizontal position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>zooming center vertical position.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9fe49ea6c0508408d3f0c4bc6b790084"></a><!-- doxytag: member="Evas.h::evas_object_map_enable_get" ref="a9fe49ea6c0508408d3f0c4bc6b790084" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_map_enable_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the map enabled state. </p>
+<p>This returns the currently enabled state of the map on the object indicated. The default map enable state is off. You can enable and disable it with <a class="el" href="Evas_8h.html#acee7a5f7bbb804b406405e9199d5a900" title="Enable or disable the map that is set.">evas_object_map_enable_set()</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to get the map enabled state from </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the map enabled state </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="acee7a5f7bbb804b406405e9199d5a900"></a><!-- doxytag: member="Evas.h::evas_object_map_enable_set" ref="acee7a5f7bbb804b406405e9199d5a900" args="(Evas_Object *obj, Eina_Bool enabled)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_map_enable_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>enabled</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Enable or disable the map that is set. </p>
+<p>This enables the map that is set or disables it. On enable, the object geometry will be saved, and the new geometry will change (position and size) to reflect the map geometry set. If none is set yet, this may be an undefined geometry, unless you have already set the map with <a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a>. It is suggested you first set a map with <a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> with valid useful coordinates then enable and disable the map with <a class="el" href="Evas_8h.html#acee7a5f7bbb804b406405e9199d5a900" title="Enable or disable the map that is set.">evas_object_map_enable_set()</a> as needed.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to enable the map on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>enabled</em>&nbsp;</td><td>enabled state </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aa1d3f8febc923e8225f727afc08d21f2"></a><!-- doxytag: member="Evas.h::evas_object_map_get" ref="aa1d3f8febc923e8225f727afc08d21f2" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a>* evas_object_map_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get current object transformation map. </p>
+<p>This returns the current internal map set on the indicated object. It is intended for read-only acces and is only valid as long as the object is not deleted or the map on the object is not changed. If you wish to modify the map and set it back do the following:</p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">const</span> <a class="code" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc" title="An opaque handle to map points.">Evas_Map</a> *m = evas_object_map_get(obj);
+ <a class="code" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc" title="An opaque handle to map points.">Evas_Map</a> *m2 = evas_map_dup(m);
+ evas_map_util_rotate(m2, 30.0, 0, 0);
+ evas_object_map_set(obj);
+ evas_map_free(m2);
+</pre></div><dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to query transformation map. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>map reference to map in use. This is an internal data structure, so do not modify it.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a4c06097f01adc414be05470a3528adca"></a><!-- doxytag: member="Evas.h::evas_object_map_set" ref="a4c06097f01adc414be05470a3528adca" args="(Evas_Object *obj, const Evas_Map *map)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_map_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>map</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set current object transformation map. </p>
+<p>This sets the map on a given object. It is copied from the <code>map</code> pointer, so there is no need to keep the <code>map</code> object if you don't need it anymore.</p>
+<p>A map is a set of 4 points which have canvas x, y coordinates per point, with an optional z point value as a hint for perspective correction, if it is available. As well each point has u and v coordinates. These are like "texture coordinates" in OpenGL in that they define a point in the source image that is mapped to that map vertex/point. The u corresponds to the x coordinate of this mapped point and v, the y coordinate. Note that these coordinates describe a bounding region to sample. If you have a 200x100 source image and want to display it at 200x100 with proper pixel precision, then do:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc" title="An opaque handle to map points.">Evas_Map</a> *m = evas_map_new(4);
+ evas_map_point_coord_set(m, 0,   0,   0, 0);
+ evas_map_point_coord_set(m, 1, 200,   0, 0);
+ evas_map_point_coord_set(m, 2, 200, 100, 0);
+ evas_map_point_coord_set(m, 3,   0, 100, 0);
+ evas_map_point_image_uv_set(m, 0,   0,   0);
+ evas_map_point_image_uv_set(m, 1, 200,   0);
+ evas_map_point_image_uv_set(m, 2, 200, 100);
+ evas_map_point_image_uv_set(m, 3,   0, 100);
+ evas_object_map_set(obj, m);
+ evas_map_free(m);
+</pre></div><p>Note that the map points a uv coordinates match the image geometry. If the <code>map</code> parameter is NULL, the stored map will be freed and geometry prior to enabling/setting a map will be restored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to change transformation map </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>map</em>&nbsp;</td><td>new map to use</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#a719acc4f4792236f7031664ec450b399" title="Create map of transformation points to be later used with an evas object.">evas_map_new()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abb0578635393c514b1c228ebb7b2eed0"></a><!-- doxytag: member="Evas.h::evas_object_map_source_get" ref="abb0578635393c514b1c228ebb7b2eed0" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_map_source_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the map source object. </p>
+<p>See <a class="el" href="Evas_8h.html#aa0daae782c23c5624ab0fc3e4f63c8f9" title="Set the map source object.">evas_object_map_source_set()</a></p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to set the map source of </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the object set as the source </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa0daae782c23c5624ab0fc3e4f63c8f9"></a><!-- doxytag: member="Evas.h::evas_object_map_source_set" ref="aa0daae782c23c5624ab0fc3e4f63c8f9" args="(Evas_Object *obj, Evas_Object *src)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_map_source_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the map source object. </p>
+<p>This sets the object from which the map is taken - can be any object that has map enabled on it.</p>
+<p>Currently not implemented. for future use.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to set the map source of </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>the source object from which the map is taken </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="afa903e37a9f98f80f1d73996cf5354cc"></a><!-- doxytag: member="Evas.h::evas_object_smart_members_get" ref="afa903e37a9f98f80f1d73996cf5354cc" args="(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_object_smart_members_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the list of the member objects of an Evas_Object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the Evas_Object you want to get the list of member objects </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the list of the member objects of <em>obj</em>. The returned list should be freed with eina_list_free() when you no longer need it </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/annotated.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/annotated.html
new file mode 100644 (file)
index 0000000..1b5db37
--- /dev/null
@@ -0,0 +1,116 @@
+<html>
+<head>
+    <title>Evas: Data Structures</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Data Structures</h1>  </div>
+</div>
+<div class="contents">
+Here are the data structures with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Coord__Rectangle.html">_Evas_Coord_Rectangle</a></td><td class="indexvalue">&lt; A rectangle in Evas_Coord </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Cserve__Config.html">_Evas_Cserve_Config</a></td><td class="indexvalue">Configuration that controls the server that shares cached bitmaps </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Cserve__Image.html">_Evas_Cserve_Image</a></td><td class="indexvalue">An image shared by the server </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Cserve__Image__Cache.html">_Evas_Cserve_Image_Cache</a></td><td class="indexvalue">Cache of images shared by server </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Cserve__Stats.html">_Evas_Cserve_Stats</a></td><td class="indexvalue">Statistics about server that shares cached bitmaps </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Engine__Info.html">_Evas_Engine_Info</a></td><td class="indexvalue">Generic engine information </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Hold.html">_Evas_Event_Hold</a></td><td class="indexvalue">Hold change event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Key__Down.html">_Evas_Event_Key_Down</a></td><td class="indexvalue">Key press event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Key__Up.html">_Evas_Event_Key_Up</a></td><td class="indexvalue">Key release event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__Down.html">_Evas_Event_Mouse_Down</a></td><td class="indexvalue">Mouse button press event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__In.html">_Evas_Event_Mouse_In</a></td><td class="indexvalue">Mouse enter event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__Move.html">_Evas_Event_Mouse_Move</a></td><td class="indexvalue">Mouse button down event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__Out.html">_Evas_Event_Mouse_Out</a></td><td class="indexvalue">Mouse leave event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__Up.html">_Evas_Event_Mouse_Up</a></td><td class="indexvalue">Mouse button release event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__Wheel.html">_Evas_Event_Mouse_Wheel</a></td><td class="indexvalue">Wheel event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Multi__Down.html">_Evas_Event_Multi_Down</a></td><td class="indexvalue">Multi button press event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Multi__Move.html">_Evas_Event_Multi_Move</a></td><td class="indexvalue">Multi button down event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Multi__Up.html">_Evas_Event_Multi_Up</a></td><td class="indexvalue">Multi button release event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a></td><td class="indexvalue">This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a> </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a></td><td class="indexvalue">This structure augments clipped smart object's instance data, providing extra members required by generic box implementation </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a></td><td class="indexvalue">Describes a callback used by a smart class <a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e" title="Call any smart callbacks on obj for event.">evas_object_smart_callback_call()</a>, particularly useful to explain to user and its code (ie: introspection) what the parameter <code>event_info</code> will contain </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a></td><td class="indexvalue">Smart object class </td></tr>
+</table>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/bc_s.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/bc_s.png
new file mode 100644 (file)
index 0000000..e401862
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/bc_s.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/classes.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/classes.html
new file mode 100644 (file)
index 0000000..94652ed
--- /dev/null
@@ -0,0 +1,99 @@
+<html>
+<head>
+    <title>Evas: Alphabetical List</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Data Structure Index</h1>  </div>
+</div>
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a></div>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="struct__Evas__Event__Mouse__Move.html">_Evas_Event_Mouse_Move</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Coord__Rectangle.html">_Evas_Coord_Rectangle</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Event__Mouse__Out.html">_Evas_Event_Mouse_Out</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Cserve__Config.html">_Evas_Cserve_Config</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Event__Mouse__Up.html">_Evas_Event_Mouse_Up</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Cserve__Image.html">_Evas_Cserve_Image</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Event__Mouse__Wheel.html">_Evas_Event_Mouse_Wheel</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Cserve__Image__Cache.html">_Evas_Cserve_Image_Cache</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Event__Multi__Down.html">_Evas_Event_Multi_Down</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Cserve__Stats.html">_Evas_Cserve_Stats</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Event__Multi__Move.html">_Evas_Event_Multi_Move</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="struct__Evas__Event__Multi__Up.html">_Evas_Event_Multi_Up</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Engine__Info.html">_Evas_Engine_Info</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;O&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="struct__Evas__Event__Hold.html">_Evas_Event_Hold</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Event__Key__Down.html">_Evas_Event_Key_Down</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Event__Key__Up.html">_Evas_Event_Key_Up</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="struct__Evas__Event__Mouse__Down.html">_Evas_Event_Mouse_Down</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Event__Mouse__In.html">_Evas_Event_Mouse_In</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a>&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a></div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/closed.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/closed.png
new file mode 100644 (file)
index 0000000..b7d4bd9
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/closed.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/doxygen.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/doxygen.png
new file mode 100644 (file)
index 0000000..635ed52
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/doxygen.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/e.css b/debian/libevas-doc/usr/share/doc/libevas-doc/html/e.css
new file mode 100644 (file)
index 0000000..12b1ae5
--- /dev/null
@@ -0,0 +1,442 @@
+/*
+    Author:
+        Andres Blanc <andresblanc@gmail.com>
+       DaveMDS Andreoli <dave@gurumeditation.it>
+
+    Supported Browsers:
+        ie7, opera9, konqueror4 and firefox3
+
+        Please use a different file for ie6, ie5, etc. hacks.
+*/
+
+
+/* Necessary to place the footer at the bottom of the page */
+html, body {
+       height: 100%;
+       margin: 0px;
+       padding: 0px;
+}
+
+#container {
+       min-height: 100%;
+       height: auto !important;
+       height: 100%;
+       margin: 0 auto -53px;
+}
+
+#footer, #push {
+       height: 53px;
+}
+
+
+* html #container {
+       height: 100%;
+}
+
+/* Prevent floating elements overflowing containers */
+.clear {
+       clear: both;
+       width: 0px;
+       height: 0px;
+}
+
+/* Flexible & centered layout from 750 to 960 pixels */
+.layout {
+       max-width: 960px;
+       min-width: 760px;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+body {
+       /*font-family: Lucida Grande, Helvetica, sans-serif;*/
+       font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif
+}
+
+/* Prevent design overflowing the viewport in small resolutions */
+#container {
+       padding-right: 17px;
+       padding-left: 17px;
+       background-image: url(head_bg.png);
+       background-repeat: repeat-x;
+}
+
+#header {
+       width: 100%;
+       height: 102px;
+}
+
+#header h1 {
+       width: 63px;
+       height: 63px;
+       background-image: url(e.png);
+       background-repeat: no-repeat;
+       position: absolute;
+       margin: 0px;
+}
+
+#header h1 span {
+       display: none;
+}
+
+#header h2 {
+       display: none;
+}
+
+/* .menu-container is used to set properties common to .menu and .submenu */
+#header .menu-container {
+}
+
+#header .menu-container ul {
+       list-style-type: none;
+       list-style-position: inside;
+       margin: 0;
+}
+
+#header .menu-container li {
+       display: block;
+       float: right;
+}
+
+#header .menu {
+       height: 63px;
+       display: block;
+       background-image: url(menu_bg.png);
+       background-repeat: repeat-x;
+}
+
+#header .menu ul {
+       height: 100%;
+       display: block;
+       background-image: url(menu_bg_last.png);
+       background-repeat: no-repeat;
+       background-position: top right;
+       padding-right: 17px;
+}
+
+#header .menu li {
+       height: 100%;
+       text-align: center;
+       background-image: url(menu_bg_unsel.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu a {
+       height: 100%;
+       display: block;
+       color: #cdcdcd;
+       text-decoration: none;
+       font-size: 10pt;
+       line-height: 59px;
+       text-align: center;
+       padding: 0px 15px 0px 15px;
+}
+
+#header .menu li:hover {
+       background-image: url(menu_bg_hover.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu li:hover a {
+       color: #FFFFFF;
+}
+
+#header .menu li.current {
+       background-image: url(menu_bg_current.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu li.current a {
+       color: #646464;
+}
+
+
+/* Hide all the submenus but the current */
+#header .submenu ul {
+       display: none;
+}
+
+#header .submenu .current {
+       display: block;
+}
+
+#header .submenu {
+       font: bold 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif;
+       margin-top: 10px;
+}
+
+#header .submenu a {
+       color: #888888;
+       text-decoration: none;
+       font-size: 0.9em;
+       line-height: 15px;
+       padding:0px 5px 0px 5px;
+}
+
+#header .submenu a:hover {
+       color: #444444;
+}
+
+#header .submenu li {
+       border-left: 1px solid #DDDDDD;
+}
+
+#header .submenu li:last-child {
+       border-left: 0;
+}
+
+#header .doxytitle {
+       position: absolute;
+       font-size: 1.8em;
+       font-weight: bold;
+       color: #444444;
+       line-height: 35px;
+}
+
+#header small {
+       font-size: 0.4em;
+}
+
+#footer {
+       background-image: url(foot_bg.png);
+       width: 100%;
+}
+
+#footer table {
+       width: 100%;
+       text-align: center;
+       white-space: nowrap;
+       padding: 5px 30px 5px 30px;
+       font-size: 0.8em;
+       font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif;
+       color: #888888;
+}
+
+#footer td.copyright {
+       width: 100%;
+}
+
+/*
+    Author:
+        Andres Blanc <andresblanc@gmail.com>
+       DaveMDS Andreoli <dave@gurumeditation.it>
+
+    Supported Browsers:
+        ie7, opera9, konqueror4 and firefox3
+
+        Please use a different file for ie6, ie5, etc. hacks.
+*/
+
+
+/* Necessary to place the footer at the bottom of the page */
+html, body {
+       height: 100%;
+       margin: 0px;
+       padding: 0px;
+}
+
+#container {
+       min-height: 100%;
+       height: auto !important;
+       height: 100%;
+       margin: 0 auto -53px;
+}
+
+#footer, #push {
+       height: 53px;
+}
+
+
+* html #container {
+       height: 100%;
+}
+
+/* Prevent floating elements overflowing containers */
+.clear {
+       clear: both;
+       width: 0px;
+       height: 0px;
+}
+
+/* Flexible & centered layout from 750 to 960 pixels */
+.layout {
+       max-width: 960px;
+       min-width: 760px;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+body {
+       /*font-family: Lucida Grande, Helvetica, sans-serif;*/
+       font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif
+}
+
+/* Prevent design overflowing the viewport in small resolutions */
+#container {
+       padding-right: 17px;
+       padding-left: 17px;
+       background-image: url(head_bg.png);
+       background-repeat: repeat-x;
+}
+
+#header {
+       width: 100%;
+       height: 102px;
+}
+
+#header h1 {
+       width: 63px;
+       height: 63px;
+       background-image: url(e.png);
+       background-repeat: no-repeat;
+       position: absolute;
+       margin: 0px;
+}
+
+#header h1 span {
+       display: none;
+}
+
+#header h2 {
+       display: none;
+}
+
+/* .menu-container is used to set properties common to .menu and .submenu */
+#header .menu-container {
+}
+
+#header .menu-container ul {
+       list-style-type: none;
+       list-style-position: inside;
+       margin: 0;
+}
+
+#header .menu-container li {
+       display: block;
+       float: right;
+}
+
+#header .menu {
+       height: 63px;
+       display: block;
+       background-image: url(menu_bg.png);
+       background-repeat: repeat-x;
+}
+
+#header .menu ul {
+       height: 100%;
+       display: block;
+       background-image: url(menu_bg_last.png);
+       background-repeat: no-repeat;
+       background-position: top right;
+       padding-right: 17px;
+}
+
+#header .menu li {
+       height: 100%;
+       text-align: center;
+       background-image: url(menu_bg_unsel.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu a {
+       height: 100%;
+       display: block;
+       color: #cdcdcd;
+       text-decoration: none;
+       font-size: 10pt;
+       line-height: 59px;
+       text-align: center;
+       padding: 0px 15px 0px 15px;
+}
+
+#header .menu li:hover {
+       background-image: url(menu_bg_hover.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu li:hover a {
+       color: #FFFFFF;
+}
+
+#header .menu li.current {
+       background-image: url(menu_bg_current.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu li.current a {
+       color: #646464;
+}
+
+
+/* Hide all the submenus but the current */
+#header .submenu ul {
+       display: none;
+}
+
+#header .submenu .current {
+       display: block;
+}
+
+#header .submenu {
+       font: bold 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif;
+       margin-top: 10px;
+}
+
+#header .submenu a {
+       color: #888888;
+       text-decoration: none;
+       font-size: 0.9em;
+       line-height: 15px;
+       padding:0px 5px 0px 5px;
+}
+
+#header .submenu a:hover {
+       color: #444444;
+}
+
+#header .submenu li {
+       border-left: 1px solid #DDDDDD;
+}
+
+#header .submenu li:last-child {
+       border-left: 0;
+}
+
+#header .doxytitle {
+       position: absolute;
+       font-size: 1.8em;
+       font-weight: bold;
+       color: #444444;
+       line-height: 35px;
+}
+
+#header small {
+       font-size: 0.4em;
+}
+
+#footer {
+       background-image: url(foot_bg.png);
+       width: 100%;
+}
+
+#footer table {
+       width: 100%;
+       text-align: center;
+       white-space: nowrap;
+       padding: 5px 30px 5px 30px;
+       font-size: 0.8em;
+       font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif;
+       color: #888888;
+}
+
+#footer td.copyright {
+       width: 100%;
+}
+
+pre.fragment {
+        font-family: monospace;
+        background-color: #e9e9e9;
+        border: 1px solid #d9d9d9;
+        padding: 10px;
+}
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/e.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/e.png
new file mode 100644 (file)
index 0000000..b3884a5
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/e.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/e_big.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/e_big.png
new file mode 100644 (file)
index 0000000..d42aeb4
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/e_big.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/edoxy.css b/debian/libevas-doc/usr/share/doc/libevas-doc/html/edoxy.css
new file mode 100644 (file)
index 0000000..311ca23
--- /dev/null
@@ -0,0 +1,486 @@
+/*
+ * This file contain a custom doxygen style to match e.org graphics
+ */
+
+
+
+/* BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+}*/ 
+BODY, TD {
+       font-size: 12px;
+}
+H1 {
+       text-align: center;
+       font-size: 160%;
+}
+H2 {
+       font-size: 120%;
+}
+H3 {
+       font-size: 100%;
+}
+CAPTION { 
+       font-weight: bold 
+}
+DIV.qindex {
+       width: 100%;
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       padding: 2px;
+       line-height: 140%;
+}
+DIV.navpath {
+       width: 100%;
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       padding: 2px;
+       line-height: 140%;
+}
+DIV.navtab {
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       margin-right: 15px;
+       padding: 2px;
+}
+TD.navtab {
+       font-size: 70%;
+}
+A.qindex {
+       text-decoration: none;
+       font-weight: bold;
+       color: #1A419D;
+}
+A.qindex:visited {
+       text-decoration: none;
+       font-weight: bold;
+       color: #1A419D
+}
+A.qindex:hover {
+       text-decoration: none;
+       background-color: #ddddff;
+}
+A.qindexHL {
+       text-decoration: none;
+       font-weight: bold;
+       background-color: #6666cc;
+       color: #ffffff;
+       border: 1px double #9295C2;
+}
+A.qindexHL:hover {
+       text-decoration: none;
+       background-color: #6666cc;
+       color: #ffffff;
+}
+A.qindexHL:visited { 
+       text-decoration: none; 
+       background-color: #6666cc; 
+       color: #ffffff 
+}
+A.el { 
+       text-decoration: none; 
+       font-weight: bold 
+}
+A.elRef { 
+       font-weight: bold 
+}
+A.code:link { 
+       text-decoration: none; 
+       font-weight: normal; 
+       color: #0000FF
+}
+A.code:visited { 
+       text-decoration: none; 
+       font-weight: normal; 
+       color: #0000FF
+}
+A.codeRef:link { 
+       font-weight: normal; 
+       color: #0000FF
+}
+A.codeRef:visited { 
+       font-weight: normal; 
+       color: #0000FF
+}
+A:hover, A:visited:hover { 
+       text-decoration: none;  
+       /* background-color: #f2f2ff; */
+       color: #000055;
+}
+A.anchor {
+       color: #000;
+}
+DL.el { 
+       margin-left: -1cm 
+}
+.fragment {
+       font-family: monospace, fixed;
+       font-size: 95%;
+}
+PRE.fragment {
+       border: 1px solid #CCCCCC;
+       background-color: #f5f5f5;
+       margin-top: 4px;
+       margin-bottom: 4px;
+       margin-left: 2px;
+       margin-right: 8px;
+       padding-left: 6px;
+       padding-right: 6px;
+       padding-top: 4px;
+       padding-bottom: 4px;
+}
+DIV.ah { 
+       background-color: black; 
+       font-weight: bold; 
+       color: #ffffff; 
+       margin-bottom: 3px; 
+       margin-top: 3px 
+}
+
+DIV.groupHeader {
+       margin-left: 16px;
+       margin-top: 12px;
+       margin-bottom: 6px;
+       font-weight: bold;
+}
+DIV.groupText { 
+       margin-left: 16px; 
+       font-style: italic; 
+       font-size: 90% 
+}
+/*BODY {
+       background: white;
+       color: black;
+       margin-right: 20px;
+       margin-left: 20px;
+}*/
+TD.indexkey {
+       background-color: #e8eef2;
+       font-weight: bold;
+       padding-right  : 10px;
+       padding-top    : 2px;
+       padding-left   : 10px;
+       padding-bottom : 2px;
+       margin-left    : 0px;
+       margin-right   : 0px;
+       margin-top     : 2px;
+       margin-bottom  : 2px;
+       border: 1px solid #CCCCCC;
+}
+TD.indexvalue {
+       background-color: #e8eef2;
+       font-style: italic;
+       padding-right  : 10px;
+       padding-top    : 2px;
+       padding-left   : 10px;
+       padding-bottom : 2px;
+       margin-left    : 0px;
+       margin-right   : 0px;
+       margin-top     : 2px;
+       margin-bottom  : 2px;
+       border: 1px solid #CCCCCC;
+}
+TR.memlist {
+       background-color: #f0f0f0; 
+}
+P.formulaDsp { 
+       text-align: center; 
+}
+IMG.formulaDsp {
+}
+IMG.formulaInl { 
+       vertical-align: middle; 
+}
+SPAN.keyword       { color: #008000 }
+SPAN.keywordtype   { color: #604020 }
+SPAN.keywordflow   { color: #e08000 }
+SPAN.comment       { color: #800000 }
+SPAN.preprocessor  { color: #806020 }
+SPAN.stringliteral { color: #002080 }
+SPAN.charliteral   { color: #008080 }
+SPAN.vhdldigit     { color: #ff00ff }
+SPAN.vhdlchar      { color: #000000 }
+SPAN.vhdlkeyword   { color: #700070 }
+SPAN.vhdllogic     { color: #ff0000 }
+
+.mdescLeft {
+       padding: 0px 8px 4px 8px;
+       font-size: 80%;
+       font-style: italic;
+       background-color: #FAFAFA;
+       border-top: 1px none #E0E0E0;
+       border-right: 1px none #E0E0E0;
+       border-bottom: 1px none #E0E0E0;
+       border-left: 1px none #E0E0E0;
+       margin: 0px;
+}
+.mdescRight {
+        padding: 0px 8px 4px 8px;
+       font-size: 80%;
+       font-style: italic;
+       background-color: #FAFAFA;
+       border-top: 1px none #E0E0E0;
+       border-right: 1px none #E0E0E0;
+       border-bottom: 1px none #E0E0E0;
+       border-left: 1px none #E0E0E0;
+       margin: 0px;
+}
+.memItemLeft {
+       padding: 1px 0px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: solid;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memItemRight {
+       padding: 1px 8px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: solid;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memTemplItemLeft {
+       padding: 1px 0px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: none;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memTemplItemRight {
+       padding: 1px 8px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: none;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memTemplParams {
+       padding: 1px 0px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: solid;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       color: #606060;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.search { 
+       color: #003399;
+       font-weight: bold;
+}
+FORM.search {
+       margin-bottom: 0px;
+       margin-top: 0px;
+}
+INPUT.search { 
+       font-size: 75%;
+       color: #000080;
+       font-weight: normal;
+       background-color: #e8eef2;
+}
+TD.tiny { 
+       font-size: 75%;
+}
+a {
+       color: #1A41A8;
+}
+a:visited {
+       color: #2A3798;
+}
+.dirtab { 
+       padding: 4px;
+       border-collapse: collapse;
+       border: 1px solid #84b0c7;
+}
+TH.dirtab { 
+       background: #e8eef2;
+       font-weight: bold;
+}
+HR { 
+       height: 1px;
+       border: none;
+       border-top: 1px solid black;
+}
+
+/* Style for detailed member documentation */
+.memtemplate {
+       font-size: 80%;
+       color: #606060;
+       font-weight: normal;
+       margin-left: 3px;
+} 
+.memnav { 
+       background-color: #eeeeee;
+       border: 1px solid #dddddd;
+       text-align: center;
+       margin: 2px;
+       margin-right: 15px;
+       padding: 2px;
+}
+.memitem {
+       padding: 4px;
+       background-color: #eeeeee;
+       border-width: 1px;
+       border-style: solid;
+       border-color: #dddddd;
+       -moz-border-radius: 4px 4px 4px 4px;
+}
+.memname {
+       white-space: nowrap;
+       font-weight: bold;
+        color: #ffffff;
+}
+.memdoc{
+       padding-left: 10px;
+}
+.memproto {
+       background-color: #111111;
+       width: 100%;
+       border-width: 1px;
+       border-style: solid;
+       border-color: #000000;
+       font-weight: bold;
+       -moz-border-radius: 4px 4px 4px 4px;
+}
+.paramkey {
+       text-align: right;
+       color: #ffffff;
+}
+.paramtype {
+       white-space: nowrap;
+       color: #aaaaaa;
+}
+.paramname {
+       color: #ff0000;
+       font-style: italic;
+       white-space: nowrap;
+}
+/* End Styling for detailed member documentation */
+
+/* for the tree view */
+.ftvtree {
+       font-family: sans-serif;
+       margin:0.5em;
+}
+/* these are for tree view when used as main index */
+.directory { 
+       font-size: 9pt; 
+       font-weight: bold; 
+}
+.directory h3 { 
+       margin: 0px; 
+       margin-top: 1em; 
+       font-size: 11pt; 
+}
+
+/* The following two styles can be used to replace the root node title */
+/* with an image of your choice.  Simply uncomment the next two styles, */
+/* specify the name of your image and be sure to set 'height' to the */
+/* proper pixel height of your image. */
+
+/* .directory h3.swap { */
+/*     height: 61px; */
+/*     background-repeat: no-repeat; */
+/*     background-image: url("yourimage.gif"); */
+/* } */
+/* .directory h3.swap span { */
+/*     display: none; */
+/* } */
+
+.directory > h3 { 
+       margin-top: 0; 
+}
+.directory p { 
+       margin: 0px; 
+       white-space: nowrap; 
+}
+.directory div { 
+       display: none; 
+       margin: 0px; 
+}
+.directory img { 
+       vertical-align: -30%; 
+}
+/* these are for tree view when not used as main index */
+.directory-alt { 
+       font-size: 100%; 
+       font-weight: bold; 
+}
+.directory-alt h3 { 
+       margin: 0px; 
+       margin-top: 1em; 
+       font-size: 11pt; 
+}
+.directory-alt > h3 { 
+       margin-top: 0; 
+}
+.directory-alt p { 
+       margin: 0px; 
+       white-space: nowrap; 
+}
+.directory-alt div { 
+       display: none; 
+       margin: 0px; 
+}
+.directory-alt img { 
+       vertical-align: -30%; 
+}
+
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/files.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/files.html
new file mode 100644 (file)
index 0000000..e01f4da
--- /dev/null
@@ -0,0 +1,95 @@
+<html>
+<head>
+    <title>Evas: File Index</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>File List</h1>  </div>
+</div>
+<div class="contents">
+Here is a list of all documented files with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="Evas_8h.html">Evas.h</a></td><td class="indexvalue">These routines are used for Evas library interaction </td></tr>
+</table>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/foot_bg.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/foot_bg.png
new file mode 100644 (file)
index 0000000..b24f3a4
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/foot_bg.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/functions.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/functions.html
new file mode 100644 (file)
index 0000000..deefd74
--- /dev/null
@@ -0,0 +1,250 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_k"><span>k</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_w"><span>w</span></a></li>
+      <li><a href="#index_x"><span>x</span></a></li>
+      <li><a href="#index_y"><span>y</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>button
+: <a class="el" href="struct__Evas__Event__Mouse__Down.html#a0ab02808721d6c55fc642ecbb37d5ff9">_Evas_Event_Mouse_Down</a>
+, <a class="el" href="struct__Evas__Event__Mouse__Up.html#aa513164499624ee1e6f1790899efe60f">_Evas_Event_Mouse_Up</a>
+</li>
+<li>buttons
+: <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out</a>
+, <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In</a>
+, <a class="el" href="struct__Evas__Event__Mouse__Move.html#a455bf48e5f7badcc6c525162e0997d08">_Evas_Event_Mouse_Move</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>callbacks
+: <a class="el" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067">_Evas_Smart_Class</a>
+</li>
+<li>compose
+: <a class="el" href="struct__Evas__Event__Key__Up.html#ac0d6a67e53331d863d141475b1b905fb">_Evas_Event_Key_Up</a>
+, <a class="el" href="struct__Evas__Event__Key__Down.html#a5ea3ff931ae945c486abd2388c6d653a">_Evas_Event_Key_Down</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>device
+: <a class="el" href="struct__Evas__Event__Multi__Down.html#a990b8c081ce4bb5b494ae6632b78cbe4">_Evas_Event_Multi_Down</a>
+, <a class="el" href="struct__Evas__Event__Multi__Move.html#a664db8b96c8999777c79e9ba165d124a">_Evas_Event_Multi_Move</a>
+, <a class="el" href="struct__Evas__Event__Multi__Up.html#a6569e24edde1a26221efbdf54b62f5c9">_Evas_Event_Multi_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>h
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#afb6159a85268fc627520a3436cf94a7a">_Evas_Coord_Rectangle</a>
+</li>
+<li>hold
+: <a class="el" href="struct__Evas__Event__Hold.html#a21f7238382ebd994e083623f777853f3">_Evas_Event_Hold</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>interfaces
+: <a class="el" href="struct__Evas__Smart__Class.html#a6698ec8ff46b2678f920979ae11d939d">_Evas_Smart_Class</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>key
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a70473bba88a1afaee180a54150513824">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#a865118cf93e4454ac101d663b8027b41">_Evas_Event_Key_Up</a>
+</li>
+<li>keyname
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a01909378c9e67734aa0e6ce2b603ad2c">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#a03b32c8ba37a03fbd3ea7cd63e5f47be">_Evas_Event_Key_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>magic
+: <a class="el" href="struct__Evas__Engine__Info.html#ad990a452b19dbd3b0ea73e3c1827dcb1">_Evas_Engine_Info</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>name
+: <a class="el" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f">_Evas_Smart_Class</a>
+, <a class="el" href="struct__Evas__Smart__Cb__Description.html#ab377859f4cfcf1c2dd3c149a76b70b53">_Evas_Smart_Cb_Description</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>parent
+: <a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">_Evas_Smart_Class</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>saved_memory
+: <a class="el" href="struct__Evas__Cserve__Stats.html#af7fa72c981c855ee8c0e49dd3395f113">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_memory_peak
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a9738ab5831d7b402111db096b6ff972b">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_time_image_data_load
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a8f9d701eb8a7d84937422999ff002a1a">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_time_image_header_load
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a35301ae776cdf63793735930d8fe0873">_Evas_Cserve_Stats</a>
+</li>
+<li>string
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a1b64741ca0b90a5119463f320ebeea00">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#aadff1de218baec7322b0ed0f6cf6d662">_Evas_Event_Key_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>type
+: <a class="el" href="struct__Evas__Smart__Cb__Description.html#af0d4ce3d62a068eab1b89a34abb056ad">_Evas_Smart_Cb_Description</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>w
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#a5a72fe41e483e3fcaefa1ee2fdd2f925">_Evas_Coord_Rectangle</a>
+</li>
+<li>wasted_memory
+: <a class="el" href="struct__Evas__Cserve__Stats.html#ab98e8e5dd83545a2c6acc3c914ea488e">_Evas_Cserve_Stats</a>
+</li>
+<li>wasted_memory_peak
+: <a class="el" href="struct__Evas__Cserve__Stats.html#afcdf3ed844a2e8241c0ee5986e6532bb">_Evas_Cserve_Stats</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
+<li>x
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#a8281ece9529d16c84be8b388ea5ae983">_Evas_Coord_Rectangle</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
+<li>y
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#adafcf87056501a29d628801e8cacd0d5">_Evas_Coord_Rectangle</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/functions_vars.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/functions_vars.html
new file mode 100644 (file)
index 0000000..543945b
--- /dev/null
@@ -0,0 +1,250 @@
+<html>
+<head>
+    <title>Evas: Data Fields - Variables</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_k"><span>k</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_w"><span>w</span></a></li>
+      <li><a href="#index_x"><span>x</span></a></li>
+      <li><a href="#index_y"><span>y</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>button
+: <a class="el" href="struct__Evas__Event__Mouse__Down.html#a0ab02808721d6c55fc642ecbb37d5ff9">_Evas_Event_Mouse_Down</a>
+, <a class="el" href="struct__Evas__Event__Mouse__Up.html#aa513164499624ee1e6f1790899efe60f">_Evas_Event_Mouse_Up</a>
+</li>
+<li>buttons
+: <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out</a>
+, <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In</a>
+, <a class="el" href="struct__Evas__Event__Mouse__Move.html#a455bf48e5f7badcc6c525162e0997d08">_Evas_Event_Mouse_Move</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>callbacks
+: <a class="el" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067">_Evas_Smart_Class</a>
+</li>
+<li>compose
+: <a class="el" href="struct__Evas__Event__Key__Up.html#ac0d6a67e53331d863d141475b1b905fb">_Evas_Event_Key_Up</a>
+, <a class="el" href="struct__Evas__Event__Key__Down.html#a5ea3ff931ae945c486abd2388c6d653a">_Evas_Event_Key_Down</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>device
+: <a class="el" href="struct__Evas__Event__Multi__Down.html#a990b8c081ce4bb5b494ae6632b78cbe4">_Evas_Event_Multi_Down</a>
+, <a class="el" href="struct__Evas__Event__Multi__Move.html#a664db8b96c8999777c79e9ba165d124a">_Evas_Event_Multi_Move</a>
+, <a class="el" href="struct__Evas__Event__Multi__Up.html#a6569e24edde1a26221efbdf54b62f5c9">_Evas_Event_Multi_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>h
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#afb6159a85268fc627520a3436cf94a7a">_Evas_Coord_Rectangle</a>
+</li>
+<li>hold
+: <a class="el" href="struct__Evas__Event__Hold.html#a21f7238382ebd994e083623f777853f3">_Evas_Event_Hold</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>interfaces
+: <a class="el" href="struct__Evas__Smart__Class.html#a6698ec8ff46b2678f920979ae11d939d">_Evas_Smart_Class</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>key
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a70473bba88a1afaee180a54150513824">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#a865118cf93e4454ac101d663b8027b41">_Evas_Event_Key_Up</a>
+</li>
+<li>keyname
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a01909378c9e67734aa0e6ce2b603ad2c">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#a03b32c8ba37a03fbd3ea7cd63e5f47be">_Evas_Event_Key_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>magic
+: <a class="el" href="struct__Evas__Engine__Info.html#ad990a452b19dbd3b0ea73e3c1827dcb1">_Evas_Engine_Info</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>name
+: <a class="el" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f">_Evas_Smart_Class</a>
+, <a class="el" href="struct__Evas__Smart__Cb__Description.html#ab377859f4cfcf1c2dd3c149a76b70b53">_Evas_Smart_Cb_Description</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>parent
+: <a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">_Evas_Smart_Class</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>saved_memory
+: <a class="el" href="struct__Evas__Cserve__Stats.html#af7fa72c981c855ee8c0e49dd3395f113">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_memory_peak
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a9738ab5831d7b402111db096b6ff972b">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_time_image_data_load
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a8f9d701eb8a7d84937422999ff002a1a">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_time_image_header_load
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a35301ae776cdf63793735930d8fe0873">_Evas_Cserve_Stats</a>
+</li>
+<li>string
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a1b64741ca0b90a5119463f320ebeea00">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#aadff1de218baec7322b0ed0f6cf6d662">_Evas_Event_Key_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>type
+: <a class="el" href="struct__Evas__Smart__Cb__Description.html#af0d4ce3d62a068eab1b89a34abb056ad">_Evas_Smart_Cb_Description</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>w
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#a5a72fe41e483e3fcaefa1ee2fdd2f925">_Evas_Coord_Rectangle</a>
+</li>
+<li>wasted_memory
+: <a class="el" href="struct__Evas__Cserve__Stats.html#ab98e8e5dd83545a2c6acc3c914ea488e">_Evas_Cserve_Stats</a>
+</li>
+<li>wasted_memory_peak
+: <a class="el" href="struct__Evas__Cserve__Stats.html#afcdf3ed844a2e8241c0ee5986e6532bb">_Evas_Cserve_Stats</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
+<li>x
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#a8281ece9529d16c84be8b388ea5ae983">_Evas_Coord_Rectangle</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
+<li>y
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#adafcf87056501a29d628801e8cacd0d5">_Evas_Coord_Rectangle</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals.html
new file mode 100644 (file)
index 0000000..8f0c649
--- /dev/null
@@ -0,0 +1,144 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>_Evas_Alloc_Error
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cb">Evas.h</a>
+</li>
+<li>evas_alloc_error()
+: <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9">Evas.h</a>
+</li>
+<li>EVAS_ALLOC_ERROR_FATAL
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e">Evas.h</a>
+</li>
+<li>EVAS_ALLOC_ERROR_NONE
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8">Evas.h</a>
+</li>
+<li>EVAS_ALLOC_ERROR_RECOVERED
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e">Evas.h</a>
+</li>
+<li>evas_async_events_fd_get()
+: <a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd">Evas.h</a>
+</li>
+<li>evas_async_events_process()
+: <a class="el" href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x62.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x62.html
new file mode 100644 (file)
index 0000000..e544016
--- /dev/null
@@ -0,0 +1,138 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li class="current"><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>_Evas_Button_Flags
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">Evas.h</a>
+</li>
+<li>EVAS_BUTTON_DOUBLE_CLICK
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d">Evas.h</a>
+</li>
+<li>Evas_Button_Flags
+: <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas.h</a>
+</li>
+<li>EVAS_BUTTON_NONE
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd">Evas.h</a>
+</li>
+<li>EVAS_BUTTON_TRIPLE_CLICK
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x63.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x63.html
new file mode 100644 (file)
index 0000000..60ccbf2
--- /dev/null
@@ -0,0 +1,300 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li class="current"><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>_Evas_Callback_Type
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">Evas.h</a>
+</li>
+<li>_Evas_Colorspace
+: <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CHANGED_SIZE_HINTS
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_DEL
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FREE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_HIDE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_HOLD
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_IMAGE_PRELOADED
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_IMAGE_UNLOADED
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_KEY_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_KEY_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_LAST
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_WHEEL
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RENDER_FLUSH_POST
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RENDER_FLUSH_PRE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RESIZE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RESTACK
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_SHOW
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540">Evas.h</a>
+</li>
+<li>Evas_Callback_Type
+: <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas.h</a>
+</li>
+<li>evas_color_argb_premul()
+: <a class="el" href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa">Evas.h</a>
+</li>
+<li>evas_color_argb_unpremul()
+: <a class="el" href="group__Evas__Utils.html#ga520b64aa41b81e13bf7fc9f16fd2f3e5">Evas.h</a>
+</li>
+<li>evas_color_hsv_to_rgb()
+: <a class="el" href="group__Evas__Utils.html#ga2a28c2e6ecdc72189040ae3f5bd829d0">Evas.h</a>
+</li>
+<li>evas_color_rgb_to_hsv()
+: <a class="el" href="group__Evas__Utils.html#ga4054acb14873d5923306ddde5537171d">Evas.h</a>
+</li>
+<li>EVAS_COLOR_SPACE_AHSV
+: <a class="el" href="Evas_8h.html#a94722d391c46d7c062e13447d9877e71">Evas.h</a>
+</li>
+<li>EVAS_COLOR_SPACE_ARGB
+: <a class="el" href="Evas_8h.html#a37fdd5a69b7ea8e46140ef147aef8192">Evas.h</a>
+</li>
+<li>Evas_Colorspace
+: <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_ARGB8888
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_GRY8
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_RGB565_A5P
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_YCBCR422P601_PL
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_YCBCR422P709_PL
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22">Evas.h</a>
+</li>
+<li>Evas_Coord_Point
+: <a class="el" href="Evas_8h.html#a9d3aab92b5b0911efb7594b79e0d3f37">Evas.h</a>
+</li>
+<li>Evas_Coord_Precision_Point
+: <a class="el" href="Evas_8h.html#a27d3d206dd0447c96df4385cee0c5df2">Evas.h</a>
+</li>
+<li>Evas_Coord_Rectangle
+: <a class="el" href="Evas_8h.html#a23d14410ef9cd719fd61602ce68c4d42">Evas.h</a>
+</li>
+<li>evas_coord_screen_x_to_world()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051">Evas.h</a>
+</li>
+<li>evas_coord_screen_y_to_world()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2">Evas.h</a>
+</li>
+<li>evas_coord_world_x_to_screen()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9">Evas.h</a>
+</li>
+<li>evas_coord_world_y_to_screen()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8">Evas.h</a>
+</li>
+<li>evas_cserve_config_get()
+: <a class="el" href="group__Evas__Cserve.html#ga9bb7fbd93f4bc9310707549ff9427b47">Evas.h</a>
+</li>
+<li>evas_cserve_config_set()
+: <a class="el" href="group__Evas__Cserve.html#ga10c38a7bfb59423c2a96447b42c2aa15">Evas.h</a>
+</li>
+<li>evas_cserve_connected_get()
+: <a class="el" href="group__Evas__Cserve.html#gab88ee4c01dbdf01fea4d8acf4a07b25f">Evas.h</a>
+</li>
+<li>evas_cserve_disconnect()
+: <a class="el" href="group__Evas__Cserve.html#ga3129abb4410e7d6967072f14ac327daf">Evas.h</a>
+</li>
+<li>evas_cserve_stats_get()
+: <a class="el" href="group__Evas__Cserve.html#ga82fec634eb97f664e9cb3ed08358b1a2">Evas.h</a>
+</li>
+<li>evas_cserve_want_get()
+: <a class="el" href="group__Evas__Cserve.html#gab039ccd04ab2e8857a0df629b4ac0901">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x64.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x64.html
new file mode 100644 (file)
index 0000000..45dea3c
--- /dev/null
@@ -0,0 +1,141 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li class="current"><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>evas_damage_rectangle_add()
+: <a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">Evas.h</a>
+</li>
+<li>evas_data_argb_premul()
+: <a class="el" href="group__Evas__Utils.html#gad61423a02fa7c3cb0293c3bdd5516216">Evas.h</a>
+</li>
+<li>evas_data_argb_unpremul()
+: <a class="el" href="group__Evas__Utils.html#ga6794135ce6545bd5e16f6563043a8f18">Evas.h</a>
+</li>
+<li>evas_data_attach_get()
+: <a class="el" href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc">Evas.h</a>
+</li>
+<li>evas_data_attach_set()
+: <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8">Evas.h</a>
+</li>
+<li>Evas_Device
+: <a class="el" href="Evas_8h.html#a430c2d9c773093d159437e35003df281">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x65.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x65.html
new file mode 100644 (file)
index 0000000..eaecce2
--- /dev/null
@@ -0,0 +1,225 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li class="current"><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>_Evas_Event_Flags
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">Evas.h</a>
+</li>
+<li>Evas
+: <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas.h</a>
+</li>
+<li>Evas_Engine_Info
+: <a class="el" href="Evas_8h.html#a86d67b69014ab10fffe20b883685fa46">Evas.h</a>
+</li>
+<li>evas_engine_info_get()
+: <a class="el" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713">Evas.h</a>
+</li>
+<li>evas_engine_info_set()
+: <a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">Evas.h</a>
+</li>
+<li>evas_event_feed_hold()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gaedc3a956cd753acdd2a58ad0d2865d04">Evas.h</a>
+</li>
+<li>evas_event_feed_key_down()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga096e2ef05bfa471d2773729bd24732a0">Evas.h</a>
+</li>
+<li>evas_event_feed_key_up()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gaebe7d4f8b6423aff1ffe67c724d4590d">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_cancel()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_down()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_in()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_move()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_out()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_up()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_wheel()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga393156722bbe1ce384f0ab33ab76a1f2">Evas.h</a>
+</li>
+<li>EVAS_EVENT_FLAG_NONE
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf">Evas.h</a>
+</li>
+<li>EVAS_EVENT_FLAG_ON_HOLD
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83">Evas.h</a>
+</li>
+<li>EVAS_EVENT_FLAG_ON_SCROLL
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311">Evas.h</a>
+</li>
+<li>Evas_Event_Flags
+: <a class="el" href="Evas_8h.html#a9fda4d6d744ae16549b3765df7363f95">Evas.h</a>
+</li>
+<li>evas_event_freeze()
+: <a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e">Evas.h</a>
+</li>
+<li>evas_event_freeze_get()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64">Evas.h</a>
+</li>
+<li>Evas_Event_Hold
+: <a class="el" href="Evas_8h.html#a6fb6e5748f93fc24d62276e5421f9767">Evas.h</a>
+</li>
+<li>Evas_Event_Key_Down
+: <a class="el" href="Evas_8h.html#a9a1bfd297b751119977f3c14c0004612">Evas.h</a>
+</li>
+<li>Evas_Event_Key_Up
+: <a class="el" href="Evas_8h.html#a92e77497752a3b100b3bfc4ee92daf09">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Down
+: <a class="el" href="Evas_8h.html#a907df7a46177e7bac9928ea39fbcca50">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_In
+: <a class="el" href="Evas_8h.html#a9b42da2562eb8390dd513d7337b1e018">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Move
+: <a class="el" href="Evas_8h.html#a224de88869fe5315ca144ef8a2946827">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Out
+: <a class="el" href="Evas_8h.html#a7a168fcb1c4b6bc53ac4e69f5424f317">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Up
+: <a class="el" href="Evas_8h.html#a337e8227780d38bdeae5c0ccd00d04b3">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Wheel
+: <a class="el" href="Evas_8h.html#a54d0e99e450e158924b06746544bb4dc">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Down
+: <a class="el" href="Evas_8h.html#a0436550ffcc1e2eab730ef3c493b8c40">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Move
+: <a class="el" href="Evas_8h.html#a8658f1e1a6801e219547b05e8728ebd2">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Up
+: <a class="el" href="Evas_8h.html#a0f4d63b8673ee370e41e2c0bdc374212">Evas.h</a>
+</li>
+<li>evas_event_thaw()
+: <a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x66.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x66.html
new file mode 100644 (file)
index 0000000..eacf819
--- /dev/null
@@ -0,0 +1,189 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li class="current"><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>_Evas_Fill_Spread
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738">Evas.h</a>
+</li>
+<li>_Evas_Font_Hinting_Flags
+: <a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">Evas.h</a>
+</li>
+<li>Evas_Fill_Spread
+: <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas.h</a>
+</li>
+<li>evas_focus_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5">Evas.h</a>
+</li>
+<li>evas_focus_in()
+: <a class="el" href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb">Evas.h</a>
+</li>
+<li>evas_focus_out()
+: <a class="el" href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff">Evas.h</a>
+</li>
+<li>evas_focus_state_get()
+: <a class="el" href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8">Evas.h</a>
+</li>
+<li>evas_font_available_list()
+: <a class="el" href="group__Evas__Font__Group.html#ga9d51a2efecf89a81a2990db252f3dc6c">Evas.h</a>
+</li>
+<li>evas_font_available_list_free()
+: <a class="el" href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467">Evas.h</a>
+</li>
+<li>evas_font_cache_flush()
+: <a class="el" href="group__Evas__Font__Group.html#gad75ac8ed0c921e774f1c519a66f05a2f">Evas.h</a>
+</li>
+<li>evas_font_cache_get()
+: <a class="el" href="group__Evas__Font__Group.html#ga9cf39aae3074cac05c4aafa3ff24c32f">Evas.h</a>
+</li>
+<li>evas_font_cache_set()
+: <a class="el" href="group__Evas__Font__Group.html#ga5582cfcdb08f6253225bb8cede49033a">Evas.h</a>
+</li>
+<li>EVAS_FONT_HINTING_AUTO
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440">Evas.h</a>
+</li>
+<li>EVAS_FONT_HINTING_BYTECODE
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e">Evas.h</a>
+</li>
+<li>evas_font_hinting_can_hint()
+: <a class="el" href="group__Evas__Font__Group.html#gaa4210fa6661330e67ec4c9cbde775b4b">Evas.h</a>
+</li>
+<li>Evas_Font_Hinting_Flags
+: <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas.h</a>
+</li>
+<li>evas_font_hinting_get()
+: <a class="el" href="group__Evas__Font__Group.html#gafe785a87743b72d8064f0562fd79cc75">Evas.h</a>
+</li>
+<li>EVAS_FONT_HINTING_NONE
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338">Evas.h</a>
+</li>
+<li>evas_font_hinting_set()
+: <a class="el" href="group__Evas__Font__Group.html#gaf39062952fc420ff32fbacfb8c27bd7d">Evas.h</a>
+</li>
+<li>evas_font_path_clear()
+: <a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">Evas.h</a>
+</li>
+<li>evas_font_path_list()
+: <a class="el" href="group__Evas__Font__Path__Group.html#ga06fc80b3e4c27237a571404fc6aa3aeb">Evas.h</a>
+</li>
+<li>evas_free()
+: <a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x68.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x68.html
new file mode 100644 (file)
index 0000000..8a8fab7
--- /dev/null
@@ -0,0 +1,129 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li class="current"><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>EVAS_HINT_EXPAND
+: <a class="el" href="Evas_8h.html#aa47c85083d3dae0111c21ec49359306a">Evas.h</a>
+</li>
+<li>EVAS_HINT_FILL
+: <a class="el" href="Evas_8h.html#aecbac710f36d52911fc34dcdaf8e729c">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x69.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x69.html
new file mode 100644 (file)
index 0000000..c4b7d13
--- /dev/null
@@ -0,0 +1,138 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li class="current"><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>evas_image_cache_flush()
+: <a class="el" href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214">Evas.h</a>
+</li>
+<li>evas_image_cache_get()
+: <a class="el" href="group__Evas__Image__Group.html#gad7ee7f4627d198c0de0ff197fe2f9ed0">Evas.h</a>
+</li>
+<li>evas_image_cache_reload()
+: <a class="el" href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981">Evas.h</a>
+</li>
+<li>evas_image_cache_set()
+: <a class="el" href="group__Evas__Image__Group.html#gab28271aad78206e5ee9bed62e0decfa7">Evas.h</a>
+</li>
+<li>evas_init()
+: <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6b.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6b.html
new file mode 100644 (file)
index 0000000..305fb5b
--- /dev/null
@@ -0,0 +1,129 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li class="current"><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>evas_key_lock_get()
+: <a class="el" href="Evas_8h.html#aa8af6d3610b4e937e79e761c8c4c7819">Evas.h</a>
+</li>
+<li>evas_key_modifier_get()
+: <a class="el" href="Evas_8h.html#a5c233a1e9eea970c1db0de87ff343e77">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6c.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6c.html
new file mode 100644 (file)
index 0000000..a5d7fde
--- /dev/null
@@ -0,0 +1,162 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li class="current"><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>_Evas_Load_Error
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5f">Evas.h</a>
+</li>
+<li>EVAS_LAYER_MAX
+: <a class="el" href="Evas_8h.html#a1456f5c97f03ebd786c49d4d1178e7a0">Evas.h</a>
+</li>
+<li>EVAS_LAYER_MIN
+: <a class="el" href="Evas_8h.html#a8817f2ac4e0058d43f9bfe1e563e551b">Evas.h</a>
+</li>
+<li>Evas_Load_Error
+: <a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_CORRUPT_FILE
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_DOES_NOT_EXIST
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_GENERIC
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_NONE
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_PERMISSION_DENIED
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4">Evas.h</a>
+</li>
+<li>evas_load_error_str()
+: <a class="el" href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_UNKNOWN_FORMAT
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80">Evas.h</a>
+</li>
+<li>Evas_Lock
+: <a class="el" href="Evas_8h.html#a791323b644ee831ead4c5d25552a0fd8">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6d.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6d.html
new file mode 100644 (file)
index 0000000..3e2117d
--- /dev/null
@@ -0,0 +1,204 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li class="current"><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>Evas_Map
+: <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas.h</a>
+</li>
+<li>evas_map_alpha_get()
+: <a class="el" href="Evas_8h.html#ae7de42394f26fa1e5bfc315f7d114ac3">Evas.h</a>
+</li>
+<li>evas_map_alpha_set()
+: <a class="el" href="Evas_8h.html#ae1cbf087e2182e01d07979975baa9065">Evas.h</a>
+</li>
+<li>evas_map_count_get()
+: <a class="el" href="Evas_8h.html#acb6da0be6c78ebf89a5b25d9a0fa44fa">Evas.h</a>
+</li>
+<li>evas_map_dup()
+: <a class="el" href="Evas_8h.html#a25ffe0dd36fed0c9c492d636b163390a">Evas.h</a>
+</li>
+<li>evas_map_free()
+: <a class="el" href="Evas_8h.html#a78ecdf799f326e1c17aae6770c06058a">Evas.h</a>
+</li>
+<li>evas_map_new()
+: <a class="el" href="Evas_8h.html#a719acc4f4792236f7031664ec450b399">Evas.h</a>
+</li>
+<li>evas_map_point_color_get()
+: <a class="el" href="Evas_8h.html#a40ae28dc015c5dad8a09ce5c6d764422">Evas.h</a>
+</li>
+<li>evas_map_point_color_set()
+: <a class="el" href="Evas_8h.html#ae569741d778974e2825dc05cc3e68f9f">Evas.h</a>
+</li>
+<li>evas_map_point_coord_get()
+: <a class="el" href="Evas_8h.html#ab8640a9b915b7c6f33f96782bb23e939">Evas.h</a>
+</li>
+<li>evas_map_point_coord_set()
+: <a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7">Evas.h</a>
+</li>
+<li>evas_map_point_image_uv_get()
+: <a class="el" href="Evas_8h.html#ab993d154039532e6105d2c1ea23133fc">Evas.h</a>
+</li>
+<li>evas_map_point_image_uv_set()
+: <a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a">Evas.h</a>
+</li>
+<li>evas_map_smooth_get()
+: <a class="el" href="Evas_8h.html#ac7693cff90eddde9f1cd5fd99d6df695">Evas.h</a>
+</li>
+<li>evas_map_smooth_set()
+: <a class="el" href="Evas_8h.html#ae851a2ebf0c272cf0bcb97168b625d23">Evas.h</a>
+</li>
+<li>evas_map_util_3d_lighting()
+: <a class="el" href="Evas_8h.html#a4dd3a3cf9091afaa87bc042b12a5685d">Evas.h</a>
+</li>
+<li>evas_map_util_3d_perspective()
+: <a class="el" href="Evas_8h.html#a14c467420d169d666865cdb31746728d">Evas.h</a>
+</li>
+<li>evas_map_util_3d_rotate()
+: <a class="el" href="Evas_8h.html#a4118dedc011bd94a35d03251c7bef5ed">Evas.h</a>
+</li>
+<li>evas_map_util_clockwise_get()
+: <a class="el" href="Evas_8h.html#a4e7cd972cac5507838c9827ef04b2607">Evas.h</a>
+</li>
+<li>evas_map_util_points_color_set()
+: <a class="el" href="Evas_8h.html#a1ea4919339773a113dece07f1335d6ac">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_geometry()
+: <a class="el" href="Evas_8h.html#adb28b64c445931d92eeeab2c3fb52286">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_object()
+: <a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_object_full()
+: <a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6">Evas.h</a>
+</li>
+<li>evas_map_util_rotate()
+: <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080">Evas.h</a>
+</li>
+<li>evas_map_util_zoom()
+: <a class="el" href="Evas_8h.html#a986dd1010c757910b4520527f229d3b5">Evas.h</a>
+</li>
+<li>Evas_Modifier
+: <a class="el" href="Evas_8h.html#a198d0b10861c1da456004688d3443e96">Evas.h</a>
+</li>
+<li>Evas_Modifier_Mask
+: <a class="el" href="Evas_8h.html#a111c7333a7d49e44698bd19dd5bc9059">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6e.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6e.html
new file mode 100644 (file)
index 0000000..122a595
--- /dev/null
@@ -0,0 +1,138 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li class="current"><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>Evas_Native_Surface
+: <a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas.h</a>
+</li>
+<li>evas_new()
+: <a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87">Evas.h</a>
+</li>
+<li>evas_nochange_pop()
+: <a class="el" href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac">Evas.h</a>
+</li>
+<li>evas_nochange_push()
+: <a class="el" href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe">Evas.h</a>
+</li>
+<li>evas_norender()
+: <a class="el" href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6f.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x6f.html
new file mode 100644 (file)
index 0000000..a083e04
--- /dev/null
@@ -0,0 +1,864 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li class="current"><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>_Evas_Object_Pointer_Mode
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">Evas.h</a>
+</li>
+<li>_Evas_Object_Table_Homogeneous_Mode
+: <a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">Evas.h</a>
+</li>
+<li>Evas_Object
+: <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas.h</a>
+</li>
+<li>evas_object_above_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gab78867a46ecc2e35ac90bf40bae1689f">Evas.h</a>
+</li>
+<li>evas_object_anti_alias_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga3308cb65716beb4ce826b9701e23159a">Evas.h</a>
+</li>
+<li>evas_object_anti_alias_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaf0c7d4c49695749fa616d0abdbd5ddeb">Evas.h</a>
+</li>
+<li>evas_object_below_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaff15b0dacac065bc84e6124c0c4920c5">Evas.h</a>
+</li>
+<li>evas_object_bottom_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga3e06dcd04da8cd9d64e106f7ede8db9e">Evas.h</a>
+</li>
+<li>evas_object_box_accessor_new()
+: <a class="el" href="group__Evas__Object__Box.html#gad5c5837393bd163f6cde72bde073333b">Evas.h</a>
+</li>
+<li>evas_object_box_add()
+: <a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">Evas.h</a>
+</li>
+<li>evas_object_box_add_to()
+: <a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">Evas.h</a>
+</li>
+<li>evas_object_box_align_get()
+: <a class="el" href="group__Evas__Object__Box.html#gad87e3a868b14d1a28da7511f95b59673">Evas.h</a>
+</li>
+<li>evas_object_box_align_set()
+: <a class="el" href="group__Evas__Object__Box.html#gae66fe763591e62621cf6352528d97e10">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Api
+: <a class="el" href="group__Evas__Object__Box.html#ga2a8fbeeab4f5ae23e7bc1b291e27c5e1">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT
+: <a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+: <a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_NULL
+: <a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_VERSION
+: <a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1">Evas.h</a>
+</li>
+<li>evas_object_box_children_get()
+: <a class="el" href="group__Evas__Object__Box.html#ga542294a74645829cd5531a8ddec32d9c">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Data
+: <a class="el" href="group__Evas__Object__Box.html#gac9047b7cff95df59f61c7321967caf7b">Evas.h</a>
+</li>
+<li>evas_object_box_iterator_new()
+: <a class="el" href="group__Evas__Object__Box.html#ga2a3ceff4f02512fa7f85618252eacbdc">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Option
+: <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas.h</a>
+</li>
+<li>evas_object_box_option_property_name_get()
+: <a class="el" href="group__Evas__Object__Box.html#gad6b908faeca8fb7e16c002509a86ffab">Evas.h</a>
+</li>
+<li>evas_object_box_padding_get()
+: <a class="el" href="group__Evas__Object__Box.html#gab24383f3b29c8bc78c98cd0b0f16902d">Evas.h</a>
+</li>
+<li>evas_object_box_padding_set()
+: <a class="el" href="group__Evas__Object__Box.html#ga75ab3d2f84c328010c26a6b8d89c9c67">Evas.h</a>
+</li>
+<li>evas_object_box_remove_all()
+: <a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">Evas.h</a>
+</li>
+<li>evas_object_box_remove_at()
+: <a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">Evas.h</a>
+</li>
+<li>evas_object_box_smart_class_get()
+: <a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">Evas.h</a>
+</li>
+<li>evas_object_box_smart_set()
+: <a class="el" href="group__Evas__Object__Box.html#ga19c407e45de527d9400823fb1c85d0fe">Evas.h</a>
+</li>
+<li>evas_object_clip_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a">Evas.h</a>
+</li>
+<li>evas_object_clip_unset()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">Evas.h</a>
+</li>
+<li>evas_object_clipees_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887">Evas.h</a>
+</li>
+<li>evas_object_color_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga3856f8b88d158ffa9783b44340ef343d">Evas.h</a>
+</li>
+<li>evas_object_color_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f">Evas.h</a>
+</li>
+<li>evas_object_del()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">Evas.h</a>
+</li>
+<li>evas_object_evas_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">Evas.h</a>
+</li>
+<li>evas_object_focus_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654">Evas.h</a>
+</li>
+<li>evas_object_focus_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">Evas.h</a>
+</li>
+<li>evas_object_geometry_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">Evas.h</a>
+</li>
+<li>evas_object_hide()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">Evas.h</a>
+</li>
+<li>evas_object_image_add()
+: <a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_get()
+: <a class="el" href="group__Evas__Object__Image.html#gac136f7f65d8529427b1f6da055b47a30">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_mask_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga154d8315842f4602878704951705e6cb">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_set()
+: <a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">Evas.h</a>
+</li>
+<li>evas_object_image_border_center_fill_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga04f8a4f69c5ad37d9229e4c39bb7c010">Evas.h</a>
+</li>
+<li>evas_object_image_border_center_fill_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga4caf736585ad602e6748e434ac1f5fc6">Evas.h</a>
+</li>
+<li>evas_object_image_border_get()
+: <a class="el" href="group__Evas__Object__Image.html#gab666a37cbae8ee846cdeb518e7fd495c">Evas.h</a>
+</li>
+<li>evas_object_image_border_scale_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga7cc1bf948a8a5d61c703211f0bd5d2dc">Evas.h</a>
+</li>
+<li>evas_object_image_border_scale_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0">Evas.h</a>
+</li>
+<li>evas_object_image_border_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d">Evas.h</a>
+</li>
+<li>evas_object_image_colorspace_get()
+: <a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42">Evas.h</a>
+</li>
+<li>evas_object_image_colorspace_set()
+: <a class="el" href="group__Evas__Object__Image.html#gac352f7b110d7e527bf2d36fba5507d0c">Evas.h</a>
+</li>
+<li>evas_object_image_content_hint_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga28881040682dbbf00937948124e9f3fb">Evas.h</a>
+</li>
+<li>evas_object_image_content_hint_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaf6cc0faf39773e12eb496116afd67c6f">Evas.h</a>
+</li>
+<li>evas_object_image_data_convert()
+: <a class="el" href="group__Evas__Object__Image.html#ga3072cf7c31cf33057abd8ae8876218cd">Evas.h</a>
+</li>
+<li>evas_object_image_data_copy_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga97d17b8d95f0ca01a264a6c303d00c27">Evas.h</a>
+</li>
+<li>evas_object_image_data_get()
+: <a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2">Evas.h</a>
+</li>
+<li>evas_object_image_data_set()
+: <a class="el" href="group__Evas__Object__Image.html#gabdd65e4c69f422ddcf0d3c8720859a92">Evas.h</a>
+</li>
+<li>evas_object_image_data_update_add()
+: <a class="el" href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165">Evas.h</a>
+</li>
+<li>evas_object_image_file_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">Evas.h</a>
+</li>
+<li>evas_object_image_fill_get()
+: <a class="el" href="group__Evas__Object__Image.html#gaf1a7d6b8cf914234abdd5d3d3312f85e">Evas.h</a>
+</li>
+<li>evas_object_image_fill_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">Evas.h</a>
+</li>
+<li>evas_object_image_fill_spread_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae86928005f983627c74dbaef6c0fbb0e">Evas.h</a>
+</li>
+<li>evas_object_image_fill_spread_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881">Evas.h</a>
+</li>
+<li>evas_object_image_filled_add()
+: <a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">Evas.h</a>
+</li>
+<li>evas_object_image_filled_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga3fbe9f33ccc93a5c45ffa3b26019694e">Evas.h</a>
+</li>
+<li>evas_object_image_filled_set()
+: <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">Evas.h</a>
+</li>
+<li>evas_object_image_load_dpi_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga92a5503085a5c0731bb9c299e7b42f78">Evas.h</a>
+</li>
+<li>evas_object_image_load_dpi_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga88a20331cef0267ddc1d00419841580b">Evas.h</a>
+</li>
+<li>evas_object_image_load_error_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga46e4a0b2b916d28694ad054549f88e24">Evas.h</a>
+</li>
+<li>evas_object_image_load_scale_down_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga259c48b3e2a4009e8a10f8e9874d3847">Evas.h</a>
+</li>
+<li>evas_object_image_load_scale_down_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga59796713b88c217ce5869cb003e404c0">Evas.h</a>
+</li>
+<li>evas_object_image_load_size_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae8047183e894e1e1245f1f3aaf78f218">Evas.h</a>
+</li>
+<li>evas_object_image_load_size_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga1811fb73c1e138b5221cf4b25148111a">Evas.h</a>
+</li>
+<li>evas_object_image_native_surface_get()
+: <a class="el" href="group__Evas__Object__Image.html#gabd3effabde6da00dfcac7cf0cfa22280">Evas.h</a>
+</li>
+<li>evas_object_image_pixels_dirty_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga1d9e82da12f7831552fca02b9b313551">Evas.h</a>
+</li>
+<li>evas_object_image_pixels_dirty_set()
+: <a class="el" href="group__Evas__Object__Image.html#gad230eeeb0c6ba49eafd32b20afa314cb">Evas.h</a>
+</li>
+<li>evas_object_image_preload()
+: <a class="el" href="group__Evas__Object__Image.html#gad6383022c4013008d11827b32bf63d59">Evas.h</a>
+</li>
+<li>evas_object_image_reload()
+: <a class="el" href="group__Evas__Object__Image.html#ga764bec190c0812f61f5a18f38c9c6a4e">Evas.h</a>
+</li>
+<li>evas_object_image_scale_hint_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga8cce0086819196768915e5f2c2ed0cb2">Evas.h</a>
+</li>
+<li>evas_object_image_scale_hint_set()
+: <a class="el" href="group__Evas__Object__Image.html#gad13d32b74c2cd82c95b85fa9640ae529">Evas.h</a>
+</li>
+<li>evas_object_image_size_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga43e6f1b16ebe859826e6901cb36995ad">Evas.h</a>
+</li>
+<li>evas_object_image_size_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22">Evas.h</a>
+</li>
+<li>evas_object_image_smooth_scale_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae4acc1da719cb38122b92527df24388c">Evas.h</a>
+</li>
+<li>evas_object_image_smooth_scale_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510">Evas.h</a>
+</li>
+<li>evas_object_image_source_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga95a96ced932d6e7e17ee019654d9d901">Evas.h</a>
+</li>
+<li>evas_object_image_source_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">Evas.h</a>
+</li>
+<li>evas_object_image_source_unset()
+: <a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">Evas.h</a>
+</li>
+<li>evas_object_image_stride_get()
+: <a class="el" href="group__Evas__Object__Image.html#gab72175381532640c620dd032e56c590b">Evas.h</a>
+</li>
+<li>evas_object_layer_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga13cb52d23911b6c701dbb5f1ee3f65f4">Evas.h</a>
+</li>
+<li>evas_object_layer_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">Evas.h</a>
+</li>
+<li>evas_object_line_add()
+: <a class="el" href="group__Evas__Line__Group.html#ga896f1beaea24379495af4cbc5efcebfe">Evas.h</a>
+</li>
+<li>evas_object_line_xy_get()
+: <a class="el" href="group__Evas__Line__Group.html#ga3fa674863aa41d655caa103f546a9092">Evas.h</a>
+</li>
+<li>evas_object_line_xy_set()
+: <a class="el" href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174">Evas.h</a>
+</li>
+<li>evas_object_lower()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">Evas.h</a>
+</li>
+<li>evas_object_map_enable_get()
+: <a class="el" href="Evas_8h.html#a9fe49ea6c0508408d3f0c4bc6b790084">Evas.h</a>
+</li>
+<li>evas_object_map_enable_set()
+: <a class="el" href="Evas_8h.html#acee7a5f7bbb804b406405e9199d5a900">Evas.h</a>
+</li>
+<li>evas_object_map_get()
+: <a class="el" href="Evas_8h.html#aa1d3f8febc923e8225f727afc08d21f2">Evas.h</a>
+</li>
+<li>evas_object_map_set()
+: <a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca">Evas.h</a>
+</li>
+<li>evas_object_map_source_get()
+: <a class="el" href="Evas_8h.html#abb0578635393c514b1c228ebb7b2eed0">Evas.h</a>
+</li>
+<li>evas_object_map_source_set()
+: <a class="el" href="Evas_8h.html#aa0daae782c23c5624ab0fc3e4f63c8f9">Evas.h</a>
+</li>
+<li>evas_object_move()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">Evas.h</a>
+</li>
+<li>evas_object_name_find()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gad3214c89581f068934c57ac71dc6a52f">Evas.h</a>
+</li>
+<li>evas_object_name_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gac34b593d79bfd9284787ddbb43486edd">Evas.h</a>
+</li>
+<li>evas_object_name_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8">Evas.h</a>
+</li>
+<li>evas_object_pass_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0">Evas.h</a>
+</li>
+<li>evas_object_pass_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">Evas.h</a>
+</li>
+<li>Evas_Object_Pointer_Mode
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_POINTER_MODE_AUTOGRAB
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28">Evas.h</a>
+</li>
+<li>evas_object_pointer_mode_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga80faa9ce3b9ab59fe7b4bf6924b293ac">Evas.h</a>
+</li>
+<li>evas_object_pointer_mode_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga5504e39f8d0cc41af3663fed15ec06e5">Evas.h</a>
+</li>
+<li>evas_object_polygon_add()
+: <a class="el" href="group__Evas__Object__Polygon.html#gab6beb5b98de57a0f47707cac90f96bc9">Evas.h</a>
+</li>
+<li>evas_object_polygon_point_add()
+: <a class="el" href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76">Evas.h</a>
+</li>
+<li>evas_object_polygon_points_clear()
+: <a class="el" href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2">Evas.h</a>
+</li>
+<li>evas_object_precise_is_inside_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga8483a3c855f466a5dca480fcfd07b52b">Evas.h</a>
+</li>
+<li>evas_object_precise_is_inside_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gac9ce9802afd7d4cba580fbcbe92c28b2">Evas.h</a>
+</li>
+<li>evas_object_propagate_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f">Evas.h</a>
+</li>
+<li>evas_object_propagate_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d">Evas.h</a>
+</li>
+<li>evas_object_raise()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">Evas.h</a>
+</li>
+<li>evas_object_rectangle_add()
+: <a class="el" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa">Evas.h</a>
+</li>
+<li>evas_object_ref()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723">Evas.h</a>
+</li>
+<li>evas_object_render_op_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaa157afa6f23cdf4b344d95531bb7d508">Evas.h</a>
+</li>
+<li>evas_object_render_op_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga86ef8d1f039bff1a60595688f93a7990">Evas.h</a>
+</li>
+<li>evas_object_repeat_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582">Evas.h</a>
+</li>
+<li>evas_object_repeat_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">Evas.h</a>
+</li>
+<li>evas_object_resize()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">Evas.h</a>
+</li>
+<li>evas_object_scale_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga1c0aca3af434f0bc0fa8732248b197ba">Evas.h</a>
+</li>
+<li>evas_object_scale_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaf010777fa1b58bd1c9c8093d2edc62e9">Evas.h</a>
+</li>
+<li>evas_object_show()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f">Evas.h</a>
+</li>
+<li>evas_object_size_hint_align_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">Evas.h</a>
+</li>
+<li>evas_object_size_hint_align_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f">Evas.h</a>
+</li>
+<li>evas_object_size_hint_aspect_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga7b31c73dcbf60cdafe6ad7ffae42a54c">Evas.h</a>
+</li>
+<li>evas_object_size_hint_aspect_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gadb36ccc851e48ae2a11a6e2cb7fcb273">Evas.h</a>
+</li>
+<li>evas_object_size_hint_expand_get
+: <a class="el" href="Evas_8h.html#a71adf20af9358d9d26b7c88b61d1fc8d">Evas.h</a>
+</li>
+<li>evas_object_size_hint_expand_set
+: <a class="el" href="Evas_8h.html#ab239e77a0e38a5a756acbb0604055ecf">Evas.h</a>
+</li>
+<li>evas_object_size_hint_fill_get
+: <a class="el" href="Evas_8h.html#ac787ce1277b96bed04ff2b08449907c9">Evas.h</a>
+</li>
+<li>evas_object_size_hint_fill_set
+: <a class="el" href="Evas_8h.html#a1b148ef14ae2eb1fbde17179b66a0503">Evas.h</a>
+</li>
+<li>evas_object_size_hint_max_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">Evas.h</a>
+</li>
+<li>evas_object_size_hint_max_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga2a224fd6c4fc231af281af59c5a604b2">Evas.h</a>
+</li>
+<li>evas_object_size_hint_min_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">Evas.h</a>
+</li>
+<li>evas_object_size_hint_min_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">Evas.h</a>
+</li>
+<li>evas_object_size_hint_padding_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">Evas.h</a>
+</li>
+<li>evas_object_size_hint_padding_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga0014a3016d34071d41d76785a963fcb1">Evas.h</a>
+</li>
+<li>evas_object_size_hint_request_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga6a7de6942258ab03a6e85b37f569895d">Evas.h</a>
+</li>
+<li>evas_object_size_hint_request_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gace0177af29ccbf1a60415f2c4c85c1f4">Evas.h</a>
+</li>
+<li>evas_object_size_hint_weight_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">Evas.h</a>
+</li>
+<li>evas_object_size_hint_weight_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98">Evas.h</a>
+</li>
+<li>evas_object_smart_calculate()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga8013936b96d99d2ff375ca2b0b287f39">Evas.h</a>
+</li>
+<li>evas_object_smart_callbacks_descriptions_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d">Evas.h</a>
+</li>
+<li>evas_object_smart_callbacks_descriptions_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaf724dbb075cdaf2b4b44dd883b792dc3">Evas.h</a>
+</li>
+<li>evas_object_smart_changed()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_class_get()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_clipper_get()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">Evas.h</a>
+</li>
+<li>Evas_Object_Smart_Clipped_Data
+: <a class="el" href="Evas_8h.html#a65c1b2ed3578175e476998f7b55dfe34">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_smart_set()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628">Evas.h</a>
+</li>
+<li>evas_object_smart_data_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">Evas.h</a>
+</li>
+<li>evas_object_smart_data_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e">Evas.h</a>
+</li>
+<li>evas_object_smart_member_del()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">Evas.h</a>
+</li>
+<li>evas_object_smart_members_get()
+: <a class="el" href="Evas_8h.html#afa903e37a9f98f80f1d73996cf5354cc">Evas.h</a>
+</li>
+<li>evas_object_smart_move_children_relative()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">Evas.h</a>
+</li>
+<li>evas_object_smart_need_recalculate_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga38be19a4f09b071b3d984996b8f9b3ee">Evas.h</a>
+</li>
+<li>evas_object_smart_need_recalculate_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1">Evas.h</a>
+</li>
+<li>evas_object_smart_parent_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511">Evas.h</a>
+</li>
+<li>evas_object_smart_smart_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gab1423d63011d7f3679c95ea1638fa714">Evas.h</a>
+</li>
+<li>evas_object_static_clip_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gafda644be2d6e6360959853c9d6195ec8">Evas.h</a>
+</li>
+<li>evas_object_static_clip_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8">Evas.h</a>
+</li>
+<li>evas_object_table_accessor_new()
+: <a class="el" href="group__Evas__Object__Table.html#gaaa6c5242faad0906b1fbf4bbc1088543">Evas.h</a>
+</li>
+<li>evas_object_table_add()
+: <a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">Evas.h</a>
+</li>
+<li>evas_object_table_add_to()
+: <a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">Evas.h</a>
+</li>
+<li>evas_object_table_align_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga7a1ff64522920c2723675ca11d723d47">Evas.h</a>
+</li>
+<li>evas_object_table_align_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga7299bcee8de1f9304fa31fff43347a45">Evas.h</a>
+</li>
+<li>evas_object_table_child_get()
+: <a class="el" href="group__Evas__Object__Table.html#gaeb4a9d107dde8a4c7bc60d6f97b5ec46">Evas.h</a>
+</li>
+<li>evas_object_table_children_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga1afb562131cd3a74a130c374fcea0632">Evas.h</a>
+</li>
+<li>evas_object_table_clear()
+: <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">Evas.h</a>
+</li>
+<li>evas_object_table_col_row_size_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga007c88dba9eb3b326aa67a10c143f3a9">Evas.h</a>
+</li>
+<li>evas_object_table_homogeneous_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga1b96719d71cb4ca89a31eb59635df387">Evas.h</a>
+</li>
+<li>Evas_Object_Table_Homogeneous_Mode
+: <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas.h</a>
+</li>
+<li>evas_object_table_homogeneous_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">Evas.h</a>
+</li>
+<li>evas_object_table_iterator_new()
+: <a class="el" href="group__Evas__Object__Table.html#ga07d18d5708745143c4b12280a7359e71">Evas.h</a>
+</li>
+<li>evas_object_table_mirrored_get()
+: <a class="el" href="group__Evas__Object__Table.html#gac008b924a1ba3b0133d0ac11b3e6af06">Evas.h</a>
+</li>
+<li>evas_object_table_mirrored_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga8f775fb97bf5da5e8a0005a89027044b">Evas.h</a>
+</li>
+<li>evas_object_table_padding_get()
+: <a class="el" href="group__Evas__Object__Table.html#gabe1af40fbd5e03068bc577e71939934a">Evas.h</a>
+</li>
+<li>evas_object_table_padding_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga6ea229f05036a9c5d30010ad40a30c66">Evas.h</a>
+</li>
+<li>evas_object_text_add()
+: <a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539">Evas.h</a>
+</li>
+<li>evas_object_text_ascent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga4aaf7a903228927fa0adac885304e43e">Evas.h</a>
+</li>
+<li>evas_object_text_char_coords_get()
+: <a class="el" href="group__Evas__Object__Text.html#gab37f85358bd7d333cd6e8c7cf62b5daa">Evas.h</a>
+</li>
+<li>evas_object_text_char_pos_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga823b09a9d05a1650e63970e329cd7b72">Evas.h</a>
+</li>
+<li>evas_object_text_descent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga71f9d96c6dfc8ec33cf0a97e614228a0">Evas.h</a>
+</li>
+<li>evas_object_text_direction_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga2fdb3ff0318cd4b45d642ae317b19589">Evas.h</a>
+</li>
+<li>evas_object_text_font_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">Evas.h</a>
+</li>
+<li>evas_object_text_font_source_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaa48bece59070032504a2c78ad8a66577">Evas.h</a>
+</li>
+<li>evas_object_text_font_source_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b">Evas.h</a>
+</li>
+<li>evas_object_text_glow2_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga264a8425d8dab176a1b15e17a528d56d">Evas.h</a>
+</li>
+<li>evas_object_text_glow2_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga7dabe4ce0120cdf0c4e60a8f7a7e3659">Evas.h</a>
+</li>
+<li>evas_object_text_glow_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga76bcc6322241875990b572f37d754266">Evas.h</a>
+</li>
+<li>evas_object_text_glow_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga74c4ea0f0befd6213f48163ee70041e6">Evas.h</a>
+</li>
+<li>evas_object_text_horiz_advance_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga972494bd4b9d807ea5f98404a82d8eab">Evas.h</a>
+</li>
+<li>evas_object_text_inset_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d">Evas.h</a>
+</li>
+<li>evas_object_text_last_up_to_pos()
+: <a class="el" href="group__Evas__Object__Text.html#ga464d40578e2fdc2ad8890556e0b97268">Evas.h</a>
+</li>
+<li>evas_object_text_max_ascent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga1a0bdf57c3ca6e7fb7833ddfbe23b735">Evas.h</a>
+</li>
+<li>evas_object_text_max_descent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga28ee3eb5e199c23a14ac47e07ac49205">Evas.h</a>
+</li>
+<li>evas_object_text_outline_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga16485a0062a397faed21fad732ad16ba">Evas.h</a>
+</li>
+<li>evas_object_text_outline_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga1c1cf05c6b31f06a4c79486d19ddaece">Evas.h</a>
+</li>
+<li>evas_object_text_shadow_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga7cf7432965327a571d413dbaeca66822">Evas.h</a>
+</li>
+<li>evas_object_text_shadow_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga58f0bb7acf2c1d24e9ae5e4a391d19bc">Evas.h</a>
+</li>
+<li>evas_object_text_style_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaf08d4a9630d23ebdbf79cc8c2c91b2c6">Evas.h</a>
+</li>
+<li>evas_object_text_style_pad_get()
+: <a class="el" href="group__Evas__Object__Text.html#gafd638ae91c10d4139e41e6245c0712e1">Evas.h</a>
+</li>
+<li>evas_object_text_style_set()
+: <a class="el" href="group__Evas__Object__Text.html#gae7896521b9861d4bd3efc04ef1e8e91e">Evas.h</a>
+</li>
+<li>evas_object_text_text_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaef3b0b12eb63b9cd7574c1cf05afb7a8">Evas.h</a>
+</li>
+<li>evas_object_text_text_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532">Evas.h</a>
+</li>
+<li>evas_object_text_vert_advance_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaec17348b4fa02b15162ef96abdbfbf41">Evas.h</a>
+</li>
+<li>evas_object_textblock_add()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac43a253bc767da912ee1818a8dfa5713">Evas.h</a>
+</li>
+<li>evas_object_textblock_clear()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad5ee9184f370f602d2005ea8091a2c29">Evas.h</a>
+</li>
+<li>evas_object_textblock_cursor_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2bbd5e4e1cc36e18790dc09fbd2a6c18">Evas.h</a>
+</li>
+<li>evas_object_textblock_cursor_new()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45">Evas.h</a>
+</li>
+<li>evas_object_textblock_line_number_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga77d99df8bcb139f2a499a0dda4c5dca1">Evas.h</a>
+</li>
+<li>evas_object_textblock_newline_mode_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga0832ab9fd2820efee68bec6d1d80e427">Evas.h</a>
+</li>
+<li>evas_object_textblock_newline_mode_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae637041b07efe438e3539bb549a915e3">Evas.h</a>
+</li>
+<li>Evas_Object_Textblock_Node_Format
+: <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas.h</a>
+</li>
+<li>evas_object_textblock_replace_char_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga61f6c6ea8c0ce2028424396eb2ff4a81">Evas.h</a>
+</li>
+<li>evas_object_textblock_replace_char_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gab5d3958f4d73b2d9e3cccd828816b672">Evas.h</a>
+</li>
+<li>evas_object_textblock_size_formatted_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db">Evas.h</a>
+</li>
+<li>evas_object_textblock_size_native_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga9f3164f28981c6d6188a8de202848197">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_insets_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga851cb385b547a958790a0d60d386a1d8">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0">Evas.h</a>
+</li>
+<li>evas_object_textblock_text_markup_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga0896326ca8d9ca1dd194f322d0bc87b2">Evas.h</a>
+</li>
+<li>evas_object_textblock_text_markup_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">Evas.h</a>
+</li>
+<li>evas_object_textblock_valign_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga431ec30179fc3d7bcd98f508453e41bb">Evas.h</a>
+</li>
+<li>evas_object_textblock_valign_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga5f08b5b6222ed341574ec8167a86c9a0">Evas.h</a>
+</li>
+<li>evas_object_top_at_pointer_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448">Evas.h</a>
+</li>
+<li>evas_object_top_at_xy_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54">Evas.h</a>
+</li>
+<li>evas_object_top_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga2acf1e026d576ba355ca1b1ea24e0736">Evas.h</a>
+</li>
+<li>evas_object_top_in_rectangle_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gaf072ec206768d96c6f73a590e6af39c9">Evas.h</a>
+</li>
+<li>evas_object_type_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff">Evas.h</a>
+</li>
+<li>evas_object_unref()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089">Evas.h</a>
+</li>
+<li>evas_object_visible_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga9cf743b5d87b622c84ba591494445b49">Evas.h</a>
+</li>
+<li>evas_objects_at_xy_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga473d00deb431d0869484474153e47c04">Evas.h</a>
+</li>
+<li>evas_objects_in_rectangle_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gae5d4af2f915c2efe4e5cfc22644b8c53">Evas.h</a>
+</li>
+<li>evas_obscured_clear()
+: <a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876">Evas.h</a>
+</li>
+<li>evas_obscured_rectangle_add()
+: <a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4">Evas.h</a>
+</li>
+<li>evas_output_method_get()
+: <a class="el" href="group__Evas__Output__Method.html#gac4127a10231f1851cc3443a84fb0b059">Evas.h</a>
+</li>
+<li>evas_output_method_set()
+: <a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">Evas.h</a>
+</li>
+<li>evas_output_size_get()
+: <a class="el" href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a">Evas.h</a>
+</li>
+<li>evas_output_size_set()
+: <a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">Evas.h</a>
+</li>
+<li>evas_output_viewport_get()
+: <a class="el" href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee">Evas.h</a>
+</li>
+<li>evas_output_viewport_set()
+: <a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x70.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x70.html
new file mode 100644 (file)
index 0000000..efc8a6f
--- /dev/null
@@ -0,0 +1,174 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li class="current"><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>_Evas_Pixel_Import_Pixel_Format
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">Evas.h</a>
+</li>
+<li>Evas_Performance
+: <a class="el" href="Evas_8h.html#a89d88a04f7684454960d465a1b9657c2">Evas.h</a>
+</li>
+<li>EVAS_PIXEL_FORMAT_ARGB32
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a">Evas.h</a>
+</li>
+<li>EVAS_PIXEL_FORMAT_NONE
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2">Evas.h</a>
+</li>
+<li>EVAS_PIXEL_FORMAT_YUV420P_601
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8">Evas.h</a>
+</li>
+<li>Evas_Pixel_Import_Pixel_Format
+: <a class="el" href="Evas_8h.html#ae609d856d391e1d65968a137313e0eb7">Evas.h</a>
+</li>
+<li>Evas_Pixel_Import_Source
+: <a class="el" href="Evas_8h.html#abb01076af16fbb50a837b1893b776783">Evas.h</a>
+</li>
+<li>Evas_Point
+: <a class="el" href="Evas_8h.html#adc20c4d74f28a08de32455f97946e6bd">Evas.h</a>
+</li>
+<li>evas_pointer_button_down_mask_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580">Evas.h</a>
+</li>
+<li>evas_pointer_canvas_xy_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#ga2f7bf87c9b1268e68c85d4bb8b9e4b15">Evas.h</a>
+</li>
+<li>evas_pointer_inside_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a">Evas.h</a>
+</li>
+<li>evas_pointer_output_xy_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98">Evas.h</a>
+</li>
+<li>Evas_Position
+: <a class="el" href="Evas_8h.html#a1fedb06548c63e95cdef58ae2578e494">Evas.h</a>
+</li>
+<li>evas_post_event_callback_push()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a">Evas.h</a>
+</li>
+<li>evas_post_event_callback_remove()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516">Evas.h</a>
+</li>
+<li>evas_post_event_callback_remove_full()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9">Evas.h</a>
+</li>
+<li>Evas_Precision_Position
+: <a class="el" href="Evas_8h.html#ae62b68e728184674ee011ec19c48fa25">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x72.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x72.html
new file mode 100644 (file)
index 0000000..f4a24d1
--- /dev/null
@@ -0,0 +1,186 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li class="current"><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>_Evas_Render_Op
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">Evas.h</a>
+</li>
+<li>evas_render()
+: <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">Evas.h</a>
+</li>
+<li>EVAS_RENDER_ADD
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926">Evas.h</a>
+</li>
+<li>EVAS_RENDER_ADD_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc">Evas.h</a>
+</li>
+<li>EVAS_RENDER_BLEND
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e">Evas.h</a>
+</li>
+<li>EVAS_RENDER_BLEND_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7">Evas.h</a>
+</li>
+<li>EVAS_RENDER_COPY
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd">Evas.h</a>
+</li>
+<li>EVAS_RENDER_COPY_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea">Evas.h</a>
+</li>
+<li>evas_render_idle_flush()
+: <a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">Evas.h</a>
+</li>
+<li>EVAS_RENDER_MASK
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f">Evas.h</a>
+</li>
+<li>evas_render_method_list()
+: <a class="el" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285">Evas.h</a>
+</li>
+<li>evas_render_method_list_free()
+: <a class="el" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693">Evas.h</a>
+</li>
+<li>evas_render_method_lookup()
+: <a class="el" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b">Evas.h</a>
+</li>
+<li>EVAS_RENDER_MUL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294">Evas.h</a>
+</li>
+<li>Evas_Render_Op
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas.h</a>
+</li>
+<li>EVAS_RENDER_SUB
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27">Evas.h</a>
+</li>
+<li>EVAS_RENDER_SUB_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c">Evas.h</a>
+</li>
+<li>EVAS_RENDER_TINT
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9">Evas.h</a>
+</li>
+<li>EVAS_RENDER_TINT_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6">Evas.h</a>
+</li>
+<li>evas_render_updates()
+: <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca">Evas.h</a>
+</li>
+<li>evas_render_updates_free()
+: <a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x73.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x73.html
new file mode 100644 (file)
index 0000000..82aaebc
--- /dev/null
@@ -0,0 +1,186 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li class="current"><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>evas_shutdown()
+: <a class="el" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed">Evas.h</a>
+</li>
+<li>Evas_Smart
+: <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas.h</a>
+</li>
+<li>Evas_Smart_Cb_Description
+: <a class="el" href="group__Evas__Smart__Group.html#ga0ad0e7d482d7660e756e275d355e3634">Evas.h</a>
+</li>
+<li>Evas_Smart_Class
+: <a class="el" href="group__Evas__Smart__Group.html#gaea15f67e901bf5380cdb67dc1bb43391">Evas.h</a>
+</li>
+<li>evas_smart_class_get()
+: <a class="el" href="group__Evas__Smart__Group.html#gac41799a0e334d515fa8e07313b88c611">Evas.h</a>
+</li>
+<li>evas_smart_class_inherit
+: <a class="el" href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+: <a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+: <a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NULL
+: <a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562">Evas.h</a>
+</li>
+<li>evas_smart_class_new()
+: <a class="el" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">Evas.h</a>
+</li>
+<li>EVAS_SMART_DATA_ALLOC
+: <a class="el" href="group__Evas__Smart__Group.html#ga4aa4b72aafa0391144fb0171aeff2ccd">Evas.h</a>
+</li>
+<li>evas_smart_data_get()
+: <a class="el" href="group__Evas__Smart__Group.html#gaa88f3f98a71031573b8dfc4bfeac2f64">Evas.h</a>
+</li>
+<li>evas_smart_free()
+: <a class="el" href="group__Evas__Smart__Group.html#ga3501ae449533ae15eee9cbf65811cad2">Evas.h</a>
+</li>
+<li>evas_smart_objects_calculate()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaa30fa648297b723a73f28632d1dbec62">Evas.h</a>
+</li>
+<li>EVAS_SMART_SUBCLASS_NEW
+: <a class="el" href="group__Evas__Smart__Group.html#ga58dc94af6f064b39b2bf0155908fbe52">Evas.h</a>
+</li>
+<li>evas_string_char_len_get()
+: <a class="el" href="group__Evas__Utils.html#gaf9edd726590b1f56ca3e566ba1a2dbb2">Evas.h</a>
+</li>
+<li>evas_string_char_next_get()
+: <a class="el" href="group__Evas__Utils.html#ga31161605cf449d16e0ea0183509a1e3b">Evas.h</a>
+</li>
+<li>evas_string_char_prev_get()
+: <a class="el" href="group__Evas__Utils.html#ga20119def41aa1f24aea7961b3fa0fd72">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x74.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_0x74.html
new file mode 100644 (file)
index 0000000..edf09bf
--- /dev/null
@@ -0,0 +1,273 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li class="current"><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>EVAS_TEXT_INVALID
+: <a class="el" href="Evas_8h.html#ad143a67f2f6f649135d84f8a55a6766a">Evas.h</a>
+</li>
+<li>EVAS_TEXT_SPECIAL
+: <a class="el" href="Evas_8h.html#a895e0e75635b4de42f815d3281fd81be">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_coord_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_delete()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf9cd7ffa37008c0d6f61413703a0670e">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga47950e666e252bbf0ad9d46b59e74269">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_content_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_eol_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_is_visible_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_item_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaedae64aa95805f0c3480cf6001297ae9">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_free()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_is_format()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_char_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6da9c7bff6073756a619f9b8a00d0e0b">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_char_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_coord_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaa49a0235809d49fb5f988253050dd101">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_char_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_char_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_text_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_text_length_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga57b2e7d853306c435946e0db83080db5">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pen_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pos_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga7f74459b59870c258bd312ff114778bc">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pos_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gacde95e638bba6858b73f316afe2cfef0">Evas.h</a>
+</li>
+<li>evas_textblock_escape_string_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac165d57003e552fa6739158dc2ed73f5">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_first_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga56e9057e5845fe785710ba6c5d07ab3e">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_last_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga091521044b95190c75c57ca1661bcc83">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_next_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga341e85b5bb0c9b2c82db4eb5a2432a9d">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_prev_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8566bfff8ca71cc89cf704c9a082780c">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_text_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8">Evas.h</a>
+</li>
+<li>evas_textblock_string_escape_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga70b3680a8691c70bab39bd1c127424a5">Evas.h</a>
+</li>
+<li>evas_textblock_style_free()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f">Evas.h</a>
+</li>
+<li>evas_textblock_style_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae106e0cfb957f1916eb3833c1214394c">Evas.h</a>
+</li>
+<li>evas_textblock_style_new()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga00cc8baec308c583ac801811dd381d4c">Evas.h</a>
+</li>
+<li>evas_textblock_style_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_PAD
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_REFLECT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_REPEAT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT_REFLECT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT_REPEAT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_defs.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_defs.html
new file mode 100644 (file)
index 0000000..bb4075d
--- /dev/null
@@ -0,0 +1,175 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;<ul>
+<li>EVAS_COLOR_SPACE_AHSV
+: <a class="el" href="Evas_8h.html#a94722d391c46d7c062e13447d9877e71">Evas.h</a>
+</li>
+<li>EVAS_COLOR_SPACE_ARGB
+: <a class="el" href="Evas_8h.html#a37fdd5a69b7ea8e46140ef147aef8192">Evas.h</a>
+</li>
+<li>EVAS_HINT_EXPAND
+: <a class="el" href="Evas_8h.html#aa47c85083d3dae0111c21ec49359306a">Evas.h</a>
+</li>
+<li>EVAS_HINT_FILL
+: <a class="el" href="Evas_8h.html#aecbac710f36d52911fc34dcdaf8e729c">Evas.h</a>
+</li>
+<li>EVAS_LAYER_MAX
+: <a class="el" href="Evas_8h.html#a1456f5c97f03ebd786c49d4d1178e7a0">Evas.h</a>
+</li>
+<li>EVAS_LAYER_MIN
+: <a class="el" href="Evas_8h.html#a8817f2ac4e0058d43f9bfe1e563e551b">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT
+: <a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+: <a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_NULL
+: <a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_VERSION
+: <a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1">Evas.h</a>
+</li>
+<li>evas_object_size_hint_expand_get
+: <a class="el" href="Evas_8h.html#a71adf20af9358d9d26b7c88b61d1fc8d">Evas.h</a>
+</li>
+<li>evas_object_size_hint_expand_set
+: <a class="el" href="Evas_8h.html#ab239e77a0e38a5a756acbb0604055ecf">Evas.h</a>
+</li>
+<li>evas_object_size_hint_fill_get
+: <a class="el" href="Evas_8h.html#ac787ce1277b96bed04ff2b08449907c9">Evas.h</a>
+</li>
+<li>evas_object_size_hint_fill_set
+: <a class="el" href="Evas_8h.html#a1b148ef14ae2eb1fbde17179b66a0503">Evas.h</a>
+</li>
+<li>evas_smart_class_inherit
+: <a class="el" href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+: <a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+: <a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NULL
+: <a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">Evas.h</a>
+</li>
+<li>EVAS_SMART_DATA_ALLOC
+: <a class="el" href="group__Evas__Smart__Group.html#ga4aa4b72aafa0391144fb0171aeff2ccd">Evas.h</a>
+</li>
+<li>EVAS_SMART_SUBCLASS_NEW
+: <a class="el" href="group__Evas__Smart__Group.html#ga58dc94af6f064b39b2bf0155908fbe52">Evas.h</a>
+</li>
+<li>EVAS_TEXT_INVALID
+: <a class="el" href="Evas_8h.html#ad143a67f2f6f649135d84f8a55a6766a">Evas.h</a>
+</li>
+<li>EVAS_TEXT_SPECIAL
+: <a class="el" href="Evas_8h.html#a895e0e75635b4de42f815d3281fd81be">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_enum.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_enum.html
new file mode 100644 (file)
index 0000000..bc821d3
--- /dev/null
@@ -0,0 +1,136 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;<ul>
+<li>_Evas_Alloc_Error
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cb">Evas.h</a>
+</li>
+<li>_Evas_Button_Flags
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">Evas.h</a>
+</li>
+<li>_Evas_Callback_Type
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">Evas.h</a>
+</li>
+<li>_Evas_Colorspace
+: <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">Evas.h</a>
+</li>
+<li>_Evas_Event_Flags
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">Evas.h</a>
+</li>
+<li>_Evas_Fill_Spread
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738">Evas.h</a>
+</li>
+<li>_Evas_Font_Hinting_Flags
+: <a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">Evas.h</a>
+</li>
+<li>_Evas_Load_Error
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5f">Evas.h</a>
+</li>
+<li>_Evas_Object_Pointer_Mode
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">Evas.h</a>
+</li>
+<li>_Evas_Object_Table_Homogeneous_Mode
+: <a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">Evas.h</a>
+</li>
+<li>_Evas_Pixel_Import_Pixel_Format
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">Evas.h</a>
+</li>
+<li>_Evas_Render_Op
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_eval.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_eval.html
new file mode 100644 (file)
index 0000000..4003036
--- /dev/null
@@ -0,0 +1,383 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>EVAS_ALLOC_ERROR_FATAL
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e">Evas.h</a>
+</li>
+<li>EVAS_ALLOC_ERROR_NONE
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8">Evas.h</a>
+</li>
+<li>EVAS_ALLOC_ERROR_RECOVERED
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>EVAS_BUTTON_DOUBLE_CLICK
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d">Evas.h</a>
+</li>
+<li>EVAS_BUTTON_NONE
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd">Evas.h</a>
+</li>
+<li>EVAS_BUTTON_TRIPLE_CLICK
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>EVAS_CALLBACK_CANVAS_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CHANGED_SIZE_HINTS
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_DEL
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FREE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_HIDE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_HOLD
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_IMAGE_PRELOADED
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_IMAGE_UNLOADED
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_KEY_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_KEY_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_LAST
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_WHEEL
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RENDER_FLUSH_POST
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RENDER_FLUSH_PRE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RESIZE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RESTACK
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_SHOW
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_ARGB8888
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_GRY8
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_RGB565_A5P
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_YCBCR422P601_PL
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_YCBCR422P709_PL
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>EVAS_EVENT_FLAG_NONE
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf">Evas.h</a>
+</li>
+<li>EVAS_EVENT_FLAG_ON_HOLD
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83">Evas.h</a>
+</li>
+<li>EVAS_EVENT_FLAG_ON_SCROLL
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>EVAS_FONT_HINTING_AUTO
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440">Evas.h</a>
+</li>
+<li>EVAS_FONT_HINTING_BYTECODE
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e">Evas.h</a>
+</li>
+<li>EVAS_FONT_HINTING_NONE
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>EVAS_LOAD_ERROR_CORRUPT_FILE
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_DOES_NOT_EXIST
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_GENERIC
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_NONE
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_PERMISSION_DENIED
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_UNKNOWN_FORMAT
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>EVAS_OBJECT_POINTER_MODE_AUTOGRAB
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>EVAS_PIXEL_FORMAT_ARGB32
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a">Evas.h</a>
+</li>
+<li>EVAS_PIXEL_FORMAT_NONE
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2">Evas.h</a>
+</li>
+<li>EVAS_PIXEL_FORMAT_YUV420P_601
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>EVAS_RENDER_ADD
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926">Evas.h</a>
+</li>
+<li>EVAS_RENDER_ADD_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc">Evas.h</a>
+</li>
+<li>EVAS_RENDER_BLEND
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e">Evas.h</a>
+</li>
+<li>EVAS_RENDER_BLEND_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7">Evas.h</a>
+</li>
+<li>EVAS_RENDER_COPY
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd">Evas.h</a>
+</li>
+<li>EVAS_RENDER_COPY_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea">Evas.h</a>
+</li>
+<li>EVAS_RENDER_MASK
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f">Evas.h</a>
+</li>
+<li>EVAS_RENDER_MUL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294">Evas.h</a>
+</li>
+<li>EVAS_RENDER_SUB
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27">Evas.h</a>
+</li>
+<li>EVAS_RENDER_SUB_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c">Evas.h</a>
+</li>
+<li>EVAS_RENDER_TINT
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9">Evas.h</a>
+</li>
+<li>EVAS_RENDER_TINT_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>EVAS_TEXTURE_PAD
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_REFLECT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_REPEAT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT_REFLECT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT_REPEAT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func.html
new file mode 100644 (file)
index 0000000..c5ba358
--- /dev/null
@@ -0,0 +1,130 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li class="current"><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>evas_alloc_error()
+: <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9">Evas.h</a>
+</li>
+<li>evas_async_events_fd_get()
+: <a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd">Evas.h</a>
+</li>
+<li>evas_async_events_process()
+: <a class="el" href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x63.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x63.html
new file mode 100644 (file)
index 0000000..10db45a
--- /dev/null
@@ -0,0 +1,163 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li class="current"><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>evas_color_argb_premul()
+: <a class="el" href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa">Evas.h</a>
+</li>
+<li>evas_color_argb_unpremul()
+: <a class="el" href="group__Evas__Utils.html#ga520b64aa41b81e13bf7fc9f16fd2f3e5">Evas.h</a>
+</li>
+<li>evas_color_hsv_to_rgb()
+: <a class="el" href="group__Evas__Utils.html#ga2a28c2e6ecdc72189040ae3f5bd829d0">Evas.h</a>
+</li>
+<li>evas_color_rgb_to_hsv()
+: <a class="el" href="group__Evas__Utils.html#ga4054acb14873d5923306ddde5537171d">Evas.h</a>
+</li>
+<li>evas_coord_screen_x_to_world()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051">Evas.h</a>
+</li>
+<li>evas_coord_screen_y_to_world()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2">Evas.h</a>
+</li>
+<li>evas_coord_world_x_to_screen()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9">Evas.h</a>
+</li>
+<li>evas_coord_world_y_to_screen()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8">Evas.h</a>
+</li>
+<li>evas_cserve_config_get()
+: <a class="el" href="group__Evas__Cserve.html#ga9bb7fbd93f4bc9310707549ff9427b47">Evas.h</a>
+</li>
+<li>evas_cserve_config_set()
+: <a class="el" href="group__Evas__Cserve.html#ga10c38a7bfb59423c2a96447b42c2aa15">Evas.h</a>
+</li>
+<li>evas_cserve_connected_get()
+: <a class="el" href="group__Evas__Cserve.html#gab88ee4c01dbdf01fea4d8acf4a07b25f">Evas.h</a>
+</li>
+<li>evas_cserve_disconnect()
+: <a class="el" href="group__Evas__Cserve.html#ga3129abb4410e7d6967072f14ac327daf">Evas.h</a>
+</li>
+<li>evas_cserve_stats_get()
+: <a class="el" href="group__Evas__Cserve.html#ga82fec634eb97f664e9cb3ed08358b1a2">Evas.h</a>
+</li>
+<li>evas_cserve_want_get()
+: <a class="el" href="group__Evas__Cserve.html#gab039ccd04ab2e8857a0df629b4ac0901">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x64.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x64.html
new file mode 100644 (file)
index 0000000..09c456a
--- /dev/null
@@ -0,0 +1,136 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li class="current"><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>evas_damage_rectangle_add()
+: <a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">Evas.h</a>
+</li>
+<li>evas_data_argb_premul()
+: <a class="el" href="group__Evas__Utils.html#gad61423a02fa7c3cb0293c3bdd5516216">Evas.h</a>
+</li>
+<li>evas_data_argb_unpremul()
+: <a class="el" href="group__Evas__Utils.html#ga6794135ce6545bd5e16f6563043a8f18">Evas.h</a>
+</li>
+<li>evas_data_attach_get()
+: <a class="el" href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc">Evas.h</a>
+</li>
+<li>evas_data_attach_set()
+: <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x65.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x65.html
new file mode 100644 (file)
index 0000000..6b35917
--- /dev/null
@@ -0,0 +1,166 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li class="current"><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>evas_engine_info_get()
+: <a class="el" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713">Evas.h</a>
+</li>
+<li>evas_engine_info_set()
+: <a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">Evas.h</a>
+</li>
+<li>evas_event_feed_hold()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gaedc3a956cd753acdd2a58ad0d2865d04">Evas.h</a>
+</li>
+<li>evas_event_feed_key_down()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga096e2ef05bfa471d2773729bd24732a0">Evas.h</a>
+</li>
+<li>evas_event_feed_key_up()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gaebe7d4f8b6423aff1ffe67c724d4590d">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_cancel()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_down()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_in()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_move()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_out()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_up()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_wheel()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga393156722bbe1ce384f0ab33ab76a1f2">Evas.h</a>
+</li>
+<li>evas_event_freeze()
+: <a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e">Evas.h</a>
+</li>
+<li>evas_event_freeze_get()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64">Evas.h</a>
+</li>
+<li>evas_event_thaw()
+: <a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x66.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x66.html
new file mode 100644 (file)
index 0000000..9c9089c
--- /dev/null
@@ -0,0 +1,166 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li class="current"><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>evas_focus_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5">Evas.h</a>
+</li>
+<li>evas_focus_in()
+: <a class="el" href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb">Evas.h</a>
+</li>
+<li>evas_focus_out()
+: <a class="el" href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff">Evas.h</a>
+</li>
+<li>evas_focus_state_get()
+: <a class="el" href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8">Evas.h</a>
+</li>
+<li>evas_font_available_list()
+: <a class="el" href="group__Evas__Font__Group.html#ga9d51a2efecf89a81a2990db252f3dc6c">Evas.h</a>
+</li>
+<li>evas_font_available_list_free()
+: <a class="el" href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467">Evas.h</a>
+</li>
+<li>evas_font_cache_flush()
+: <a class="el" href="group__Evas__Font__Group.html#gad75ac8ed0c921e774f1c519a66f05a2f">Evas.h</a>
+</li>
+<li>evas_font_cache_get()
+: <a class="el" href="group__Evas__Font__Group.html#ga9cf39aae3074cac05c4aafa3ff24c32f">Evas.h</a>
+</li>
+<li>evas_font_cache_set()
+: <a class="el" href="group__Evas__Font__Group.html#ga5582cfcdb08f6253225bb8cede49033a">Evas.h</a>
+</li>
+<li>evas_font_hinting_can_hint()
+: <a class="el" href="group__Evas__Font__Group.html#gaa4210fa6661330e67ec4c9cbde775b4b">Evas.h</a>
+</li>
+<li>evas_font_hinting_get()
+: <a class="el" href="group__Evas__Font__Group.html#gafe785a87743b72d8064f0562fd79cc75">Evas.h</a>
+</li>
+<li>evas_font_hinting_set()
+: <a class="el" href="group__Evas__Font__Group.html#gaf39062952fc420ff32fbacfb8c27bd7d">Evas.h</a>
+</li>
+<li>evas_font_path_clear()
+: <a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">Evas.h</a>
+</li>
+<li>evas_font_path_list()
+: <a class="el" href="group__Evas__Font__Path__Group.html#ga06fc80b3e4c27237a571404fc6aa3aeb">Evas.h</a>
+</li>
+<li>evas_free()
+: <a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x69.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x69.html
new file mode 100644 (file)
index 0000000..44a1bae
--- /dev/null
@@ -0,0 +1,136 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li class="current"><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>evas_image_cache_flush()
+: <a class="el" href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214">Evas.h</a>
+</li>
+<li>evas_image_cache_get()
+: <a class="el" href="group__Evas__Image__Group.html#gad7ee7f4627d198c0de0ff197fe2f9ed0">Evas.h</a>
+</li>
+<li>evas_image_cache_reload()
+: <a class="el" href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981">Evas.h</a>
+</li>
+<li>evas_image_cache_set()
+: <a class="el" href="group__Evas__Image__Group.html#gab28271aad78206e5ee9bed62e0decfa7">Evas.h</a>
+</li>
+<li>evas_init()
+: <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6b.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6b.html
new file mode 100644 (file)
index 0000000..acbd6b3
--- /dev/null
@@ -0,0 +1,127 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li class="current"><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>evas_key_lock_get()
+: <a class="el" href="Evas_8h.html#aa8af6d3610b4e937e79e761c8c4c7819">Evas.h</a>
+</li>
+<li>evas_key_modifier_get()
+: <a class="el" href="Evas_8h.html#a5c233a1e9eea970c1db0de87ff343e77">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6c.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6c.html
new file mode 100644 (file)
index 0000000..249b01a
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li class="current"><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>evas_load_error_str()
+: <a class="el" href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6d.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6d.html
new file mode 100644 (file)
index 0000000..46638fb
--- /dev/null
@@ -0,0 +1,193 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li class="current"><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>evas_map_alpha_get()
+: <a class="el" href="Evas_8h.html#ae7de42394f26fa1e5bfc315f7d114ac3">Evas.h</a>
+</li>
+<li>evas_map_alpha_set()
+: <a class="el" href="Evas_8h.html#ae1cbf087e2182e01d07979975baa9065">Evas.h</a>
+</li>
+<li>evas_map_count_get()
+: <a class="el" href="Evas_8h.html#acb6da0be6c78ebf89a5b25d9a0fa44fa">Evas.h</a>
+</li>
+<li>evas_map_dup()
+: <a class="el" href="Evas_8h.html#a25ffe0dd36fed0c9c492d636b163390a">Evas.h</a>
+</li>
+<li>evas_map_free()
+: <a class="el" href="Evas_8h.html#a78ecdf799f326e1c17aae6770c06058a">Evas.h</a>
+</li>
+<li>evas_map_new()
+: <a class="el" href="Evas_8h.html#a719acc4f4792236f7031664ec450b399">Evas.h</a>
+</li>
+<li>evas_map_point_color_get()
+: <a class="el" href="Evas_8h.html#a40ae28dc015c5dad8a09ce5c6d764422">Evas.h</a>
+</li>
+<li>evas_map_point_color_set()
+: <a class="el" href="Evas_8h.html#ae569741d778974e2825dc05cc3e68f9f">Evas.h</a>
+</li>
+<li>evas_map_point_coord_get()
+: <a class="el" href="Evas_8h.html#ab8640a9b915b7c6f33f96782bb23e939">Evas.h</a>
+</li>
+<li>evas_map_point_coord_set()
+: <a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7">Evas.h</a>
+</li>
+<li>evas_map_point_image_uv_get()
+: <a class="el" href="Evas_8h.html#ab993d154039532e6105d2c1ea23133fc">Evas.h</a>
+</li>
+<li>evas_map_point_image_uv_set()
+: <a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a">Evas.h</a>
+</li>
+<li>evas_map_smooth_get()
+: <a class="el" href="Evas_8h.html#ac7693cff90eddde9f1cd5fd99d6df695">Evas.h</a>
+</li>
+<li>evas_map_smooth_set()
+: <a class="el" href="Evas_8h.html#ae851a2ebf0c272cf0bcb97168b625d23">Evas.h</a>
+</li>
+<li>evas_map_util_3d_lighting()
+: <a class="el" href="Evas_8h.html#a4dd3a3cf9091afaa87bc042b12a5685d">Evas.h</a>
+</li>
+<li>evas_map_util_3d_perspective()
+: <a class="el" href="Evas_8h.html#a14c467420d169d666865cdb31746728d">Evas.h</a>
+</li>
+<li>evas_map_util_3d_rotate()
+: <a class="el" href="Evas_8h.html#a4118dedc011bd94a35d03251c7bef5ed">Evas.h</a>
+</li>
+<li>evas_map_util_clockwise_get()
+: <a class="el" href="Evas_8h.html#a4e7cd972cac5507838c9827ef04b2607">Evas.h</a>
+</li>
+<li>evas_map_util_points_color_set()
+: <a class="el" href="Evas_8h.html#a1ea4919339773a113dece07f1335d6ac">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_geometry()
+: <a class="el" href="Evas_8h.html#adb28b64c445931d92eeeab2c3fb52286">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_object()
+: <a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_object_full()
+: <a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6">Evas.h</a>
+</li>
+<li>evas_map_util_rotate()
+: <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080">Evas.h</a>
+</li>
+<li>evas_map_util_zoom()
+: <a class="el" href="Evas_8h.html#a986dd1010c757910b4520527f229d3b5">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6e.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6e.html
new file mode 100644 (file)
index 0000000..70ef9d2
--- /dev/null
@@ -0,0 +1,133 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li class="current"><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>evas_new()
+: <a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87">Evas.h</a>
+</li>
+<li>evas_nochange_pop()
+: <a class="el" href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac">Evas.h</a>
+</li>
+<li>evas_nochange_push()
+: <a class="el" href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe">Evas.h</a>
+</li>
+<li>evas_norender()
+: <a class="el" href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6f.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x6f.html
new file mode 100644 (file)
index 0000000..7647d55
--- /dev/null
@@ -0,0 +1,805 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li class="current"><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>evas_object_above_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gab78867a46ecc2e35ac90bf40bae1689f">Evas.h</a>
+</li>
+<li>evas_object_anti_alias_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga3308cb65716beb4ce826b9701e23159a">Evas.h</a>
+</li>
+<li>evas_object_anti_alias_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaf0c7d4c49695749fa616d0abdbd5ddeb">Evas.h</a>
+</li>
+<li>evas_object_below_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaff15b0dacac065bc84e6124c0c4920c5">Evas.h</a>
+</li>
+<li>evas_object_bottom_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga3e06dcd04da8cd9d64e106f7ede8db9e">Evas.h</a>
+</li>
+<li>evas_object_box_accessor_new()
+: <a class="el" href="group__Evas__Object__Box.html#gad5c5837393bd163f6cde72bde073333b">Evas.h</a>
+</li>
+<li>evas_object_box_add()
+: <a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">Evas.h</a>
+</li>
+<li>evas_object_box_add_to()
+: <a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">Evas.h</a>
+</li>
+<li>evas_object_box_align_get()
+: <a class="el" href="group__Evas__Object__Box.html#gad87e3a868b14d1a28da7511f95b59673">Evas.h</a>
+</li>
+<li>evas_object_box_align_set()
+: <a class="el" href="group__Evas__Object__Box.html#gae66fe763591e62621cf6352528d97e10">Evas.h</a>
+</li>
+<li>evas_object_box_children_get()
+: <a class="el" href="group__Evas__Object__Box.html#ga542294a74645829cd5531a8ddec32d9c">Evas.h</a>
+</li>
+<li>evas_object_box_iterator_new()
+: <a class="el" href="group__Evas__Object__Box.html#ga2a3ceff4f02512fa7f85618252eacbdc">Evas.h</a>
+</li>
+<li>evas_object_box_option_property_name_get()
+: <a class="el" href="group__Evas__Object__Box.html#gad6b908faeca8fb7e16c002509a86ffab">Evas.h</a>
+</li>
+<li>evas_object_box_padding_get()
+: <a class="el" href="group__Evas__Object__Box.html#gab24383f3b29c8bc78c98cd0b0f16902d">Evas.h</a>
+</li>
+<li>evas_object_box_padding_set()
+: <a class="el" href="group__Evas__Object__Box.html#ga75ab3d2f84c328010c26a6b8d89c9c67">Evas.h</a>
+</li>
+<li>evas_object_box_remove_all()
+: <a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">Evas.h</a>
+</li>
+<li>evas_object_box_remove_at()
+: <a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">Evas.h</a>
+</li>
+<li>evas_object_box_smart_class_get()
+: <a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">Evas.h</a>
+</li>
+<li>evas_object_box_smart_set()
+: <a class="el" href="group__Evas__Object__Box.html#ga19c407e45de527d9400823fb1c85d0fe">Evas.h</a>
+</li>
+<li>evas_object_clip_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a">Evas.h</a>
+</li>
+<li>evas_object_clip_unset()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">Evas.h</a>
+</li>
+<li>evas_object_clipees_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887">Evas.h</a>
+</li>
+<li>evas_object_color_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga3856f8b88d158ffa9783b44340ef343d">Evas.h</a>
+</li>
+<li>evas_object_color_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f">Evas.h</a>
+</li>
+<li>evas_object_del()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">Evas.h</a>
+</li>
+<li>evas_object_evas_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">Evas.h</a>
+</li>
+<li>evas_object_focus_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654">Evas.h</a>
+</li>
+<li>evas_object_focus_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">Evas.h</a>
+</li>
+<li>evas_object_geometry_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">Evas.h</a>
+</li>
+<li>evas_object_hide()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">Evas.h</a>
+</li>
+<li>evas_object_image_add()
+: <a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_get()
+: <a class="el" href="group__Evas__Object__Image.html#gac136f7f65d8529427b1f6da055b47a30">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_mask_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga154d8315842f4602878704951705e6cb">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_set()
+: <a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">Evas.h</a>
+</li>
+<li>evas_object_image_border_center_fill_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga04f8a4f69c5ad37d9229e4c39bb7c010">Evas.h</a>
+</li>
+<li>evas_object_image_border_center_fill_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga4caf736585ad602e6748e434ac1f5fc6">Evas.h</a>
+</li>
+<li>evas_object_image_border_get()
+: <a class="el" href="group__Evas__Object__Image.html#gab666a37cbae8ee846cdeb518e7fd495c">Evas.h</a>
+</li>
+<li>evas_object_image_border_scale_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga7cc1bf948a8a5d61c703211f0bd5d2dc">Evas.h</a>
+</li>
+<li>evas_object_image_border_scale_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0">Evas.h</a>
+</li>
+<li>evas_object_image_border_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d">Evas.h</a>
+</li>
+<li>evas_object_image_colorspace_get()
+: <a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42">Evas.h</a>
+</li>
+<li>evas_object_image_colorspace_set()
+: <a class="el" href="group__Evas__Object__Image.html#gac352f7b110d7e527bf2d36fba5507d0c">Evas.h</a>
+</li>
+<li>evas_object_image_content_hint_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga28881040682dbbf00937948124e9f3fb">Evas.h</a>
+</li>
+<li>evas_object_image_content_hint_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaf6cc0faf39773e12eb496116afd67c6f">Evas.h</a>
+</li>
+<li>evas_object_image_data_convert()
+: <a class="el" href="group__Evas__Object__Image.html#ga3072cf7c31cf33057abd8ae8876218cd">Evas.h</a>
+</li>
+<li>evas_object_image_data_copy_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga97d17b8d95f0ca01a264a6c303d00c27">Evas.h</a>
+</li>
+<li>evas_object_image_data_get()
+: <a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2">Evas.h</a>
+</li>
+<li>evas_object_image_data_set()
+: <a class="el" href="group__Evas__Object__Image.html#gabdd65e4c69f422ddcf0d3c8720859a92">Evas.h</a>
+</li>
+<li>evas_object_image_data_update_add()
+: <a class="el" href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165">Evas.h</a>
+</li>
+<li>evas_object_image_file_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">Evas.h</a>
+</li>
+<li>evas_object_image_fill_get()
+: <a class="el" href="group__Evas__Object__Image.html#gaf1a7d6b8cf914234abdd5d3d3312f85e">Evas.h</a>
+</li>
+<li>evas_object_image_fill_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">Evas.h</a>
+</li>
+<li>evas_object_image_fill_spread_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae86928005f983627c74dbaef6c0fbb0e">Evas.h</a>
+</li>
+<li>evas_object_image_fill_spread_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881">Evas.h</a>
+</li>
+<li>evas_object_image_filled_add()
+: <a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">Evas.h</a>
+</li>
+<li>evas_object_image_filled_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga3fbe9f33ccc93a5c45ffa3b26019694e">Evas.h</a>
+</li>
+<li>evas_object_image_filled_set()
+: <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">Evas.h</a>
+</li>
+<li>evas_object_image_load_dpi_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga92a5503085a5c0731bb9c299e7b42f78">Evas.h</a>
+</li>
+<li>evas_object_image_load_dpi_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga88a20331cef0267ddc1d00419841580b">Evas.h</a>
+</li>
+<li>evas_object_image_load_error_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga46e4a0b2b916d28694ad054549f88e24">Evas.h</a>
+</li>
+<li>evas_object_image_load_scale_down_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga259c48b3e2a4009e8a10f8e9874d3847">Evas.h</a>
+</li>
+<li>evas_object_image_load_scale_down_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga59796713b88c217ce5869cb003e404c0">Evas.h</a>
+</li>
+<li>evas_object_image_load_size_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae8047183e894e1e1245f1f3aaf78f218">Evas.h</a>
+</li>
+<li>evas_object_image_load_size_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga1811fb73c1e138b5221cf4b25148111a">Evas.h</a>
+</li>
+<li>evas_object_image_native_surface_get()
+: <a class="el" href="group__Evas__Object__Image.html#gabd3effabde6da00dfcac7cf0cfa22280">Evas.h</a>
+</li>
+<li>evas_object_image_pixels_dirty_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga1d9e82da12f7831552fca02b9b313551">Evas.h</a>
+</li>
+<li>evas_object_image_pixels_dirty_set()
+: <a class="el" href="group__Evas__Object__Image.html#gad230eeeb0c6ba49eafd32b20afa314cb">Evas.h</a>
+</li>
+<li>evas_object_image_preload()
+: <a class="el" href="group__Evas__Object__Image.html#gad6383022c4013008d11827b32bf63d59">Evas.h</a>
+</li>
+<li>evas_object_image_reload()
+: <a class="el" href="group__Evas__Object__Image.html#ga764bec190c0812f61f5a18f38c9c6a4e">Evas.h</a>
+</li>
+<li>evas_object_image_scale_hint_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga8cce0086819196768915e5f2c2ed0cb2">Evas.h</a>
+</li>
+<li>evas_object_image_scale_hint_set()
+: <a class="el" href="group__Evas__Object__Image.html#gad13d32b74c2cd82c95b85fa9640ae529">Evas.h</a>
+</li>
+<li>evas_object_image_size_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga43e6f1b16ebe859826e6901cb36995ad">Evas.h</a>
+</li>
+<li>evas_object_image_size_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22">Evas.h</a>
+</li>
+<li>evas_object_image_smooth_scale_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae4acc1da719cb38122b92527df24388c">Evas.h</a>
+</li>
+<li>evas_object_image_smooth_scale_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510">Evas.h</a>
+</li>
+<li>evas_object_image_source_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga95a96ced932d6e7e17ee019654d9d901">Evas.h</a>
+</li>
+<li>evas_object_image_source_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">Evas.h</a>
+</li>
+<li>evas_object_image_source_unset()
+: <a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">Evas.h</a>
+</li>
+<li>evas_object_image_stride_get()
+: <a class="el" href="group__Evas__Object__Image.html#gab72175381532640c620dd032e56c590b">Evas.h</a>
+</li>
+<li>evas_object_layer_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga13cb52d23911b6c701dbb5f1ee3f65f4">Evas.h</a>
+</li>
+<li>evas_object_layer_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">Evas.h</a>
+</li>
+<li>evas_object_line_add()
+: <a class="el" href="group__Evas__Line__Group.html#ga896f1beaea24379495af4cbc5efcebfe">Evas.h</a>
+</li>
+<li>evas_object_line_xy_get()
+: <a class="el" href="group__Evas__Line__Group.html#ga3fa674863aa41d655caa103f546a9092">Evas.h</a>
+</li>
+<li>evas_object_line_xy_set()
+: <a class="el" href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174">Evas.h</a>
+</li>
+<li>evas_object_lower()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">Evas.h</a>
+</li>
+<li>evas_object_map_enable_get()
+: <a class="el" href="Evas_8h.html#a9fe49ea6c0508408d3f0c4bc6b790084">Evas.h</a>
+</li>
+<li>evas_object_map_enable_set()
+: <a class="el" href="Evas_8h.html#acee7a5f7bbb804b406405e9199d5a900">Evas.h</a>
+</li>
+<li>evas_object_map_get()
+: <a class="el" href="Evas_8h.html#aa1d3f8febc923e8225f727afc08d21f2">Evas.h</a>
+</li>
+<li>evas_object_map_set()
+: <a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca">Evas.h</a>
+</li>
+<li>evas_object_map_source_get()
+: <a class="el" href="Evas_8h.html#abb0578635393c514b1c228ebb7b2eed0">Evas.h</a>
+</li>
+<li>evas_object_map_source_set()
+: <a class="el" href="Evas_8h.html#aa0daae782c23c5624ab0fc3e4f63c8f9">Evas.h</a>
+</li>
+<li>evas_object_move()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">Evas.h</a>
+</li>
+<li>evas_object_name_find()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gad3214c89581f068934c57ac71dc6a52f">Evas.h</a>
+</li>
+<li>evas_object_name_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gac34b593d79bfd9284787ddbb43486edd">Evas.h</a>
+</li>
+<li>evas_object_name_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8">Evas.h</a>
+</li>
+<li>evas_object_pass_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0">Evas.h</a>
+</li>
+<li>evas_object_pass_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">Evas.h</a>
+</li>
+<li>evas_object_pointer_mode_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga80faa9ce3b9ab59fe7b4bf6924b293ac">Evas.h</a>
+</li>
+<li>evas_object_pointer_mode_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga5504e39f8d0cc41af3663fed15ec06e5">Evas.h</a>
+</li>
+<li>evas_object_polygon_add()
+: <a class="el" href="group__Evas__Object__Polygon.html#gab6beb5b98de57a0f47707cac90f96bc9">Evas.h</a>
+</li>
+<li>evas_object_polygon_point_add()
+: <a class="el" href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76">Evas.h</a>
+</li>
+<li>evas_object_polygon_points_clear()
+: <a class="el" href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2">Evas.h</a>
+</li>
+<li>evas_object_precise_is_inside_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga8483a3c855f466a5dca480fcfd07b52b">Evas.h</a>
+</li>
+<li>evas_object_precise_is_inside_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gac9ce9802afd7d4cba580fbcbe92c28b2">Evas.h</a>
+</li>
+<li>evas_object_propagate_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f">Evas.h</a>
+</li>
+<li>evas_object_propagate_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d">Evas.h</a>
+</li>
+<li>evas_object_raise()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">Evas.h</a>
+</li>
+<li>evas_object_rectangle_add()
+: <a class="el" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa">Evas.h</a>
+</li>
+<li>evas_object_ref()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723">Evas.h</a>
+</li>
+<li>evas_object_render_op_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaa157afa6f23cdf4b344d95531bb7d508">Evas.h</a>
+</li>
+<li>evas_object_render_op_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga86ef8d1f039bff1a60595688f93a7990">Evas.h</a>
+</li>
+<li>evas_object_repeat_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582">Evas.h</a>
+</li>
+<li>evas_object_repeat_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">Evas.h</a>
+</li>
+<li>evas_object_resize()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">Evas.h</a>
+</li>
+<li>evas_object_scale_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga1c0aca3af434f0bc0fa8732248b197ba">Evas.h</a>
+</li>
+<li>evas_object_scale_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaf010777fa1b58bd1c9c8093d2edc62e9">Evas.h</a>
+</li>
+<li>evas_object_show()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f">Evas.h</a>
+</li>
+<li>evas_object_size_hint_align_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">Evas.h</a>
+</li>
+<li>evas_object_size_hint_align_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f">Evas.h</a>
+</li>
+<li>evas_object_size_hint_aspect_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga7b31c73dcbf60cdafe6ad7ffae42a54c">Evas.h</a>
+</li>
+<li>evas_object_size_hint_aspect_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gadb36ccc851e48ae2a11a6e2cb7fcb273">Evas.h</a>
+</li>
+<li>evas_object_size_hint_max_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">Evas.h</a>
+</li>
+<li>evas_object_size_hint_max_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga2a224fd6c4fc231af281af59c5a604b2">Evas.h</a>
+</li>
+<li>evas_object_size_hint_min_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">Evas.h</a>
+</li>
+<li>evas_object_size_hint_min_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">Evas.h</a>
+</li>
+<li>evas_object_size_hint_padding_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">Evas.h</a>
+</li>
+<li>evas_object_size_hint_padding_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga0014a3016d34071d41d76785a963fcb1">Evas.h</a>
+</li>
+<li>evas_object_size_hint_request_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga6a7de6942258ab03a6e85b37f569895d">Evas.h</a>
+</li>
+<li>evas_object_size_hint_request_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gace0177af29ccbf1a60415f2c4c85c1f4">Evas.h</a>
+</li>
+<li>evas_object_size_hint_weight_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">Evas.h</a>
+</li>
+<li>evas_object_size_hint_weight_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98">Evas.h</a>
+</li>
+<li>evas_object_smart_calculate()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga8013936b96d99d2ff375ca2b0b287f39">Evas.h</a>
+</li>
+<li>evas_object_smart_callbacks_descriptions_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d">Evas.h</a>
+</li>
+<li>evas_object_smart_callbacks_descriptions_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaf724dbb075cdaf2b4b44dd883b792dc3">Evas.h</a>
+</li>
+<li>evas_object_smart_changed()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_class_get()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_clipper_get()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_smart_set()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628">Evas.h</a>
+</li>
+<li>evas_object_smart_data_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">Evas.h</a>
+</li>
+<li>evas_object_smart_data_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e">Evas.h</a>
+</li>
+<li>evas_object_smart_member_del()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">Evas.h</a>
+</li>
+<li>evas_object_smart_members_get()
+: <a class="el" href="Evas_8h.html#afa903e37a9f98f80f1d73996cf5354cc">Evas.h</a>
+</li>
+<li>evas_object_smart_move_children_relative()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">Evas.h</a>
+</li>
+<li>evas_object_smart_need_recalculate_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga38be19a4f09b071b3d984996b8f9b3ee">Evas.h</a>
+</li>
+<li>evas_object_smart_need_recalculate_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1">Evas.h</a>
+</li>
+<li>evas_object_smart_parent_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511">Evas.h</a>
+</li>
+<li>evas_object_smart_smart_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gab1423d63011d7f3679c95ea1638fa714">Evas.h</a>
+</li>
+<li>evas_object_static_clip_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gafda644be2d6e6360959853c9d6195ec8">Evas.h</a>
+</li>
+<li>evas_object_static_clip_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8">Evas.h</a>
+</li>
+<li>evas_object_table_accessor_new()
+: <a class="el" href="group__Evas__Object__Table.html#gaaa6c5242faad0906b1fbf4bbc1088543">Evas.h</a>
+</li>
+<li>evas_object_table_add()
+: <a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">Evas.h</a>
+</li>
+<li>evas_object_table_add_to()
+: <a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">Evas.h</a>
+</li>
+<li>evas_object_table_align_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga7a1ff64522920c2723675ca11d723d47">Evas.h</a>
+</li>
+<li>evas_object_table_align_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga7299bcee8de1f9304fa31fff43347a45">Evas.h</a>
+</li>
+<li>evas_object_table_child_get()
+: <a class="el" href="group__Evas__Object__Table.html#gaeb4a9d107dde8a4c7bc60d6f97b5ec46">Evas.h</a>
+</li>
+<li>evas_object_table_children_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga1afb562131cd3a74a130c374fcea0632">Evas.h</a>
+</li>
+<li>evas_object_table_clear()
+: <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">Evas.h</a>
+</li>
+<li>evas_object_table_col_row_size_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga007c88dba9eb3b326aa67a10c143f3a9">Evas.h</a>
+</li>
+<li>evas_object_table_homogeneous_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga1b96719d71cb4ca89a31eb59635df387">Evas.h</a>
+</li>
+<li>evas_object_table_homogeneous_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">Evas.h</a>
+</li>
+<li>evas_object_table_iterator_new()
+: <a class="el" href="group__Evas__Object__Table.html#ga07d18d5708745143c4b12280a7359e71">Evas.h</a>
+</li>
+<li>evas_object_table_mirrored_get()
+: <a class="el" href="group__Evas__Object__Table.html#gac008b924a1ba3b0133d0ac11b3e6af06">Evas.h</a>
+</li>
+<li>evas_object_table_mirrored_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga8f775fb97bf5da5e8a0005a89027044b">Evas.h</a>
+</li>
+<li>evas_object_table_padding_get()
+: <a class="el" href="group__Evas__Object__Table.html#gabe1af40fbd5e03068bc577e71939934a">Evas.h</a>
+</li>
+<li>evas_object_table_padding_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga6ea229f05036a9c5d30010ad40a30c66">Evas.h</a>
+</li>
+<li>evas_object_text_add()
+: <a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539">Evas.h</a>
+</li>
+<li>evas_object_text_ascent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga4aaf7a903228927fa0adac885304e43e">Evas.h</a>
+</li>
+<li>evas_object_text_char_coords_get()
+: <a class="el" href="group__Evas__Object__Text.html#gab37f85358bd7d333cd6e8c7cf62b5daa">Evas.h</a>
+</li>
+<li>evas_object_text_char_pos_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga823b09a9d05a1650e63970e329cd7b72">Evas.h</a>
+</li>
+<li>evas_object_text_descent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga71f9d96c6dfc8ec33cf0a97e614228a0">Evas.h</a>
+</li>
+<li>evas_object_text_direction_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga2fdb3ff0318cd4b45d642ae317b19589">Evas.h</a>
+</li>
+<li>evas_object_text_font_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">Evas.h</a>
+</li>
+<li>evas_object_text_font_source_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaa48bece59070032504a2c78ad8a66577">Evas.h</a>
+</li>
+<li>evas_object_text_font_source_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b">Evas.h</a>
+</li>
+<li>evas_object_text_glow2_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga264a8425d8dab176a1b15e17a528d56d">Evas.h</a>
+</li>
+<li>evas_object_text_glow2_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga7dabe4ce0120cdf0c4e60a8f7a7e3659">Evas.h</a>
+</li>
+<li>evas_object_text_glow_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga76bcc6322241875990b572f37d754266">Evas.h</a>
+</li>
+<li>evas_object_text_glow_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga74c4ea0f0befd6213f48163ee70041e6">Evas.h</a>
+</li>
+<li>evas_object_text_horiz_advance_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga972494bd4b9d807ea5f98404a82d8eab">Evas.h</a>
+</li>
+<li>evas_object_text_inset_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d">Evas.h</a>
+</li>
+<li>evas_object_text_last_up_to_pos()
+: <a class="el" href="group__Evas__Object__Text.html#ga464d40578e2fdc2ad8890556e0b97268">Evas.h</a>
+</li>
+<li>evas_object_text_max_ascent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga1a0bdf57c3ca6e7fb7833ddfbe23b735">Evas.h</a>
+</li>
+<li>evas_object_text_max_descent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga28ee3eb5e199c23a14ac47e07ac49205">Evas.h</a>
+</li>
+<li>evas_object_text_outline_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga16485a0062a397faed21fad732ad16ba">Evas.h</a>
+</li>
+<li>evas_object_text_outline_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga1c1cf05c6b31f06a4c79486d19ddaece">Evas.h</a>
+</li>
+<li>evas_object_text_shadow_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga7cf7432965327a571d413dbaeca66822">Evas.h</a>
+</li>
+<li>evas_object_text_shadow_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga58f0bb7acf2c1d24e9ae5e4a391d19bc">Evas.h</a>
+</li>
+<li>evas_object_text_style_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaf08d4a9630d23ebdbf79cc8c2c91b2c6">Evas.h</a>
+</li>
+<li>evas_object_text_style_pad_get()
+: <a class="el" href="group__Evas__Object__Text.html#gafd638ae91c10d4139e41e6245c0712e1">Evas.h</a>
+</li>
+<li>evas_object_text_style_set()
+: <a class="el" href="group__Evas__Object__Text.html#gae7896521b9861d4bd3efc04ef1e8e91e">Evas.h</a>
+</li>
+<li>evas_object_text_text_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaef3b0b12eb63b9cd7574c1cf05afb7a8">Evas.h</a>
+</li>
+<li>evas_object_text_text_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532">Evas.h</a>
+</li>
+<li>evas_object_text_vert_advance_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaec17348b4fa02b15162ef96abdbfbf41">Evas.h</a>
+</li>
+<li>evas_object_textblock_add()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac43a253bc767da912ee1818a8dfa5713">Evas.h</a>
+</li>
+<li>evas_object_textblock_clear()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad5ee9184f370f602d2005ea8091a2c29">Evas.h</a>
+</li>
+<li>evas_object_textblock_cursor_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2bbd5e4e1cc36e18790dc09fbd2a6c18">Evas.h</a>
+</li>
+<li>evas_object_textblock_cursor_new()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45">Evas.h</a>
+</li>
+<li>evas_object_textblock_line_number_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga77d99df8bcb139f2a499a0dda4c5dca1">Evas.h</a>
+</li>
+<li>evas_object_textblock_newline_mode_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga0832ab9fd2820efee68bec6d1d80e427">Evas.h</a>
+</li>
+<li>evas_object_textblock_newline_mode_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae637041b07efe438e3539bb549a915e3">Evas.h</a>
+</li>
+<li>evas_object_textblock_replace_char_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga61f6c6ea8c0ce2028424396eb2ff4a81">Evas.h</a>
+</li>
+<li>evas_object_textblock_replace_char_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gab5d3958f4d73b2d9e3cccd828816b672">Evas.h</a>
+</li>
+<li>evas_object_textblock_size_formatted_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db">Evas.h</a>
+</li>
+<li>evas_object_textblock_size_native_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga9f3164f28981c6d6188a8de202848197">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_insets_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga851cb385b547a958790a0d60d386a1d8">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0">Evas.h</a>
+</li>
+<li>evas_object_textblock_text_markup_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga0896326ca8d9ca1dd194f322d0bc87b2">Evas.h</a>
+</li>
+<li>evas_object_textblock_text_markup_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">Evas.h</a>
+</li>
+<li>evas_object_textblock_valign_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga431ec30179fc3d7bcd98f508453e41bb">Evas.h</a>
+</li>
+<li>evas_object_textblock_valign_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga5f08b5b6222ed341574ec8167a86c9a0">Evas.h</a>
+</li>
+<li>evas_object_top_at_pointer_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448">Evas.h</a>
+</li>
+<li>evas_object_top_at_xy_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54">Evas.h</a>
+</li>
+<li>evas_object_top_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga2acf1e026d576ba355ca1b1ea24e0736">Evas.h</a>
+</li>
+<li>evas_object_top_in_rectangle_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gaf072ec206768d96c6f73a590e6af39c9">Evas.h</a>
+</li>
+<li>evas_object_type_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff">Evas.h</a>
+</li>
+<li>evas_object_unref()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089">Evas.h</a>
+</li>
+<li>evas_object_visible_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga9cf743b5d87b622c84ba591494445b49">Evas.h</a>
+</li>
+<li>evas_objects_at_xy_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga473d00deb431d0869484474153e47c04">Evas.h</a>
+</li>
+<li>evas_objects_in_rectangle_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gae5d4af2f915c2efe4e5cfc22644b8c53">Evas.h</a>
+</li>
+<li>evas_obscured_clear()
+: <a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876">Evas.h</a>
+</li>
+<li>evas_obscured_rectangle_add()
+: <a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4">Evas.h</a>
+</li>
+<li>evas_output_method_get()
+: <a class="el" href="group__Evas__Output__Method.html#gac4127a10231f1851cc3443a84fb0b059">Evas.h</a>
+</li>
+<li>evas_output_method_set()
+: <a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">Evas.h</a>
+</li>
+<li>evas_output_size_get()
+: <a class="el" href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a">Evas.h</a>
+</li>
+<li>evas_output_size_set()
+: <a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">Evas.h</a>
+</li>
+<li>evas_output_viewport_get()
+: <a class="el" href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee">Evas.h</a>
+</li>
+<li>evas_output_viewport_set()
+: <a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x70.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x70.html
new file mode 100644 (file)
index 0000000..69d52cb
--- /dev/null
@@ -0,0 +1,142 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li class="current"><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>evas_pointer_button_down_mask_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580">Evas.h</a>
+</li>
+<li>evas_pointer_canvas_xy_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#ga2f7bf87c9b1268e68c85d4bb8b9e4b15">Evas.h</a>
+</li>
+<li>evas_pointer_inside_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a">Evas.h</a>
+</li>
+<li>evas_pointer_output_xy_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98">Evas.h</a>
+</li>
+<li>evas_post_event_callback_push()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a">Evas.h</a>
+</li>
+<li>evas_post_event_callback_remove()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516">Evas.h</a>
+</li>
+<li>evas_post_event_callback_remove_full()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x72.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x72.html
new file mode 100644 (file)
index 0000000..03e059f
--- /dev/null
@@ -0,0 +1,142 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li class="current"><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>evas_render()
+: <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">Evas.h</a>
+</li>
+<li>evas_render_idle_flush()
+: <a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">Evas.h</a>
+</li>
+<li>evas_render_method_list()
+: <a class="el" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285">Evas.h</a>
+</li>
+<li>evas_render_method_list_free()
+: <a class="el" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693">Evas.h</a>
+</li>
+<li>evas_render_method_lookup()
+: <a class="el" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b">Evas.h</a>
+</li>
+<li>evas_render_updates()
+: <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca">Evas.h</a>
+</li>
+<li>evas_render_updates_free()
+: <a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x73.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x73.html
new file mode 100644 (file)
index 0000000..a0f7e83
--- /dev/null
@@ -0,0 +1,148 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li class="current"><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>evas_shutdown()
+: <a class="el" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed">Evas.h</a>
+</li>
+<li>evas_smart_class_get()
+: <a class="el" href="group__Evas__Smart__Group.html#gac41799a0e334d515fa8e07313b88c611">Evas.h</a>
+</li>
+<li>evas_smart_class_new()
+: <a class="el" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a">Evas.h</a>
+</li>
+<li>evas_smart_data_get()
+: <a class="el" href="group__Evas__Smart__Group.html#gaa88f3f98a71031573b8dfc4bfeac2f64">Evas.h</a>
+</li>
+<li>evas_smart_free()
+: <a class="el" href="group__Evas__Smart__Group.html#ga3501ae449533ae15eee9cbf65811cad2">Evas.h</a>
+</li>
+<li>evas_smart_objects_calculate()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaa30fa648297b723a73f28632d1dbec62">Evas.h</a>
+</li>
+<li>evas_string_char_len_get()
+: <a class="el" href="group__Evas__Utils.html#gaf9edd726590b1f56ca3e566ba1a2dbb2">Evas.h</a>
+</li>
+<li>evas_string_char_next_get()
+: <a class="el" href="group__Evas__Utils.html#ga31161605cf449d16e0ea0183509a1e3b">Evas.h</a>
+</li>
+<li>evas_string_char_prev_get()
+: <a class="el" href="group__Evas__Utils.html#ga20119def41aa1f24aea7961b3fa0fd72">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x74.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_func_0x74.html
new file mode 100644 (file)
index 0000000..0ea754f
--- /dev/null
@@ -0,0 +1,247 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li class="current"><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>evas_textblock_cursor_char_coord_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_delete()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf9cd7ffa37008c0d6f61413703a0670e">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga47950e666e252bbf0ad9d46b59e74269">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_content_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_eol_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_is_visible_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_item_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaedae64aa95805f0c3480cf6001297ae9">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_free()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_is_format()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_char_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6da9c7bff6073756a619f9b8a00d0e0b">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_char_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_coord_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaa49a0235809d49fb5f988253050dd101">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_char_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_char_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_text_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_text_length_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga57b2e7d853306c435946e0db83080db5">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pen_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pos_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga7f74459b59870c258bd312ff114778bc">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pos_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gacde95e638bba6858b73f316afe2cfef0">Evas.h</a>
+</li>
+<li>evas_textblock_escape_string_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac165d57003e552fa6739158dc2ed73f5">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_first_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga56e9057e5845fe785710ba6c5d07ab3e">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_last_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga091521044b95190c75c57ca1661bcc83">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_next_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga341e85b5bb0c9b2c82db4eb5a2432a9d">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_prev_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8566bfff8ca71cc89cf704c9a082780c">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_text_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8">Evas.h</a>
+</li>
+<li>evas_textblock_string_escape_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga70b3680a8691c70bab39bd1c127424a5">Evas.h</a>
+</li>
+<li>evas_textblock_style_free()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f">Evas.h</a>
+</li>
+<li>evas_textblock_style_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae106e0cfb957f1916eb3833c1214394c">Evas.h</a>
+</li>
+<li>evas_textblock_style_new()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga00cc8baec308c583ac801811dd381d4c">Evas.h</a>
+</li>
+<li>evas_textblock_style_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_type.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/globals_type.html
new file mode 100644 (file)
index 0000000..d230741
--- /dev/null
@@ -0,0 +1,314 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>Evas_Alloc_Error
+: <a class="el" href="Evas_8h.html#ae0181b78df8e248703a72a978d271208">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>Evas_Button_Flags
+: <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>Evas_Callback_Type
+: <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas.h</a>
+</li>
+<li>Evas_Colorspace
+: <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas.h</a>
+</li>
+<li>Evas_Coord_Point
+: <a class="el" href="Evas_8h.html#a9d3aab92b5b0911efb7594b79e0d3f37">Evas.h</a>
+</li>
+<li>Evas_Coord_Precision_Point
+: <a class="el" href="Evas_8h.html#a27d3d206dd0447c96df4385cee0c5df2">Evas.h</a>
+</li>
+<li>Evas_Coord_Rectangle
+: <a class="el" href="Evas_8h.html#a23d14410ef9cd719fd61602ce68c4d42">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>Evas_Device
+: <a class="el" href="Evas_8h.html#a430c2d9c773093d159437e35003df281">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>Evas
+: <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas.h</a>
+</li>
+<li>Evas_Engine_Info
+: <a class="el" href="Evas_8h.html#a86d67b69014ab10fffe20b883685fa46">Evas.h</a>
+</li>
+<li>Evas_Event_Flags
+: <a class="el" href="Evas_8h.html#a9fda4d6d744ae16549b3765df7363f95">Evas.h</a>
+</li>
+<li>Evas_Event_Hold
+: <a class="el" href="Evas_8h.html#a6fb6e5748f93fc24d62276e5421f9767">Evas.h</a>
+</li>
+<li>Evas_Event_Key_Down
+: <a class="el" href="Evas_8h.html#a9a1bfd297b751119977f3c14c0004612">Evas.h</a>
+</li>
+<li>Evas_Event_Key_Up
+: <a class="el" href="Evas_8h.html#a92e77497752a3b100b3bfc4ee92daf09">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Down
+: <a class="el" href="Evas_8h.html#a907df7a46177e7bac9928ea39fbcca50">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_In
+: <a class="el" href="Evas_8h.html#a9b42da2562eb8390dd513d7337b1e018">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Move
+: <a class="el" href="Evas_8h.html#a224de88869fe5315ca144ef8a2946827">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Out
+: <a class="el" href="Evas_8h.html#a7a168fcb1c4b6bc53ac4e69f5424f317">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Up
+: <a class="el" href="Evas_8h.html#a337e8227780d38bdeae5c0ccd00d04b3">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Wheel
+: <a class="el" href="Evas_8h.html#a54d0e99e450e158924b06746544bb4dc">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Down
+: <a class="el" href="Evas_8h.html#a0436550ffcc1e2eab730ef3c493b8c40">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Move
+: <a class="el" href="Evas_8h.html#a8658f1e1a6801e219547b05e8728ebd2">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Up
+: <a class="el" href="Evas_8h.html#a0f4d63b8673ee370e41e2c0bdc374212">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>Evas_Fill_Spread
+: <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas.h</a>
+</li>
+<li>Evas_Font_Hinting_Flags
+: <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>Evas_Load_Error
+: <a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas.h</a>
+</li>
+<li>Evas_Lock
+: <a class="el" href="Evas_8h.html#a791323b644ee831ead4c5d25552a0fd8">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>Evas_Map
+: <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas.h</a>
+</li>
+<li>Evas_Modifier
+: <a class="el" href="Evas_8h.html#a198d0b10861c1da456004688d3443e96">Evas.h</a>
+</li>
+<li>Evas_Modifier_Mask
+: <a class="el" href="Evas_8h.html#a111c7333a7d49e44698bd19dd5bc9059">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>Evas_Native_Surface
+: <a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>Evas_Object
+: <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Api
+: <a class="el" href="group__Evas__Object__Box.html#ga2a8fbeeab4f5ae23e7bc1b291e27c5e1">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Data
+: <a class="el" href="group__Evas__Object__Box.html#gac9047b7cff95df59f61c7321967caf7b">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Option
+: <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas.h</a>
+</li>
+<li>Evas_Object_Pointer_Mode
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas.h</a>
+</li>
+<li>Evas_Object_Smart_Clipped_Data
+: <a class="el" href="Evas_8h.html#a65c1b2ed3578175e476998f7b55dfe34">Evas.h</a>
+</li>
+<li>Evas_Object_Table_Homogeneous_Mode
+: <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas.h</a>
+</li>
+<li>Evas_Object_Textblock_Node_Format
+: <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>Evas_Performance
+: <a class="el" href="Evas_8h.html#a89d88a04f7684454960d465a1b9657c2">Evas.h</a>
+</li>
+<li>Evas_Pixel_Import_Pixel_Format
+: <a class="el" href="Evas_8h.html#ae609d856d391e1d65968a137313e0eb7">Evas.h</a>
+</li>
+<li>Evas_Pixel_Import_Source
+: <a class="el" href="Evas_8h.html#abb01076af16fbb50a837b1893b776783">Evas.h</a>
+</li>
+<li>Evas_Point
+: <a class="el" href="Evas_8h.html#adc20c4d74f28a08de32455f97946e6bd">Evas.h</a>
+</li>
+<li>Evas_Position
+: <a class="el" href="Evas_8h.html#a1fedb06548c63e95cdef58ae2578e494">Evas.h</a>
+</li>
+<li>Evas_Precision_Position
+: <a class="el" href="Evas_8h.html#ae62b68e728184674ee011ec19c48fa25">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>Evas_Render_Op
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>Evas_Smart
+: <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas.h</a>
+</li>
+<li>Evas_Smart_Cb_Description
+: <a class="el" href="group__Evas__Smart__Group.html#ga0ad0e7d482d7660e756e275d355e3634">Evas.h</a>
+</li>
+<li>Evas_Smart_Class
+: <a class="el" href="group__Evas__Smart__Group.html#gaea15f67e901bf5380cdb67dc1bb43391">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Canvas.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Canvas.html
new file mode 100644 (file)
index 0000000..a5cc563
--- /dev/null
@@ -0,0 +1,754 @@
+<html>
+<head>
+    <title>Evas: Canvas Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Canvas Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deal with the basic evas object.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html">Render Engine Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that are used to set the render engine for a given function, and then get that engine working. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html">Output and Viewport Resizing Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that set and retrieve the output and viewport size of an evas. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html">Coordinate Mapping Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html">Pointer (Mouse) Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that deal with the status of the pointer (mouse cursor). </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html">Event Freezing Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that deal with the freezing of event processing of an evas. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html">Event Feeding Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions to tell Evas that events happened and should be processed. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html">Canvas Events</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Canvas generates some events. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html">Image Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that deals with images at canvas level. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html">Font Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that deals with fonts. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct _Evas&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas canvas handle.  <a href="#ga5ff87cc4ce6bc43e3b640a6d37f73043"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87">evas_new</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new empty evas.  <a href="#ga9280ee6564c889348b142b8bcd723f87"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">evas_free</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given evas and any objects created on it.  <a href="#ga45ab1883cc0b145bc3af130d3c00a21f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8">evas_data_attach_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attaches a specific pointer to the evas for fetching later.  <a href="#gadbf3e81c6db5396d3c6415f3cd34e8c8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc">evas_data_attach_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the pointer attached by <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8" title="Attaches a specific pointer to the evas for fetching later.">evas_data_attach_set()</a>.  <a href="#ga4244b77b68937ab060bc7d8c3bf77fdc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb">evas_focus_in</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform to the evas that it got the focus.  <a href="#gad4e5f592d23e74868f1e135c714a1acb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff">evas_focus_out</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform to the evas that it lost the focus.  <a href="#ga438b8a00339af4b25c84c4ef57d6b3ff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8">evas_focus_state_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the focus state known by the given evas.  <a href="#gab4822a733c10760b293006b77c4fc6d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe">evas_nochange_push</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push the nochange flag up 1.  <a href="#ga6e49e2a2b27c306c265433ac7d3b5dbe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac">evas_nochange_pop</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop the nochange flag down 1.  <a href="#gaa001b49fa2aa654ba0b116c6667b0fac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">evas_damage_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a damage rectangle.  <a href="#ga91b68cf4090201f16aede8e4c124986d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4">evas_obscured_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an obscured region.  <a href="#gab731e13487e7a2bf6c39d1c1dc69ccc4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876">evas_obscured_clear</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all obscured region rectangles from the canvas.  <a href="#ga76dbc1ce160666ffde45901346cfe876"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b">evas_render_updates_free</a> (Eina_List *updates)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the rectangles returned by <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca" title="Force immediate renderization of the given canvas.">evas_render_updates()</a>.  <a href="#gae4889bb5ec0e6e4f6ce5d6ef99f8737b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca">evas_render_updates</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force immediate renderization of the given canvas.  <a href="#ga49650dcc731a151d4881106b56f7a5ca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">evas_render</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force renderization of the given canvas.  <a href="#ga241869ebb085b8ab11ff6af26e1aeaaf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1">evas_norender</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the canvas internal objects but not triggering immediate renderization.  <a href="#ga5c7761185381376e2d97497625a7bbe1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">evas_render_idle_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the canvas discard internally cached data used for rendering.  <a href="#ga84a691e253bf4239691b3f3adca3c7b1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deal with the basic evas object. </p>
+<p>They are the functions you need to use at a minimum to get a working evas, and to destroy it. </p>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga5ff87cc4ce6bc43e3b640a6d37f73043"></a><!-- doxytag: member="Evas.h::Evas" ref="ga5ff87cc4ce6bc43e3b640a6d37f73043" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>An Evas canvas handle. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87" title="Creates a new empty evas.">evas_new()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free()</a> </dd></dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga91b68cf4090201f16aede8e4c124986d"></a><!-- doxytag: member="evas_render.c::evas_damage_rectangle_add" ref="ga91b68cf4090201f16aede8e4c124986d" args="(Evas *e, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_damage_rectangle_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add a damage rectangle. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The rectangle's left position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The rectangle's top position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The rectangle's width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The rectangle's height.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This is the function by which one tells evas that a part of the canvas has to be repainted. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga4244b77b68937ab060bc7d8c3bf77fdc"></a><!-- doxytag: member="evas_main.c::evas_data_attach_get" ref="ga4244b77b68937ab060bc7d8c3bf77fdc" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_data_attach_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the pointer attached by <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8" title="Attaches a specific pointer to the evas for fetching later.">evas_data_attach_set()</a>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to attach the pointer to </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The pointer attached </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gadbf3e81c6db5396d3c6415f3cd34e8c8"></a><!-- doxytag: member="evas_main.c::evas_data_attach_set" ref="gadbf3e81c6db5396d3c6415f3cd34e8c8" args="(Evas *e, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_data_attach_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Attaches a specific pointer to the evas for fetching later. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to attach the pointer to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The pointer to attach </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gad4e5f592d23e74868f1e135c714a1acb"></a><!-- doxytag: member="evas_main.c::evas_focus_in" ref="gad4e5f592d23e74868f1e135c714a1acb" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_focus_in </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Inform to the evas that it got the focus. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas to change information. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga438b8a00339af4b25c84c4ef57d6b3ff"></a><!-- doxytag: member="evas_main.c::evas_focus_out" ref="ga438b8a00339af4b25c84c4ef57d6b3ff" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_focus_out </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Inform to the evas that it lost the focus. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas to change information. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab4822a733c10760b293006b77c4fc6d8"></a><!-- doxytag: member="evas_main.c::evas_focus_state_get" ref="gab4822a733c10760b293006b77c4fc6d8" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_focus_state_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the focus state known by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas to query information. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga45ab1883cc0b145bc3af130d3c00a21f"></a><!-- doxytag: member="evas_main.c::evas_free" ref="ga45ab1883cc0b145bc3af130d3c00a21f" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Frees the given evas and any objects created on it. </p>
+<p>Any objects with 'free' callbacks will have those callbacks called in this function.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">evas_font_path_clear()</a>, and <a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">evas_render_idle_flush()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9280ee6564c889348b142b8bcd723f87"></a><!-- doxytag: member="evas_main.c::evas_new" ref="ga9280ee6564c889348b142b8bcd723f87" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a>* evas_new </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new empty evas. </p>
+<p>Note that before you can use the evas, you will to at a minimum: </p>
+<ul>
+<li>Set its render method with <a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">evas_output_method_set</a> . </li>
+<li>Set its viewport size with <a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">evas_output_viewport_set</a> . </li>
+<li>Set its size of the canvas with <a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">evas_output_size_set</a> . </li>
+<li>Ensure that the render engine is given the correct settings with <a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">evas_engine_info_set</a> .</li>
+</ul>
+<p>This function should only fail if the memory allocation fails</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>this function is very low level. Instead of using it directly, consider using the high level functions in Ecore_Evas such as <code>ecore_evas_new()</code>. See <a href="http://docs.enlightenment.org/auto/ecore/.">http://docs.enlightenment.org/auto/ecore/.</a></dd></dl>
+<dl class="attention"><dt><b>Attention:</b></dt><dd>it is recommended that one calls <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a> before creating new canvas.</dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new uninitialised Evas canvas on success. Otherwise, <code>NULL</code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa001b49fa2aa654ba0b116c6667b0fac"></a><!-- doxytag: member="evas_main.c::evas_nochange_pop" ref="gaa001b49fa2aa654ba0b116c6667b0fac" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_nochange_pop </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Pop the nochange flag down 1. </p>
+<p>This tells evas, that while the nochange flag is greater than 0, do not mark objects as "changed" when making changes.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas to change information. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6e49e2a2b27c306c265433ac7d3b5dbe"></a><!-- doxytag: member="evas_main.c::evas_nochange_push" ref="ga6e49e2a2b27c306c265433ac7d3b5dbe" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_nochange_push </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Push the nochange flag up 1. </p>
+<p>This tells evas, that while the nochange flag is greater than 0, do not mark objects as "changed" when making changes.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas to change information. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5c7761185381376e2d97497625a7bbe1"></a><!-- doxytag: member="evas_render.c::evas_norender" ref="ga5c7761185381376e2d97497625a7bbe1" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_norender </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Update the canvas internal objects but not triggering immediate renderization. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function updates the canvas internal objects not triggering renderization. To force renderization function <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf" title="Force renderization of the given canvas.">evas_render()</a> should be used.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf" title="Force renderization of the given canvas.">evas_render</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga76dbc1ce160666ffde45901346cfe876"></a><!-- doxytag: member="evas_render.c::evas_obscured_clear" ref="ga76dbc1ce160666ffde45901346cfe876" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_obscured_clear </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove all obscured region rectangles from the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function removes all the rectangles from the obscured list of the canvas. It takes obscured areas added with <a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4" title="Add an obscured region.">evas_obscured_rectangle_add()</a> and makes it a region that have to be repainted. </p>
+
+</div>
+</div>
+<a class="anchor" id="gab731e13487e7a2bf6c39d1c1dc69ccc4"></a><!-- doxytag: member="evas_render.c::evas_obscured_rectangle_add" ref="gab731e13487e7a2bf6c39d1c1dc69ccc4" args="(Evas *e, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_obscured_rectangle_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add an obscured region. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The rectangle's left position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The rectangle's top position </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The rectangle's width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The rectangle's height.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This is the function by which one tells evas that a part of the canvas has not to be repainted. To make this region one that have to be repainted, call the function <a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876" title="Remove all obscured region rectangles from the canvas.">evas_obscured_clear()</a>.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876" title="Remove all obscured region rectangles from the canvas.">evas_obscured_clear()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga241869ebb085b8ab11ff6af26e1aeaaf"></a><!-- doxytag: member="evas_render.c::evas_render" ref="ga241869ebb085b8ab11ff6af26e1aeaaf" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_render </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Force renderization of the given canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga84a691e253bf4239691b3f3adca3c7b1"></a><!-- doxytag: member="evas_render.c::evas_render_idle_flush" ref="ga84a691e253bf4239691b3f3adca3c7b1" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_render_idle_flush </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Make the canvas discard internally cached data used for rendering. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function flushes the arrays of delete, active and render objects. Other things it may also discard are: shared memory segments, temporary scratch buffers, cached data to avoid re-compute of that data etc. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">evas_free()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga49650dcc731a151d4881106b56f7a5ca"></a><!-- doxytag: member="evas_render.c::evas_render_updates" ref="ga49650dcc731a151d4881106b56f7a5ca" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_render_updates </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Force immediate renderization of the given canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A newly allocated list of updated rectangles of the canvas. Free this list with <a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b" title="Free the rectangles returned by evas_render_updates().">evas_render_updates_free()</a>.</dd></dl>
+<p>This function forces an immediate renderization update of the given given canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae4889bb5ec0e6e4f6ce5d6ef99f8737b"></a><!-- doxytag: member="evas_render.c::evas_render_updates_free" ref="gae4889bb5ec0e6e4f6ce5d6ef99f8737b" args="(Eina_List *updates)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_render_updates_free </td>
+          <td>(</td>
+          <td class="paramtype">Eina_List *&nbsp;</td>
+          <td class="paramname"> <em>updates</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Free the rectangles returned by <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca" title="Force immediate renderization of the given canvas.">evas_render_updates()</a>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>updates</em>&nbsp;</td><td>The list of updated rectangles of the canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function removes the region from the render updates list. It makes the region doesn't be render updated anymore. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Canvas__Events.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Canvas__Events.html
new file mode 100644 (file)
index 0000000..3bd1146
--- /dev/null
@@ -0,0 +1,428 @@
+<html>
+<head>
+    <title>Evas: Canvas Events</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Canvas Events<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Canvas generates some events.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71">evas_event_callback_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Event_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a callback function to the canvas.  <a href="#ga0388995a80e8951a532fbdc63ba26c71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga11a461d33617b022e490287e85217f5c">evas_event_callback_del</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Event_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a callback function from the canvas.  <a href="#ga11a461d33617b022e490287e85217f5c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga84450d679e473b3ac84d4374f8936980">evas_event_callback_del_full</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Event_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a callback function from the canvas.  <a href="#ga84450d679e473b3ac84d4374f8936980"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a">evas_post_event_callback_push</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push a callback on the post-event callback stack.  <a href="#ga8f8a2686dbbe3c55e091decf3f29d42a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516">evas_post_event_callback_remove</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a callback from the post-event callback stack.  <a href="#ga59f159113fe24fdb5e33e7df3e333516"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9">evas_post_event_callback_remove_full</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a callback from the post-event callback stack.  <a href="#ga3c76c419125c3cad9095f1fdae5f3ac9"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Canvas generates some events. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga0388995a80e8951a532fbdc63ba26c71"></a><!-- doxytag: member="evas_callbacks.c::evas_event_callback_add" ref="ga0388995a80e8951a532fbdc63ba26c71" args="(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add a callback function to the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to attach a callback to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that will trigger the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to be called when the event is triggered </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to <code>func</code> </td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function adds a function callback to the canvas when the event of type <code>type</code> occurs on canvas <code>e</code>. The function is <code>func</code>.</p>
+<p>In the event of a memory allocation error during addition of the callback to the canvas, <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error()</a> should be used to determine the nature of the error, if any, and the program should sensibly try and recover.</p>
+<p>The function will be passed the pointer <code>data</code> when it is called. A callback function must look like this:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> callback (<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
+</pre></div><p>The first parameter <code>data</code> in this function will be the same value passed to <a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> as the <code>data</code> parameter. The second parameter <code>e</code> is the canvas handle on which the event occurred. The third parameter <code>event_info</code> is a pointer to a data structure that may or may not be passed to the callback, depending on the event type that triggered the callback.</p>
+<p>The event type <code>type</code> to trigger the function may be one of <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3" title="Called just before rendering is updated on the canvas target.">EVAS_CALLBACK_RENDER_FLUSH_PRE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1" title="Called just after rendering is updated on the canvas target.">EVAS_CALLBACK_RENDER_FLUSH_POST</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f" title="Canvas lost focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>. This determines the kind of event that will trigger the callback to be called. So far none of the event types provide useful data, so in all of them <code>event_info</code> pointer is <code>NULL</code>.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e;
+ <span class="keyword">extern</span> <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> focus_in_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
+ <span class="keywordtype">void</span> focus_out_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
+
+ <a class="code" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add</a>(e, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, focus_in_callback, my_data);
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() != <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" title="No allocation error.">EVAS_ALLOC_ERROR_NONE</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Callback registering failed! Abort!\n&quot;</span>);
+     exit(-1);
+   }
+ <a class="code" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add</a>(e, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f" title="Canvas lost focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>, focus_out_callback, my_data);
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() != <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" title="No allocation error.">EVAS_ALLOC_ERROR_NONE</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Callback registering failed! Abort!\n&quot;</span>);
+     exit(-1);
+   }
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga11a461d33617b022e490287e85217f5c"></a><!-- doxytag: member="evas_callbacks.c::evas_event_callback_del" ref="ga11a461d33617b022e490287e85217f5c" args="(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_event_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete a callback function from the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to remove a callback from </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that was triggering the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that was to be called when the event was triggered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the callback</dd></dl>
+<p>This function removes the most recently added callback from the canvas <code>e</code> which was triggered by the event type <code>type</code> and was calling the function <code>func</code> when triggered. If the removal is successful it will also return the data pointer that was passed to <a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> when the callback was added to the canvas. If not successful NULL will be returned.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e;
+ <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> focus_in_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
+
+ my_data = <a class="code" href="group__Evas__Canvas__Events.html#ga11a461d33617b022e490287e85217f5c" title="Delete a callback function from the canvas.">evas_event_callback_del</a>(ebject, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, focus_in_callback);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga84450d679e473b3ac84d4374f8936980"></a><!-- doxytag: member="evas_callbacks.c::evas_event_callback_del_full" ref="ga84450d679e473b3ac84d4374f8936980" args="(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_event_callback_del_full </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete a callback function from the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to remove a callback from </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that was triggering the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that was to be called when the event was triggered </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer that was to be passed to the callback </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the callback</dd></dl>
+<p>This function removes the most recently added callback from the canvas <code>e</code> which was triggered by the event type <code>type</code> and was calling the function <code>func</code> with data <code>data</code> when triggered. If the removal is successful it will also return the data pointer that was passed to <a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> (that will be the same as the parameter) when the callback was added to the canvas. If not successful NULL will be returned.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e;
+ <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> focus_in_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
+
+ my_data = <a class="code" href="group__Evas__Canvas__Events.html#ga84450d679e473b3ac84d4374f8936980" title="Delete a callback function from the canvas.">evas_event_callback_del_full</a>(ebject, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, focus_in_callback, my_data);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga8f8a2686dbbe3c55e091decf3f29d42a"></a><!-- doxytag: member="evas_callbacks.c::evas_post_event_callback_push" ref="ga8f8a2686dbbe3c55e091decf3f29d42a" args="(Evas *e, Evas_Object_Event_Post_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_post_event_callback_push </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Post_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Push a callback on the post-event callback stack. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to push the callback on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that to be called when the stack is unwound </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to the callback</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Evas has a stack of callbacks that get called after all the callbacks for an event have triggered (all the objects it triggers on and al the callbacks in each object triggered). When all these have been called, the stack is unwond from most recently to least recently pushed item and removed from the stack calling the callback set for it.</p>
+<p>This is intended for doing reverse logic-like processing, example - when a child object that happens to get the event later is meant to be able to "steal" functions from a parent and thus on unwind of this stack hav its function called first, thus being able to set flags, or return 0 from the post-callback that stops all other post-callbacks in the current stack from being called (thus basically allowing a child to take control, if the event callback prepares information ready for taking action, but the post callback actually does the action). </p>
+
+</div>
+</div>
+<a class="anchor" id="ga59f159113fe24fdb5e33e7df3e333516"></a><!-- doxytag: member="evas_callbacks.c::evas_post_event_callback_remove" ref="ga59f159113fe24fdb5e33e7df3e333516" args="(Evas *e, Evas_Object_Event_Post_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_post_event_callback_remove </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Post_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove a callback from the post-event callback stack. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to push the callback on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that to be called when the stack is unwound</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This removes a callback from the stack added with <a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a" title="Push a callback on the post-event callback stack.">evas_post_event_callback_push()</a>. The first instance of the function in the callback stack is removed from being executed when the stack is unwound. Further instances may still be run on unwind. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3c76c419125c3cad9095f1fdae5f3ac9"></a><!-- doxytag: member="evas_callbacks.c::evas_post_event_callback_remove_full" ref="ga3c76c419125c3cad9095f1fdae5f3ac9" args="(Evas *e, Evas_Object_Event_Post_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_post_event_callback_remove_full </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Post_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove a callback from the post-event callback stack. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to push the callback on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that to be called when the stack is unwound </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to the callback</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This removes a callback from the stack added with <a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a" title="Push a callback on the post-event callback stack.">evas_post_event_callback_push()</a>. The first instance of the function and data in the callback stack is removed from being executed when the stack is unwound. Further instances may still be run on unwind. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Coord__Mapping__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Coord__Mapping__Group.html
new file mode 100644 (file)
index 0000000..e636afb
--- /dev/null
@@ -0,0 +1,291 @@
+<html>
+<head>
+    <title>Evas: Coordinate Mapping Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Coordinate Mapping Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051">evas_coord_screen_x_to_world</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale an ouput screen co-ordinate into canvas co-ordinates.  <a href="#gab435c4e98554a4c6b934840a38d96051"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2">evas_coord_screen_y_to_world</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale an ouput screen co-ordinate into canvas co-ordinates.  <a href="#gac69db230ec0bd06f683e62665abe5df2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9">evas_coord_world_x_to_screen</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale a canvas co-ordinate into output screen co-ordinates.  <a href="#ga3e4f9f6af852df00de8c180f2e3919e9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8">evas_coord_world_y_to_screen</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale a canvas co-ordinate into output screen co-ordinates.  <a href="#ga6c80c5dd33180044bcd200bb4739a2b8"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gab435c4e98554a4c6b934840a38d96051"></a><!-- doxytag: member="evas_main.c::evas_coord_screen_x_to_world" ref="gab435c4e98554a4c6b934840a38d96051" args="(const Evas *e, int x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_coord_screen_x_to_world </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert/scale an ouput screen co-ordinate into canvas co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The screen/output x co-ordinate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The screen co-ordinate translated to canvas unit co-ordinates</dd></dl>
+<p>This function takes in a horizontal co-ordinate as the <code>x</code> parameter and converts it into canvas units, accounting for output size, viewport size and location, returning it as the function return value. If <code>e</code> is invalid, the results are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keyword">extern</span> <span class="keywordtype">int</span> screen_x;
+ Evas_Coord canvas_x;
+
+ canvas_x = <a class="code" href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051" title="Convert/scale an ouput screen co-ordinate into canvas co-ordinates.">evas_coord_screen_x_to_world</a>(evas, screen_x);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="gac69db230ec0bd06f683e62665abe5df2"></a><!-- doxytag: member="evas_main.c::evas_coord_screen_y_to_world" ref="gac69db230ec0bd06f683e62665abe5df2" args="(const Evas *e, int y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_coord_screen_y_to_world </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert/scale an ouput screen co-ordinate into canvas co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The screen/output y co-ordinate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The screen co-ordinate translated to canvas unit co-ordinates</dd></dl>
+<p>This function takes in a vertical co-ordinate as the <code>y</code> parameter and converts it into canvas units, accounting for output size, viewport size and location, returning it as the function return value. If <code>e</code> is invalid, the results are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keyword">extern</span> <span class="keywordtype">int</span> screen_y;
+ Evas_Coord canvas_y;
+
+ canvas_y = <a class="code" href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2" title="Convert/scale an ouput screen co-ordinate into canvas co-ordinates.">evas_coord_screen_y_to_world</a>(evas, screen_y);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga3e4f9f6af852df00de8c180f2e3919e9"></a><!-- doxytag: member="evas_main.c::evas_coord_world_x_to_screen" ref="ga3e4f9f6af852df00de8c180f2e3919e9" args="(const Evas *e, Evas_Coord x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_coord_world_x_to_screen </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert/scale a canvas co-ordinate into output screen co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The canvas x co-ordinate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The output/screen co-ordinate translated to output co-ordinates</dd></dl>
+<p>This function takes in a horizontal co-ordinate as the <code>x</code> parameter and converts it into output units, accounting for output size, viewport size and location, returning it as the function return value. If <code>e</code> is invalid, the results are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keywordtype">int</span> screen_x;
+ <span class="keyword">extern</span> Evas_Coord canvas_x;
+
+ screen_x = <a class="code" href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9" title="Convert/scale a canvas co-ordinate into output screen co-ordinates.">evas_coord_world_x_to_screen</a>(evas, canvas_x);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga6c80c5dd33180044bcd200bb4739a2b8"></a><!-- doxytag: member="evas_main.c::evas_coord_world_y_to_screen" ref="ga6c80c5dd33180044bcd200bb4739a2b8" args="(const Evas *e, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_coord_world_y_to_screen </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert/scale a canvas co-ordinate into output screen co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The canvas y co-ordinate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The output/screen co-ordinate translated to output co-ordinates</dd></dl>
+<p>This function takes in a vertical co-ordinate as the <code>x</code> parameter and converts it into output units, accounting for output size, viewport size and location, returning it as the function return value. If <code>e</code> is invalid, the results are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keywordtype">int</span> screen_y;
+ <span class="keyword">extern</span> Evas_Coord canvas_y;
+
+ screen_y = <a class="code" href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8" title="Convert/scale a canvas co-ordinate into output screen co-ordinates.">evas_coord_world_y_to_screen</a>(evas, canvas_y);
+</pre></div> 
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Cserve.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Cserve.html
new file mode 100644 (file)
index 0000000..2171e33
--- /dev/null
@@ -0,0 +1,253 @@
+<html>
+<head>
+    <title>Evas: Shared Image Cache Server</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Shared Image Cache Server</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Provides client-server infrastructure to share bitmaps across multiple processes, saving data and processing power.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html">_Evas_Cserve_Stats</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Statistics about server that shares cached bitmaps.  <a href="struct__Evas__Cserve__Stats.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Image__Cache.html">_Evas_Cserve_Image_Cache</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cache of images shared by server.  <a href="struct__Evas__Cserve__Image__Cache.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Image.html">_Evas_Cserve_Image</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An image shared by the server.  <a href="struct__Evas__Cserve__Image.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Config.html">_Evas_Cserve_Config</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Configuration that controls the server that shares cached bitmaps.  <a href="struct__Evas__Cserve__Config.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#gab039ccd04ab2e8857a0df629b4ac0901">evas_cserve_want_get</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system wants to share bitmaps using the server.  <a href="#gab039ccd04ab2e8857a0df629b4ac0901"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#gab88ee4c01dbdf01fea4d8acf4a07b25f">evas_cserve_connected_get</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system is connected to the server used to shae bitmaps.  <a href="#gab88ee4c01dbdf01fea4d8acf4a07b25f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga82fec634eb97f664e9cb3ed08358b1a2">evas_cserve_stats_get</a> (<a class="el" href="struct__Evas__Cserve__Stats.html">Evas_Cserve_Stats</a> *stats)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system wants to share bitmaps using the server.  <a href="#ga82fec634eb97f664e9cb3ed08358b1a2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga9bb7fbd93f4bc9310707549ff9427b47">evas_cserve_config_get</a> (<a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *config)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current configuration of the server.  <a href="#ga9bb7fbd93f4bc9310707549ff9427b47"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga10c38a7bfb59423c2a96447b42c2aa15">evas_cserve_config_set</a> (const <a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *config)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the configuration of the server.  <a href="#ga10c38a7bfb59423c2a96447b42c2aa15"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3129abb4410e7d6967072f14ac327daf"></a><!-- doxytag: member="Evas_Cserve::evas_cserve_disconnect" ref="ga3129abb4410e7d6967072f14ac327daf" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga3129abb4410e7d6967072f14ac327daf">evas_cserve_disconnect</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force system to disconnect from cache server. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Provides client-server infrastructure to share bitmaps across multiple processes, saving data and processing power. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga9bb7fbd93f4bc9310707549ff9427b47"></a><!-- doxytag: member="evas_stats.c::evas_cserve_config_get" ref="ga9bb7fbd93f4bc9310707549ff9427b47" args="(Evas_Cserve_Config *config)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_cserve_config_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *&nbsp;</td>
+          <td class="paramname"> <em>config</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the current configuration of the server. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>where to store current server configuration. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if <code>config</code> were filled with data, <code>EINA_FALSE</code> otherwise and <code>config</code> is untouched. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga10c38a7bfb59423c2a96447b42c2aa15"></a><!-- doxytag: member="evas_stats.c::evas_cserve_config_set" ref="ga10c38a7bfb59423c2a96447b42c2aa15" args="(const Evas_Cserve_Config *config)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_cserve_config_set </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *&nbsp;</td>
+          <td class="paramname"> <em>config</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Changes the configuration of the server. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>where to store current server configuration. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if <code>config</code> were successfully applied, <code>EINA_FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab88ee4c01dbdf01fea4d8acf4a07b25f"></a><!-- doxytag: member="evas_stats.c::evas_cserve_connected_get" ref="gab88ee4c01dbdf01fea4d8acf4a07b25f" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_cserve_connected_get </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves if the system is connected to the server used to shae bitmaps. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if connected, <code>EINA_FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga82fec634eb97f664e9cb3ed08358b1a2"></a><!-- doxytag: member="evas_stats.c::evas_cserve_stats_get" ref="ga82fec634eb97f664e9cb3ed08358b1a2" args="(Evas_Cserve_Stats *stats)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_cserve_stats_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Cserve__Stats.html">Evas_Cserve_Stats</a> *&nbsp;</td>
+          <td class="paramname"> <em>stats</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves if the system wants to share bitmaps using the server. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>stats</em>&nbsp;</td><td>pointer to structure to fill with statistics about cache server. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if <code>stats</code> were filled with data, <code>EINA_FALSE</code> otherwise and <code>stats</code> is untouched. </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Cserve__Stats.html#af7fa72c981c855ee8c0e49dd3395f113">_Evas_Cserve_Stats::saved_memory</a>, <a class="el" href="struct__Evas__Cserve__Stats.html#a9738ab5831d7b402111db096b6ff972b">_Evas_Cserve_Stats::saved_memory_peak</a>, <a class="el" href="struct__Evas__Cserve__Stats.html#a8f9d701eb8a7d84937422999ff002a1a">_Evas_Cserve_Stats::saved_time_image_data_load</a>, <a class="el" href="struct__Evas__Cserve__Stats.html#a35301ae776cdf63793735930d8fe0873">_Evas_Cserve_Stats::saved_time_image_header_load</a>, <a class="el" href="struct__Evas__Cserve__Stats.html#ab98e8e5dd83545a2c6acc3c914ea488e">_Evas_Cserve_Stats::wasted_memory</a>, and <a class="el" href="struct__Evas__Cserve__Stats.html#afcdf3ed844a2e8241c0ee5986e6532bb">_Evas_Cserve_Stats::wasted_memory_peak</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab039ccd04ab2e8857a0df629b4ac0901"></a><!-- doxytag: member="evas_stats.c::evas_cserve_want_get" ref="gab039ccd04ab2e8857a0df629b4ac0901" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_cserve_want_get </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves if the system wants to share bitmaps using the server. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if wants, <code>EINA_FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Event__Feeding__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Event__Feeding__Group.html
new file mode 100644 (file)
index 0000000..5f346bb
--- /dev/null
@@ -0,0 +1,744 @@
+<html>
+<head>
+    <title>Evas: Event Feeding Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Event Feeding Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions to tell Evas that events happened and should be processed.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64">evas_event_freeze_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the freeze count of a given canvas.  <a href="#gabc15f5115b4baaeafd2d144f307b6b64"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2">evas_event_feed_mouse_down</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int b, <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a> flags, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse down event feed.  <a href="#ga5c9811b87406a96ff573b83d1efd52f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int b, <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a> flags, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse up event feed.  <a href="#gacb400569d04ecfd2b89eb0f39856581c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385">evas_event_feed_mouse_cancel</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse cancel event feed.  <a href="#ga5c300cdca8551fd49d5341ef19c8f385"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga393156722bbe1ce384f0ab33ab76a1f2">evas_event_feed_mouse_wheel</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int direction, int z, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse wheel event feed.  <a href="#ga393156722bbe1ce384f0ab33ab76a1f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse move event feed.  <a href="#ga480017cad2b8982bee7a894433aff2f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">evas_event_feed_mouse_in</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse in event feed.  <a href="#gac9c7fada70cfee1f8124ab5446cc59ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13">evas_event_feed_mouse_out</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse out event feed.  <a href="#ga64f5f2d26a018f4e6154b91251e6bb13"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga096e2ef05bfa471d2773729bd24732a0">evas_event_feed_key_down</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key down event feed.  <a href="#ga096e2ef05bfa471d2773729bd24732a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gaebe7d4f8b6423aff1ffe67c724d4590d">evas_event_feed_key_up</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key up event feed.  <a href="#gaebe7d4f8b6423aff1ffe67c724d4590d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gaedc3a956cd753acdd2a58ad0d2865d04">evas_event_feed_hold</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int hold, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hold event feed.  <a href="#gaedc3a956cd753acdd2a58ad0d2865d04"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions to tell Evas that events happened and should be processed. </p>
+<p>As explained in <a class="el" href="index.html#intro_not_evas">What Evas is not?</a>, Evas does not know how to poll for events, so the developer should do it and then feed such events to the canvas to be processed. This is only required if operating Evas directly as modules such as Ecore_Evas does that for you. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaedc3a956cd753acdd2a58ad0d2865d04"></a><!-- doxytag: member="evas_events.c::evas_event_feed_hold" ref="gaedc3a956cd753acdd2a58ad0d2865d04" args="(Evas *e, int hold, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_hold </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>hold</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Hold event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hold</em>&nbsp;</td><td>The hold. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function makes the object to stop sending events. </p>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85">EVAS_CALLBACK_HOLD</a>, and <a class="el" href="struct__Evas__Event__Hold.html#a21f7238382ebd994e083623f777853f3">_Evas_Event_Hold::hold</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga096e2ef05bfa471d2773729bd24732a0"></a><!-- doxytag: member="evas_events.c::evas_event_feed_key_down" ref="ga096e2ef05bfa471d2773729bd24732a0" args="(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_key_down </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>keyname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>compose</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Key down event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to thaw out </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>keyname</em>&nbsp;</td><td>Name of the key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key pressed. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>A String </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compose</em>&nbsp;</td><td>The compose string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>Timestamp of the mouse up event </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when a key is pressed. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Key__Down.html#a5ea3ff931ae945c486abd2388c6d653a">_Evas_Event_Key_Down::compose</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584">EVAS_CALLBACK_KEY_DOWN</a>, <a class="el" href="struct__Evas__Event__Key__Down.html#a70473bba88a1afaee180a54150513824">_Evas_Event_Key_Down::key</a>, <a class="el" href="struct__Evas__Event__Key__Down.html#a01909378c9e67734aa0e6ce2b603ad2c">_Evas_Event_Key_Down::keyname</a>, and <a class="el" href="struct__Evas__Event__Key__Down.html#a1b64741ca0b90a5119463f320ebeea00">_Evas_Event_Key_Down::string</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaebe7d4f8b6423aff1ffe67c724d4590d"></a><!-- doxytag: member="evas_events.c::evas_event_feed_key_up" ref="gaebe7d4f8b6423aff1ffe67c724d4590d" args="(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_key_up </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>keyname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>compose</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Key up event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to thaw out </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>keyname</em>&nbsp;</td><td>Name of the key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key released. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compose</em>&nbsp;</td><td>compose </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>Timestamp of the mouse up event </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when a key is released. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Key__Up.html#ac0d6a67e53331d863d141475b1b905fb">_Evas_Event_Key_Up::compose</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f">EVAS_CALLBACK_KEY_UP</a>, <a class="el" href="struct__Evas__Event__Key__Up.html#a865118cf93e4454ac101d663b8027b41">_Evas_Event_Key_Up::key</a>, <a class="el" href="struct__Evas__Event__Key__Up.html#a03b32c8ba37a03fbd3ea7cd63e5f47be">_Evas_Event_Key_Up::keyname</a>, and <a class="el" href="struct__Evas__Event__Key__Up.html#aadff1de218baec7322b0ed0f6cf6d662">_Evas_Event_Key_Up::string</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5c300cdca8551fd49d5341ef19c8f385"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_cancel" ref="ga5c300cdca8551fd49d5341ef19c8f385" args="(Evas *e, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_cancel </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse cancel event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will call <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c" title="Mouse up event feed.">evas_event_feed_mouse_up()</a> when a mouse cancel event happens. </p>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5c9811b87406a96ff573b83d1efd52f2"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_down" ref="ga5c9811b87406a96ff573b83d1efd52f2" args="(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_down </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a>&nbsp;</td>
+          <td class="paramname"> <em>flags</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse down event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The button number. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The evas button flags. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse down event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse button is pressed. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__Down.html#a0ab02808721d6c55fc642ecbb37d5ff9">_Evas_Event_Mouse_Down::button</a>, and <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f">EVAS_CALLBACK_MOUSE_DOWN</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac9c7fada70cfee1f8124ab5446cc59ed"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_in" ref="gac9c7fada70cfee1f8124ab5446cc59ed" args="(Evas *e, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_in </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse in event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse in event happens. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In::buttons</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">EVAS_CALLBACK_MOUSE_IN</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga480017cad2b8982bee7a894433aff2f7"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_move" ref="ga480017cad2b8982bee7a894433aff2f7" args="(Evas *e, int x, int y, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_move </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse move event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The horizontal position of the mouse pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The vertical position of the mouse pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse is moved from its last position. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In::buttons</a>, <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out::buttons</a>, <a class="el" href="struct__Evas__Event__Mouse__Move.html#a455bf48e5f7badcc6c525162e0997d08">_Evas_Event_Mouse_Move::buttons</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">EVAS_CALLBACK_MOUSE_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a">EVAS_CALLBACK_MOUSE_MOVE</a>, and <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">EVAS_CALLBACK_MOUSE_OUT</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">evas_event_feed_mouse_in()</a>, <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">evas_object_hide()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">evas_object_layer_set()</a>, <a class="el" href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174">evas_object_line_xy_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">evas_object_lower()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">evas_object_pass_events_set()</a>, <a class="el" href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76">evas_object_polygon_point_add()</a>, <a class="el" href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2">evas_object_polygon_points_clear()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">evas_object_raise()</a>, <a class="el" href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">evas_object_repeat_events_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f">evas_object_show()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga1128fb1e04b1de059e9ccade58c83663">evas_object_stack_above()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga8cc69c6e6d78d686d8c4606ac03c2864">evas_object_stack_below()</a>, <a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">evas_object_text_font_set()</a>, and <a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532">evas_object_text_text_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga64f5f2d26a018f4e6154b91251e6bb13"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_out" ref="ga64f5f2d26a018f4e6154b91251e6bb13" args="(Evas *e, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_out </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse out event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>Timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse out event happens. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out::buttons</a>, and <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">EVAS_CALLBACK_MOUSE_OUT</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gacb400569d04ecfd2b89eb0f39856581c"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_up" ref="gacb400569d04ecfd2b89eb0f39856581c" args="(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_up </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a>&nbsp;</td>
+          <td class="paramname"> <em>flags</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse up event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The button number. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>evas button flags. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse button is released. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__Up.html#aa513164499624ee1e6f1790899efe60f">_Evas_Event_Mouse_Up::button</a>, <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In::buttons</a>, <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out::buttons</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">EVAS_CALLBACK_MOUSE_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">EVAS_CALLBACK_MOUSE_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7">EVAS_CALLBACK_MOUSE_UP</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385">evas_event_feed_mouse_cancel()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga393156722bbe1ce384f0ab33ab76a1f2"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_wheel" ref="ga393156722bbe1ce384f0ab33ab76a1f2" args="(Evas *e, int direction, int z, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_wheel </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>direction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>z</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse wheel event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>direction</em>&nbsp;</td><td>The wheel mouse direction. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>How much mouse wheel was scrolled up or down. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse wheel is scrolled up or down. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4">EVAS_CALLBACK_MOUSE_WHEEL</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabc15f5115b4baaeafd2d144f307b6b64"></a><!-- doxytag: member="evas_events.c::evas_event_freeze_get" ref="gabc15f5115b4baaeafd2d144f307b6b64" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_event_freeze_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the freeze count of a given canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to fetch the freeze count from.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This returns the number of times the canvas has been told to freeze events. It is possible to call <a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e" title="Freeze all event processing.">evas_event_freeze()</a> multiple times, and these must be matched by <a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1" title="Thaw a canvas out after freezing.">evas_event_thaw()</a> calls. This call allows the program to discover just how many times things have been frozen in case it may want to break out of a deep freeze state where the count is high.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+
+ <span class="keywordflow">while</span> (<a class="code" href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64" title="Return the freeze count of a given canvas.">evas_event_freeze_get</a>(evas) &gt; 0) <a class="code" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1" title="Thaw a canvas out after freezing.">evas_event_thaw</a>(evas);
+</pre></div> 
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Event__Freezing__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Event__Freezing__Group.html
new file mode 100644 (file)
index 0000000..3e637d8
--- /dev/null
@@ -0,0 +1,174 @@
+<html>
+<head>
+    <title>Evas: Event Freezing Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Event Freezing Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deal with the freezing of event processing of an evas.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e">evas_event_freeze</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Freeze all event processing.  <a href="#ga45fee3a26820b56527e434f6173c345e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1">evas_event_thaw</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thaw a canvas out after freezing.  <a href="#ga4f08e6b3eece51bf285f1226629924e1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deal with the freezing of event processing of an evas. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga45fee3a26820b56527e434f6173c345e"></a><!-- doxytag: member="evas_events.c::evas_event_freeze" ref="ga45fee3a26820b56527e434f6173c345e" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_freeze </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Freeze all event processing. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to freeze event processing on.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will indicate to evas that the canvas <code>e</code> is to have all event processing frozen until a matching <a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1" title="Thaw a canvas out after freezing.">evas_event_thaw()</a> function is called on the same canvas. Every freeze call must be matched by a thaw call in order to completely thaw out a canvas.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
+
+ <a class="code" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e" title="Freeze all event processing.">evas_event_freeze</a>(evas);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(<span class="keywordtype">object</span>, 50, 100);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(<span class="keywordtype">object</span>, 200, 200);
+ <a class="code" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1" title="Thaw a canvas out after freezing.">evas_event_thaw</a>(evas);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga4f08e6b3eece51bf285f1226629924e1"></a><!-- doxytag: member="evas_events.c::evas_event_thaw" ref="ga4f08e6b3eece51bf285f1226629924e1" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_thaw </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Thaw a canvas out after freezing. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to thaw out.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This will thaw out a canvas after a matching <a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e" title="Freeze all event processing.">evas_event_freeze()</a> call. If this call completely thaws out a canvas, events will start being processed again after this call, but this call will not invole any "missed" events to be evaluated.</p>
+<p>See <a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e" title="Freeze all event processing.">evas_event_freeze()</a> for an example. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Font__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Font__Group.html
new file mode 100644 (file)
index 0000000..e8b4f61
--- /dev/null
@@ -0,0 +1,449 @@
+<html>
+<head>
+    <title>Evas: Font Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Font Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deals with fonts.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html">Font Path Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that edit the paths being used to load fonts. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags for Font Hinting.  <a href="#gaaed9273c1705a3d2356470c60b2f5aa5"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338">EVAS_FONT_HINTING_NONE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440">EVAS_FONT_HINTING_AUTO</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e">EVAS_FONT_HINTING_BYTECODE</a>
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Flags for Font Hinting. </p>
+ <a href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaf39062952fc420ff32fbacfb8c27bd7d">evas_font_hinting_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a> hinting)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the font hinting for the given evas.  <a href="#gaf39062952fc420ff32fbacfb8c27bd7d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gafe785a87743b72d8064f0562fd79cc75">evas_font_hinting_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the font hinting used by the given evas.  <a href="#gafe785a87743b72d8064f0562fd79cc75"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaa4210fa6661330e67ec4c9cbde775b4b">evas_font_hinting_can_hint</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a> hinting)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the font hinting is supported by the given evas.  <a href="#gaa4210fa6661330e67ec4c9cbde775b4b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gad75ac8ed0c921e774f1c519a66f05a2f">evas_font_cache_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force the given evas and associated engine to flush its font cache.  <a href="#gad75ac8ed0c921e774f1c519a66f05a2f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga5582cfcdb08f6253225bb8cede49033a">evas_font_cache_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of font cache of the given evas.  <a href="#ga5582cfcdb08f6253225bb8cede49033a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga9cf39aae3074cac05c4aafa3ff24c32f">evas_font_cache_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of font cache of the given evas.  <a href="#ga9cf39aae3074cac05c4aafa3ff24c32f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga9d51a2efecf89a81a2990db252f3dc6c">evas_font_available_list</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of available font descriptions known or found by this evas.  <a href="#ga9d51a2efecf89a81a2990db252f3dc6c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467">evas_font_available_list_free</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Eina_List *available)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free list of font descriptions returned by evas_font_dir_available_list().  <a href="#gadde47be1a7d61f416bfa365a5a1e1467"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deals with fonts. </p>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="gaaed9273c1705a3d2356470c60b2f5aa5"></a><!-- doxytag: member="Evas.h::Evas_Font_Hinting_Flags" ref="gaaed9273c1705a3d2356470c60b2f5aa5" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a>  <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Font Hinting. </p>
+<p>Flags for Font Hinting </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ga49208864211c97ac1a09f03318aa253c"></a><!-- doxytag: member="Evas.h::_Evas_Font_Hinting_Flags" ref="ga49208864211c97ac1a09f03318aa253c" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Font Hinting. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338"></a><!-- doxytag: member="EVAS_FONT_HINTING_NONE" ref="gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338" args="" -->EVAS_FONT_HINTING_NONE</em>&nbsp;</td><td>
+<p>No font hinting. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440"></a><!-- doxytag: member="EVAS_FONT_HINTING_AUTO" ref="gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440" args="" -->EVAS_FONT_HINTING_AUTO</em>&nbsp;</td><td>
+<p>Automatic font hinting. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e"></a><!-- doxytag: member="EVAS_FONT_HINTING_BYTECODE" ref="gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e" args="" -->EVAS_FONT_HINTING_BYTECODE</em>&nbsp;</td><td>
+<p>Bytecode font hinting. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga9d51a2efecf89a81a2990db252f3dc6c"></a><!-- doxytag: member="evas_object_text.c::evas_font_available_list" ref="ga9d51a2efecf89a81a2990db252f3dc6c" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_font_available_list </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>List of available font descriptions known or found by this evas. </p>
+<p>The list depends on Evas compile time configuration, such as fontconfig support, and the paths provided at runtime as explained in <a class="el" href="group__Evas__Font__Path__Group.html">Font Path Functions</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas instance to query. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a newly allocated list of strings. Do not change the strings. Be sure to call <a class="el" href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467" title="Free list of font descriptions returned by evas_font_dir_available_list().">evas_font_available_list_free()</a> after you're done. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gadde47be1a7d61f416bfa365a5a1e1467"></a><!-- doxytag: member="evas_object_text.c::evas_font_available_list_free" ref="gadde47be1a7d61f416bfa365a5a1e1467" args="(Evas *e, Eina_List *available)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_available_list_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_List *&nbsp;</td>
+          <td class="paramname"> <em>available</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Free list of font descriptions returned by evas_font_dir_available_list(). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas instance that returned such list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>available</em>&nbsp;</td><td>the list returned by evas_font_dir_available_list(). </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gad75ac8ed0c921e774f1c519a66f05a2f"></a><!-- doxytag: member="evas_object_text.c::evas_font_cache_flush" ref="gad75ac8ed0c921e774f1c519a66f05a2f" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_cache_flush </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Force the given evas and associated engine to flush its font cache. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas to flush font cache. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9cf39aae3074cac05c4aafa3ff24c32f"></a><!-- doxytag: member="evas_object_text.c::evas_font_cache_get" ref="ga9cf39aae3074cac05c4aafa3ff24c32f" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_font_cache_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Changes the size of font cache of the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas to flush font cache. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size, in bytes. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5582cfcdb08f6253225bb8cede49033a"></a><!-- doxytag: member="evas_object_text.c::evas_font_cache_set" ref="ga5582cfcdb08f6253225bb8cede49033a" args="(Evas *e, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_cache_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Changes the size of font cache of the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas to flush font cache. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size, in bytes. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa4210fa6661330e67ec4c9cbde775b4b"></a><!-- doxytag: member="evas_object_text.c::evas_font_hinting_can_hint" ref="gaa4210fa6661330e67ec4c9cbde775b4b" args="(const Evas *e, Evas_Font_Hinting_Flags hinting)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_font_hinting_can_hint </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a>&nbsp;</td>
+          <td class="paramname"> <em>hinting</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Checks if the font hinting is supported by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas to query. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hinting</em>&nbsp;</td><td>The hinting to use, one of <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338" title="No font hinting.">EVAS_FONT_HINTING_NONE</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440" title="Automatic font hinting.">EVAS_FONT_HINTING_AUTO</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e" title="Bytecode font hinting.">EVAS_FONT_HINTING_BYTECODE</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if it is supported, <code>EINA_FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gafe785a87743b72d8064f0562fd79cc75"></a><!-- doxytag: member="evas_object_text.c::evas_font_hinting_get" ref="gafe785a87743b72d8064f0562fd79cc75" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a> evas_font_hinting_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the font hinting used by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas to query. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The hinting in use, one of <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338" title="No font hinting.">EVAS_FONT_HINTING_NONE</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440" title="Automatic font hinting.">EVAS_FONT_HINTING_AUTO</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e" title="Bytecode font hinting.">EVAS_FONT_HINTING_BYTECODE</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf39062952fc420ff32fbacfb8c27bd7d"></a><!-- doxytag: member="evas_object_text.c::evas_font_hinting_set" ref="gaf39062952fc420ff32fbacfb8c27bd7d" args="(Evas *e, Evas_Font_Hinting_Flags hinting)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_hinting_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a>&nbsp;</td>
+          <td class="paramname"> <em>hinting</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Changes the font hinting for the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hinting</em>&nbsp;</td><td>The hinting to use, one of <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338" title="No font hinting.">EVAS_FONT_HINTING_NONE</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440" title="Automatic font hinting.">EVAS_FONT_HINTING_AUTO</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e" title="Bytecode font hinting.">EVAS_FONT_HINTING_BYTECODE</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Font__Path__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Font__Path__Group.html
new file mode 100644 (file)
index 0000000..7197110
--- /dev/null
@@ -0,0 +1,242 @@
+<html>
+<head>
+    <title>Evas: Font Path Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Font Path Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Font__Group.html">Font Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that edit the paths being used to load fonts.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">evas_font_path_clear</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all font paths loaded into memory for the given evas.  <a href="#gad565539bda0fc124e4a0865fa29a8463"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#ga0ec22ec047841db059a9f6f0b2ec5918">evas_font_path_append</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *path)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends a font path to the list of font paths used by the given evas.  <a href="#ga0ec22ec047841db059a9f6f0b2ec5918"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#ga652be59a6b8a2e7ecb71bef3ac31885b">evas_font_path_prepend</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *path)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepends a font path to the list of font paths used by the given evas.  <a href="#ga652be59a6b8a2e7ecb71bef3ac31885b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#ga06fc80b3e4c27237a571404fc6aa3aeb">evas_font_path_list</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the list of font paths used by the given evas.  <a href="#ga06fc80b3e4c27237a571404fc6aa3aeb"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that edit the paths being used to load fonts. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga0ec22ec047841db059a9f6f0b2ec5918"></a><!-- doxytag: member="evas_object_text.c::evas_font_path_append" ref="ga0ec22ec047841db059a9f6f0b2ec5918" args="(Evas *e, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_path_append </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Appends a font path to the list of font paths used by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The new font path. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gad565539bda0fc124e4a0865fa29a8463"></a><!-- doxytag: member="evas_object_text.c::evas_font_path_clear" ref="gad565539bda0fc124e4a0865fa29a8463" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_path_clear </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Removes all font paths loaded into memory for the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">evas_free()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga06fc80b3e4c27237a571404fc6aa3aeb"></a><!-- doxytag: member="evas_object_text.c::evas_font_path_list" ref="ga06fc80b3e4c27237a571404fc6aa3aeb" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const Eina_List* evas_font_path_list </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the list of font paths used by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The list of font paths used. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga652be59a6b8a2e7ecb71bef3ac31885b"></a><!-- doxytag: member="evas_object_text.c::evas_font_path_prepend" ref="ga652be59a6b8a2e7ecb71bef3ac31885b" args="(Evas *e, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_path_prepend </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Prepends a font path to the list of font paths used by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The new font path. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Group.html
new file mode 100644 (file)
index 0000000..efb5d6c
--- /dev/null
@@ -0,0 +1,303 @@
+<html>
+<head>
+    <title>Evas: Top Level Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Top Level Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that affect Evas as a whole.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd">evas_async_events_fd_get</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get evas' internal asynchronous events read file descriptor.  <a href="#ga7e59dbbc6b37d4ce63bea067851ceedd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47">evas_async_events_process</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trigger the processing of all events waiting on the file descriptor returned by <a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd" title="Get evas&#39; internal asynchronous events read file descriptor.">evas_async_events_fd_get()</a>.  <a href="#ga9f99c6cd0bf0621bdd61d1085999ef47"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga5c1059b55fbca7f55037c4ce52d5d6ca">evas_async_events_put</a> (const void *target, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, void *event_info, Evas_Async_Events_Put_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert asynchronous events on the canvas.  <a href="#ga5c1059b55fbca7f55037c4ce52d5d6ca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c">evas_init</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize Evas.  <a href="#ga939a904ec53bf80796a8ad763cbb4c3c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed">evas_shutdown</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shutdown Evas.  <a href="#ga3170193ec2e0ce4d7f0eb55de71060ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#ae0181b78df8e248703a72a978d271208">Evas_Alloc_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9">evas_alloc_error</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return if any allocation errors have occurred during the prior function.  <a href="#ga1c782b4511e3b8678a2166c651053ac9"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that affect Evas as a whole. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga1c782b4511e3b8678a2166c651053ac9"></a><!-- doxytag: member="main.c::evas_alloc_error" ref="ga1c782b4511e3b8678a2166c651053ac9" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#ae0181b78df8e248703a72a978d271208">Evas_Alloc_Error</a> evas_alloc_error </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return if any allocation errors have occurred during the prior function. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The allocation error flag</dd></dl>
+<p>This function will return if any memory allocation errors occurred during, and what kind they were. The return value will be one of EVAS_ALLOC_ERROR_NONE, EVAS_ALLOC_ERROR_FATAL or EVAS_ALLOC_ERROR_RECOVERED with each meaning something different.</p>
+<p>EVAS_ALLOC_ERROR_NONE means that no errors occurred at all and the function worked as expected.</p>
+<p>EVAS_ALLOC_ERROR_FATAL means the function was completely unable to perform its job and will have exited as cleanly as possible. The programmer should consider this as a sign of very low memory and should try and safely recover from the prior functions failure (or try free up memory elsewhere and try again after more memory is freed).</p>
+<p>EVAS_ALLOC_ERROR_RECOVERED means that an allocation error occurred, but was recovered from by evas finding memory of its own it has allocated and freeing what it sees as not really usefully allocated memory. What is freed may vary. Evas may reduce the resolution of images, free cached images or fonts, trhow out pre-rendered data, reduce the complexity of change lists etc. Evas and the program will function as per normal after this, but this is a sign of low memory, and it is suggested that the program try and identify memory it doesn't need, and free it.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
+ <span class="keywordtype">void</span> callback (<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+
+ <a class="code" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>, callback, NULL);
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() == <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e" title="Allocation failed despite attempts to free up memory.">EVAS_ALLOC_ERROR_FATAL</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Completely unable to attach callabck. Must\n&quot;</span>);
+     fprintf(stderr, <span class="stringliteral">&quot;       destroy object now as it cannot be used.\n&quot;</span>);
+     <a class="code" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd" title="Deletes the given evas object and frees its memory.">evas_object_del</a>(<span class="keywordtype">object</span>);
+     <span class="keywordtype">object</span> = NULL;
+     fprintf(stderr, <span class="stringliteral">&quot;WARNING: Memory is really low. Cleaning out RAM.\n&quot;</span>);
+     my_memory_cleanup();
+   }
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() == <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e" title="Allocation succeeded, but extra memory had to be found by freeing up speculative resources.">EVAS_ALLOC_ERROR_RECOVERED</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;WARNING: Memory is really low. Cleaning out RAM.\n&quot;</span>);
+     my_memory_cleanup();
+   }
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga7e59dbbc6b37d4ce63bea067851ceedd"></a><!-- doxytag: member="evas_async_events.c::evas_async_events_fd_get" ref="ga7e59dbbc6b37d4ce63bea067851ceedd" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_async_events_fd_get </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get evas' internal asynchronous events read file descriptor. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The canvas' asynchronous events read file descriptor.</dd></dl>
+<p>Evas' asynchronous events are meant to be dealt with internally, i. e., when building stuff to be glued together into the EFL infrastructure -- a module, for example. The context which demands its use is when calculations need to be done out of the main thread, asynchronously, and some action must be performed after that.</p>
+<p>An example of actual use of this API is for image asynchronous preload inside evas. If the canvas was instantiated through ecore-evas usage, ecore itself will take care of calling those events' processing.</p>
+<p>This function returns the read file descriptor where to get the asynchronous events of the canvas. Naturally, other mainloops, apart from ecore, may make use of it. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga9f99c6cd0bf0621bdd61d1085999ef47"></a><!-- doxytag: member="evas_async_events.c::evas_async_events_process" ref="ga9f99c6cd0bf0621bdd61d1085999ef47" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_async_events_process </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Trigger the processing of all events waiting on the file descriptor returned by <a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd" title="Get evas&#39; internal asynchronous events read file descriptor.">evas_async_events_fd_get()</a>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of events processed.</dd></dl>
+<p>All asynchronous events queued up by <a class="el" href="group__Evas__Group.html#ga5c1059b55fbca7f55037c4ce52d5d6ca" title="Insert asynchronous events on the canvas.">evas_async_events_put()</a> are processed here. More precisely, the callback functions, informed together with other event parameters, when queued, get called (with those parameters), in that order. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5c1059b55fbca7f55037c4ce52d5d6ca"></a><!-- doxytag: member="evas_async_events.c::evas_async_events_put" ref="ga5c1059b55fbca7f55037c4ce52d5d6ca" args="(const void *target, Evas_Callback_Type type, void *event_info, Evas_Async_Events_Put_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_async_events_put </td>
+          <td>(</td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>target</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>event_info</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Async_Events_Put_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Insert asynchronous events on the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>target</em>&nbsp;</td><td>The target to be affected by the events. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>event_info</em>&nbsp;</td><td>Information about the event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The callback function pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This is the way, for a routine running outside evas' main thread, to report an asynchronous event. A callback function is informed, whose call is to happen after <a class="el" href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47" title="Trigger the processing of all events waiting on the file descriptor returned by evas_async_events_fd_...">evas_async_events_process()</a> is called. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga939a904ec53bf80796a8ad763cbb4c3c"></a><!-- doxytag: member="evas_main.c::evas_init" ref="ga939a904ec53bf80796a8ad763cbb4c3c" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_init </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initialize Evas. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The init counter value.</dd></dl>
+<p>This function initialize evas, increments a counter of the number of calls to this function and returns this value.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed" title="Shutdown Evas.">evas_shutdown()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3170193ec2e0ce4d7f0eb55de71060ed"></a><!-- doxytag: member="evas_main.c::evas_shutdown" ref="ga3170193ec2e0ce4d7f0eb55de71060ed" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_shutdown </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Shutdown Evas. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The init counter value.</dd></dl>
+<p>This function finalize evas, decrements the counter of the number of calls to the function <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a> and returns this value.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a>. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Image__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Image__Group.html
new file mode 100644 (file)
index 0000000..e9a9274
--- /dev/null
@@ -0,0 +1,237 @@
+<html>
+<head>
+    <title>Evas: Image Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Image Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deals with images at canvas level.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214">evas_image_cache_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush the image cache of the canvas.  <a href="#gab236c9384f6fc7a3e1563839720a8214"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981">evas_image_cache_reload</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reload the image cache.  <a href="#gaec7f0a6cd5e39ebc6f0a80e945127981"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gab28271aad78206e5ee9bed62e0decfa7">evas_image_cache_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the image cache.  <a href="#gab28271aad78206e5ee9bed62e0decfa7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gad7ee7f4627d198c0de0ff197fe2f9ed0">evas_image_cache_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the image cache.  <a href="#gad7ee7f4627d198c0de0ff197fe2f9ed0"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deals with images at canvas level. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gab236c9384f6fc7a3e1563839720a8214"></a><!-- doxytag: member="evas_object_image.c::evas_image_cache_flush" ref="gab236c9384f6fc7a3e1563839720a8214" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_image_cache_flush </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flush the image cache of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function flushes image cache of canvas. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981">evas_image_cache_reload()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad7ee7f4627d198c0de0ff197fe2f9ed0"></a><!-- doxytag: member="evas_object_image.c::evas_image_cache_get" ref="gad7ee7f4627d198c0de0ff197fe2f9ed0" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_image_cache_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the image cache. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the image cache of canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaec7f0a6cd5e39ebc6f0a80e945127981"></a><!-- doxytag: member="evas_object_image.c::evas_image_cache_reload" ref="gaec7f0a6cd5e39ebc6f0a80e945127981" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_image_cache_reload </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Reload the image cache. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function reloads the image cache of canvas. </p>
+
+<p>References <a class="el" href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214">evas_image_cache_flush()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab28271aad78206e5ee9bed62e0decfa7"></a><!-- doxytag: member="evas_object_image.c::evas_image_cache_set" ref="gab28271aad78206e5ee9bed62e0decfa7" args="(Evas *e, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_image_cache_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the image cache. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The cache size.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets the image cache of canvas. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Line__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Line__Group.html
new file mode 100644 (file)
index 0000000..ea26f4a
--- /dev/null
@@ -0,0 +1,256 @@
+<html>
+<head>
+    <title>Evas: Line Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Line Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions used to deal with evas line objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#ga896f1beaea24379495af4cbc5efcebfe">evas_object_line_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a new evas line object to the given evas.  <a href="#ga896f1beaea24379495af4cbc5efcebfe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174">evas_object_line_xy_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the coordinates of the end points of the given evas line object.  <a href="#gaa43185929e6e41e9c7315d2230665174"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#ga3fa674863aa41d655caa103f546a9092">evas_object_line_xy_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the coordinates of the end points of the given evas line object.  <a href="#ga3fa674863aa41d655caa103f546a9092"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions used to deal with evas line objects. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga896f1beaea24379495af4cbc5efcebfe"></a><!-- doxytag: member="evas_object_line.c::evas_object_line_add" ref="ga896f1beaea24379495af4cbc5efcebfe" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_line_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a new evas line object to the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new evas line object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3fa674863aa41d655caa103f546a9092"></a><!-- doxytag: member="evas_object_line.c::evas_object_line_xy_get" ref="ga3fa674863aa41d655caa103f546a9092" args="(const Evas_Object *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_line_xy_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the coordinates of the end points of the given evas line object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given line object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x1</em>&nbsp;</td><td>Pointer to an integer in which to store the X coordinate of the first end point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y1</em>&nbsp;</td><td>Pointer to an integer in which to store the Y coordinate of the first end point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x2</em>&nbsp;</td><td>Pointer to an integer in which to store the X coordinate of the second end point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y2</em>&nbsp;</td><td>Pointer to an integer in which to store the Y coordinate of the second end point. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa43185929e6e41e9c7315d2230665174"></a><!-- doxytag: member="evas_object_line.c::evas_object_line_xy_set" ref="gaa43185929e6e41e9c7315d2230665174" args="(Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_line_xy_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the coordinates of the end points of the given evas line object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas line object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x1</em>&nbsp;</td><td>The X coordinate of the first point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y1</em>&nbsp;</td><td>The Y coordinate of the first point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x2</em>&nbsp;</td><td>The X coordinate of the second point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y2</em>&nbsp;</td><td>The Y coordinate of the second point. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Box.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Box.html
new file mode 100644 (file)
index 0000000..b5ae442
--- /dev/null
@@ -0,0 +1,1376 @@
+<html>
+<head>
+    <title>Evas: Box (Sequence) Smart Object.</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Box (Sequence) Smart Object.<br/>
+<small>
+[<a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Convenience smart object that packs children as a sequence using a layout function specified by user.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a>.  <a href="struct__Evas__Object__Box__Api.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure augments clipped smart object's instance data, providing extra members required by generic box implementation.  <a href="struct__Evas__Object__Box__Data.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8">EVAS_OBJECT_BOX_API_INIT</a>(smart_class_init)&nbsp;&nbsp;&nbsp;{smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer for whole Evas_Object_Box_Api structure.  <a href="#ga118b1b5bc278185207e7651911637ac8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa">EVAS_OBJECT_BOX_API_INIT_NULL</a>&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure.  <a href="#gacfe469ef2fc811ab4af8c77105bf4baa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1">EVAS_OBJECT_BOX_API_INIT_VERSION</a>&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure and set version.  <a href="#gabab7b773ecb31ecbf661646d5db1bea1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7">EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</a>(name)&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.  <a href="#gad35b8c6b395f976397abbb6f964878e7"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2a8fbeeab4f5ae23e7bc1b291e27c5e1"></a><!-- doxytag: member="Evas_Object_Box::Evas_Object_Box_Api" ref="ga2a8fbeeab4f5ae23e7bc1b291e27c5e1" args="" -->
+typedef struct <a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga2a8fbeeab4f5ae23e7bc1b291e27c5e1">Evas_Object_Box_Api</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart Class extension providing extra box requirements. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac9047b7cff95df59f61c7321967caf7b"></a><!-- doxytag: member="Evas_Object_Box::Evas_Object_Box_Data" ref="gac9047b7cff95df59f61c7321967caf7b" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gac9047b7cff95df59f61c7321967caf7b">Evas_Object_Box_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart instance data providing box requirements. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabbeb05bf47aaf7681e9d83a1b0055d20"></a><!-- doxytag: member="Evas_Object_Box::Evas_Object_Box_Option" ref="gabbeb05bf47aaf7681e9d83a1b0055d20" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Object_Box_Option&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base structure for a box option. <br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">evas_object_box_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *evas)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new box.  <a href="#ga84e87534e6a45a725d59c0366f4e6544"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">evas_object_box_add_to</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *parent)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a box that is child of a given element <em>parent</em>.  <a href="#gaf332313478211a06a09038755cf139bf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga19c407e45de527d9400823fb1c85d0fe">evas_object_box_smart_set</a> (<a class="el" href="struct__Evas__Object__Box__Api.html">Evas_Object_Box_Api</a> *api)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the default box <em>api</em> struct (Evas_Object_Box_Api) with the default values.  <a href="#ga19c407e45de527d9400823fb1c85d0fe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga58da2c7328e5c8a01a8817f934d083ff"></a><!-- doxytag: member="Evas_Object_Box::evas_object_box_smart_class_get" ref="ga58da2c7328e5c8a01a8817f934d083ff" args="(void)" -->
+EAPI const <a class="el" href="struct__Evas__Object__Box__Api.html">Evas_Object_Box_Api</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">evas_object_box_smart_class_get</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get Box Smart Class for inheritance purposes. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570">evas_object_box_layout_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Object_Box_Layout cb, const void *data, void(*free_data)(void *data))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a 'calculate' callback (<em>cb</em>) to the <em>o</em> box's smart class, which here defines its genre (horizontal, vertical, homogeneous, etc.  <a href="#ga2116d23c11ab08d7c50cbcb588de5570"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a (basic) horizontal box.  <a href="#gaabb841838ce9c05f6b99350d15b76aaf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a (basic) vertical box.  <a href="#ga1e102aa54789b74f54944c17d0a880db"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *homogeneous* horizontal box.  <a href="#gac4478016783bad6d2170571a11a23e21"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *homogeneous* vertical box.  <a href="#gaa860afd56866955550ae650464d2dc9a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *max size-homogeneous* horizontal box.  <a href="#gab9e441a27ebe6253ef1b9d6d25ee9bc4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *max size-homogeneous* vertical box.  <a href="#gabccbf4cf59018eac96c9281576b61abf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *flow* horizontal box.  <a href="#ga99ee061972f53fb7d9213d586c29cc8d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *flow* vertical box.  <a href="#gaa6e0bf47f84d7bb1b2439f4b6123e7d7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to set all children to the size of the object.  <a href="#gae40153d3702dcb79f2587364cde2fb7b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae66fe763591e62621cf6352528d97e10"></a><!-- doxytag: member="Evas_Object_Box::evas_object_box_align_set" ref="gae66fe763591e62621cf6352528d97e10" args="(Evas_Object *o, double horizontal, double vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gae66fe763591e62621cf6352528d97e10">evas_object_box_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double horizontal, double vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad87e3a868b14d1a28da7511f95b59673"></a><!-- doxytag: member="Evas_Object_Box::evas_object_box_align_get" ref="gad87e3a868b14d1a28da7511f95b59673" args="(const Evas_Object *o, double *horizontal, double *vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad87e3a868b14d1a28da7511f95b59673">evas_object_box_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double *horizontal, double *vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga75ab3d2f84c328010c26a6b8d89c9c67"></a><!-- doxytag: member="Evas_Object_Box::evas_object_box_padding_set" ref="ga75ab3d2f84c328010c26a6b8d89c9c67" args="(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga75ab3d2f84c328010c26a6b8d89c9c67">evas_object_box_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord horizontal, Evas_Coord vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the space (padding) between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab24383f3b29c8bc78c98cd0b0f16902d"></a><!-- doxytag: member="Evas_Object_Box::evas_object_box_padding_get" ref="gab24383f3b29c8bc78c98cd0b0f16902d" args="(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gab24383f3b29c8bc78c98cd0b0f16902d">evas_object_box_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord *horizontal, Evas_Coord *vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the (space) padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaa06e910577a949fc55b3a661d17f2fb3">evas_object_box_append</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a new object <em>child</em> to the box <em>o</em>.  <a href="#gaa06e910577a949fc55b3a661d17f2fb3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga0fec96faf6bbc106b8af28ff479ddfc3">evas_object_box_prepend</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepend a new object <em>child</em> to the box <em>o</em>.  <a href="#ga0fec96faf6bbc106b8af28ff479ddfc3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga5759fa41a7c3541f43ae98f58bd1ec85">evas_object_box_insert_before</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child, const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *reference)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepend a new object <em>child</em> to the box <code>o</code> relative to element <em>reference</em>.  <a href="#ga5759fa41a7c3541f43ae98f58bd1ec85"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga9b1fc7ee0200ce3917da70b00fb8637c">evas_object_box_insert_after</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child, const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *reference)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a new object <em>child</em> to the box <code>o</code> relative to element <em>reference</em>.  <a href="#ga9b1fc7ee0200ce3917da70b00fb8637c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga01b2f0564057297d6853844b77fba3a6">evas_object_box_insert_at</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child, unsigned int pos)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a new object <em>child</em> to the box <em>o</em> at position <em>pos</em>.  <a href="#ga01b2f0564057297d6853844b77fba3a6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga90c644be44c06e2e4f966cb14b7a93a5">evas_object_box_remove</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove an object <em>child</em> from the box <em>o</em>.  <a href="#ga90c644be44c06e2e4f966cb14b7a93a5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">evas_object_box_remove_at</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, unsigned int pos)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove an object from the box <em>o</em> which occupies position <em>pos</em>.  <a href="#ga7d6a7321327f1398790d1f12cccd38f3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">evas_object_box_remove_all</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Eina_Bool clear)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all child objects.  <a href="#ga6c114f237f66c0208f0669783f671318"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Iterator *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga2a3ceff4f02512fa7f85618252eacbdc">evas_object_box_iterator_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an iterator to walk the list of children for the box.  <a href="#ga2a3ceff4f02512fa7f85618252eacbdc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Accessor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad5c5837393bd163f6cde72bde073333b">evas_object_box_accessor_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an accessor to get random access to the list of children for the box.  <a href="#gad5c5837393bd163f6cde72bde073333b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga542294a74645829cd5531a8ddec32d9c">evas_object_box_children_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of children for the box.  <a href="#ga542294a74645829cd5531a8ddec32d9c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad6b908faeca8fb7e16c002509a86ffab">evas_object_box_option_property_name_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, int property)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the name of the property of the child elements of the box <em>o</em> whose id is <em>property</em>.  <a href="#gad6b908faeca8fb7e16c002509a86ffab"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga1b799e5048ba268f47212e29cd8cc3fb">evas_object_box_option_property_id_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the id of the property of the child elements of the box <em>o</em> whose name is <em>name</em>.  <a href="#ga1b799e5048ba268f47212e29cd8cc3fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gae2892100753fd70af716f415637f6d86">evas_object_box_option_property_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *opt, int property,...)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>.  <a href="#gae2892100753fd70af716f415637f6d86"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga56c828490bb5778be68908147c32fa6d">evas_object_box_option_property_vset</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *opt, int property, va_list args)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>.  <a href="#ga56c828490bb5778be68908147c32fa6d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga688c2cd7e2901fd491ff3b4a78dace89">evas_object_box_option_property_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *opt, int property,...)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>.  <a href="#ga688c2cd7e2901fd491ff3b4a78dace89"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga987c048602d55d921c250d1cc57b5873">evas_object_box_option_property_vget</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *opt, int property, va_list args)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>.  <a href="#ga987c048602d55d921c250d1cc57b5873"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Convenience smart object that packs children as a sequence using a layout function specified by user. </p>
+<p>There are a couple of helper layout functions, all of them using children size hints to define their size and alignment inside their cell space.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Size__Hints.html">Size Hints</a> </dd></dl>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga118b1b5bc278185207e7651911637ac8"></a><!-- doxytag: member="Evas.h::EVAS_OBJECT_BOX_API_INIT" ref="ga118b1b5bc278185207e7651911637ac8" args="(smart_class_init)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_OBJECT_BOX_API_INIT</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">smart_class_init</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;{smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer for whole Evas_Object_Box_Api structure. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>smart_class_init</em>&nbsp;</td><td>initializer to use for the "base" field (Evas_Smart_Class).</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562" title="Initializer to zero a whole Evas_Smart_Class structure and set version.">EVAS_SMART_CLASS_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa" title="Initializer to zero a whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1" title="Initializer to zero a whole Evas_Object_Box_Api structure and set version.">EVAS_OBJECT_BOX_API_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7" title="Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.">EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad35b8c6b395f976397abbb6f964878e7"></a><!-- doxytag: member="Evas.h::EVAS_OBJECT_BOX_API_INIT_NAME_VERSION" ref="gad35b8c6b395f976397abbb6f964878e7" args="(name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">name</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Object_Box_Api structure and set name and version. </p>
+<p>Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION and name to the specific value.</p>
+<p>It will keep a reference to name field as a "const char *", that is, name must be available while the structure is used (hint: static or global!) and will not be modified.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa" title="Initializer to zero a whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1" title="Initializer to zero a whole Evas_Object_Box_Api structure and set version.">EVAS_OBJECT_BOX_API_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8" title="Initializer for whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">evas_object_box_smart_class_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gacfe469ef2fc811ab4af8c77105bf4baa"></a><!-- doxytag: member="Evas.h::EVAS_OBJECT_BOX_API_INIT_NULL" ref="gacfe469ef2fc811ab4af8c77105bf4baa" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_OBJECT_BOX_API_INIT_NULL&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Object_Box_Api structure. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1" title="Initializer to zero a whole Evas_Object_Box_Api structure and set version.">EVAS_OBJECT_BOX_API_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7" title="Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.">EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8" title="Initializer for whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabab7b773ecb31ecbf661646d5db1bea1"></a><!-- doxytag: member="Evas.h::EVAS_OBJECT_BOX_API_INIT_VERSION" ref="gabab7b773ecb31ecbf661646d5db1bea1" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_OBJECT_BOX_API_INIT_VERSION&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Object_Box_Api structure and set version. </p>
+<p>Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa" title="Initializer to zero a whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7" title="Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.">EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8" title="Initializer for whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT</a> </dd></dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gad5c5837393bd163f6cde72bde073333b"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_accessor_new" ref="gad5c5837393bd163f6cde72bde073333b" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Accessor* evas_object_box_accessor_new </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get an accessor to get random access to the list of children for the box. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Do not remove or delete objects while walking the list. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga84e87534e6a45a725d59c0366f4e6544"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_add" ref="ga84e87534e6a45a725d59c0366f4e6544" args="(Evas *evas)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_box_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>evas</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create a new box. </p>
+<p>Its layout function must be set via <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a> (defaults to <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf" title="Layout function which sets the box o to a (basic) horizontal box.">evas_object_box_layout_horizontal()</a>). The other properties of the box must be set/retrieved via evas_object_box_{h,v}_{align,padding}_{get,set)(). </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#gaa61f845ee24ddb252a6fcb76d5f3c148">evas_object_smart_add()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">evas_object_box_add_to()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf332313478211a06a09038755cf139bf"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_add_to" ref="gaf332313478211a06a09038755cf139bf" args="(Evas_Object *parent)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_box_add_to </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>parent</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create a box that is child of a given element <em>parent</em>. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544" title="Create a new box.">evas_object_box_add()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">evas_object_box_add()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">evas_object_evas_get()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa06e910577a949fc55b3a661d17f2fb3"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_append" ref="gaa06e910577a949fc55b3a661d17f2fb3" args="(Evas_Object *o, Evas_Object *child)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a>* evas_object_box_append </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Append a new object <em>child</em> to the box <em>o</em>. </p>
+<p>On error, <code>NULL</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga542294a74645829cd5531a8ddec32d9c"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_children_get" ref="ga542294a74645829cd5531a8ddec32d9c" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_object_box_children_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the list of children for the box. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>This is a duplicate of the list kept by the box internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the box when walking this list, but these removals won't be reflected on it. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9b1fc7ee0200ce3917da70b00fb8637c"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_insert_after" ref="ga9b1fc7ee0200ce3917da70b00fb8637c" args="(Evas_Object *o, Evas_Object *child, const Evas_Object *reference)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a>* evas_object_box_insert_after </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>reference</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Append a new object <em>child</em> to the box <code>o</code> relative to element <em>reference</em>. </p>
+<p>If <em>reference</em> is not contained in the box or any other error occurs, <code>NULL</code> is returend. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga01b2f0564057297d6853844b77fba3a6"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_insert_at" ref="ga01b2f0564057297d6853844b77fba3a6" args="(Evas_Object *o, Evas_Object *child, unsigned int pos)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a>* evas_object_box_insert_at </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Insert a new object <em>child</em> to the box <em>o</em> at position <em>pos</em>. </p>
+<p>On error, <code>NULL</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5759fa41a7c3541f43ae98f58bd1ec85"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_insert_before" ref="ga5759fa41a7c3541f43ae98f58bd1ec85" args="(Evas_Object *o, Evas_Object *child, const Evas_Object *reference)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a>* evas_object_box_insert_before </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>reference</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Prepend a new object <em>child</em> to the box <code>o</code> relative to element <em>reference</em>. </p>
+<p>If <em>reference</em> is not contained in the box or any other error occurs, <code>NULL</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2a3ceff4f02512fa7f85618252eacbdc"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_iterator_new" ref="ga2a3ceff4f02512fa7f85618252eacbdc" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Iterator* evas_object_box_iterator_new </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get an iterator to walk the list of children for the box. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Do not remove or delete objects while walking the list. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga99ee061972f53fb7d9213d586c29cc8d"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_flow_horizontal" ref="ga99ee061972f53fb7d9213d586c29cc8d" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_flow_horizontal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *flow* horizontal box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>In a flow horizontal box, the box's child elements are placed in rows (think of text as an analogy). A row has as much elements as can fit into the box's width. The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.</p>
+<dl class="user"><dt><b>box's properties:</b></dt><dd><code>padding_h</code> tells the box to draw empty spaces of that size, in pixels, between the child objects's cells. <code>align_h</code> dictates the horizontal alignment of the rows (0 to left align them, 1 to right align). A value of -1.0 to <code>align_h</code> lets the rows *justified* horizontally. <code>align_v</code> controls the vertical alignment of the entire set of rows (0 to top, 1 to bottom). A value of -1.0 to <code>align_v</code> makes the box to *justify* the rows vertically. The padding between them, in this case, is corrected so that the first row touches the top border and the last one touches the bottom border (even if they must overlap). <code>padding_v</code> has no influence on the layout.</dd></dl>
+<dl class="user"><dt><b>Child element's properties:</b></dt><dd><code>padding_l</code> and <code>padding_r</code> sum up to the required width of the child element. The <code>align_x</code> property has no influence on the layout. The child's <code>padding_t</code> and <code>padding_b</code> sum up to the required height of the child element and is the only means (besides row justifying) of setting space between rows. Note, however, that <code>align_y</code> dictates positioning relative to the *largest height* required by a child object in the actual row. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa6e0bf47f84d7bb1b2439f4b6123e7d7"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_flow_vertical" ref="gaa6e0bf47f84d7bb1b2439f4b6123e7d7" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_flow_vertical </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *flow* vertical box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>This function behaves analogously to <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d" title="Layout function which sets the box o to a *flow* horizontal box.">evas_object_box_layout_flow_horizontal()</a>. The description of its behaviour can be derived from that function's documentation. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac4478016783bad6d2170571a11a23e21"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_homogeneous_horizontal" ref="gac4478016783bad6d2170571a11a23e21" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_homogeneous_horizontal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *homogeneous* horizontal box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>In a homogeneous horizontal box, its width is divided equally between the contained objects. The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.</p>
+<dl class="user"><dt><b>box's properties:</b></dt><dd><code>align_h</code> has no influence on the box for this layout. <code>padding_h</code> tells the box to draw empty spaces of that size, in pixels, between the (still equal) child objects's cells. The <code>align_v</code> and <code>padding_v</code> properties of the box don't contribute to its behaviour when this layout is chosen.</dd></dl>
+<dl class="user"><dt><b>Child element's properties:</b></dt><dd><code>padding_l</code> and <code>padding_r</code> sum up to the required width of the child element. The <code>align_x</code> property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to <code>align_x</code> makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). The child's <code>padding_t</code>, <code>padding_b</code> and <code>align_y</code> properties apply for padding/positioning relative to the overall height of the box. A value of -1.0 to <code>align_y</code> makes the box try to resize this child element to the exact height of its parent (respecting the max hint on the child's height). </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab9e441a27ebe6253ef1b9d6d25ee9bc4"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_homogeneous_max_size_horizontal" ref="gab9e441a27ebe6253ef1b9d6d25ee9bc4" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_homogeneous_max_size_horizontal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *max size-homogeneous* horizontal box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>In a max size-homogeneous horizontal box, the equal sized cells reserved for the child objects have the width of the space required by the largest child (in width). The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.</p>
+<dl class="user"><dt><b>box's properties:</b></dt><dd><code>padding_h</code> tells the box to draw empty spaces of that size, in pixels, between the child objects's cells. <code>align_h</code> controls the horizontal alignment of the child objects relative to the containing box. When set to 0, children are aligned to the left. A value of 1 lets them aligned to the right border. Values in between align them proportionally. A negative value of <code>align_h</code> makes the box to *justify* its children cells. The padding between them, in this case, is corrected so that the leftmost one touches the left border and the rightmost one touches the right border (even if they must overlap). The <code>align_v</code> and <code>padding_v</code> properties of the box don't contribute to its behaviour when this layout is chosen.</dd></dl>
+<dl class="user"><dt><b>Child element's properties:</b></dt><dd><code>padding_l</code> and <code>padding_r</code> sum up to the required width of the child element. The <code>align_x</code> property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to <code>align_x</code> makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). The child's <code>padding_t</code>, <code>padding_b</code> and <code>align_y</code> properties apply for padding/positioning relative to the overall height of the box. A value of -1.0 to <code>align_y</code> makes the box try to resize this child element to the exact height of its parent (respecting the max hint on the child's height). </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabccbf4cf59018eac96c9281576b61abf"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_homogeneous_max_size_vertical" ref="gabccbf4cf59018eac96c9281576b61abf" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_homogeneous_max_size_vertical </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *max size-homogeneous* vertical box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>This function behaves analogously to <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4" title="Layout function which sets the box o to a *max size-homogeneous* horizontal box.">evas_object_box_layout_homogeneous_max_size_horizontal()</a>. The description of its behaviour can be derived from that function's documentation. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa860afd56866955550ae650464d2dc9a"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_homogeneous_vertical" ref="gaa860afd56866955550ae650464d2dc9a" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_homogeneous_vertical </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *homogeneous* vertical box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>This function behaves analogously to <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21" title="Layout function which sets the box o to a *homogeneous* horizontal box.">evas_object_box_layout_homogeneous_horizontal()</a>. The description of its behaviour can be derived from that function's documentation. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaabb841838ce9c05f6b99350d15b76aaf"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_horizontal" ref="gaabb841838ce9c05f6b99350d15b76aaf" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_horizontal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a (basic) horizontal box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>The object's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.</p>
+<dl class="user"><dt><b>box's properties:</b></dt><dd><code>align_h</code> controls the horizontal alignment of the child objects relative to the containing box. When set to 0, children are aligned to the left. A value of 1 lets them aligned to the right border. Values in between align them proportionally. Note that if the size required by the children, which is given by their widths and the <code>padding_h</code> property of the box, is bigger than the container width, the children will be displayed out of its bounds. A negative value of <code>align_h</code> makes the box to *justify* its children. The padding between them, in this case, is corrected so that the leftmost one touches the left border and the rightmost one touches the right border (even if they must overlap). The <code>align_v</code> and <code>padding_v</code> properties of the box don't contribute to its behaviour when this layout is chosen.</dd></dl>
+<dl class="user"><dt><b>Child element's properties:</b></dt><dd><code>align_x</code> does not influence the box's behavior. <code>padding_l</code> and <code>padding_r</code> sum up to the container's horizontal padding between elements. The child's <code>padding_t</code>, <code>padding_b</code> and <code>align_y</code> properties apply for padding/positioning relative to the overall height of the box. Finally, there is the <code>weight_x</code> property, which, if set to a non-zero value, tells the container that the child width is not pre-defined. If the container can't accommodate all its children, it sets the widths of the children *with weights* to sizes as small as they can all fit into it. If the size required by the children is less than the available, the box increases its children's (which have weights) widths as to fit the remaining space. The <code>weight_x</code> property, besides telling the element is resizable, gives a *weight* for the resizing process. The parent box will try to distribute (or take off) widths accordingly to the *normalized* list of weigths: most weighted children remain/get larger in this process than the the least ones. <code>weight_y</code> does not influence the layout.</dd></dl>
+<p>If one desires that, besides having weights, child elements must be resized bounded to a minimum or maximum size, their size hint properties must be set (by the evas_object_size_hint_{min,max}_set() functions. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">evas_object_size_hint_weight_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2116d23c11ab08d7c50cbcb588de5570"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_set" ref="ga2116d23c11ab08d7c50cbcb588de5570" args="(Evas_Object *o, Evas_Object_Box_Layout cb, const void *data, void(*free_data)(void *data))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Box_Layout&nbsp;</td>
+          <td class="paramname"> <em>cb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>free_data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set a 'calculate' callback (<em>cb</em>) to the <em>o</em> box's smart class, which here defines its genre (horizontal, vertical, homogeneous, etc. </p>
+<p>). </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae40153d3702dcb79f2587364cde2fb7b"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_stack" ref="gae40153d3702dcb79f2587364cde2fb7b" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_stack </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to set all children to the size of the object. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>In a stack box, all children will be given the same size and they will be stacked on above the other, so the first object will be the bottom most.</p>
+<dl class="user"><dt><b>box's properties:</b></dt><dd>No box option is used.</dd></dl>
+<dl class="user"><dt><b>Child element's properties:</b></dt><dd><code>padding_l</code> and <code>padding_r</code> sum up to the required width of the child element. The <code>align_x</code> property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to <code>align_x</code> makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). Same applies to vertical axis. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga1128fb1e04b1de059e9ccade58c83663">evas_object_stack_above()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1e102aa54789b74f54944c17d0a880db"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_vertical" ref="ga1e102aa54789b74f54944c17d0a880db" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_vertical </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a (basic) vertical box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>This function behaves analogously to <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf" title="Layout function which sets the box o to a (basic) horizontal box.">evas_object_box_layout_horizontal()</a>. The description of its behaviour can be derived from that function's documentation. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">evas_object_size_hint_weight_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga688c2cd7e2901fd491ff3b4a78dace89"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_get" ref="ga688c2cd7e2901fd491ff3b4a78dace89" args="(Evas_Object *o, Evas_Object_Box_Option *opt, int property,...)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_option_property_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td>
+          <td class="paramname"> <em>opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>. </p>
+<p>The last arguments must be addresses of variables with the same type of that property. On error, <code>0</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Box.html#ga987c048602d55d921c250d1cc57b5873">evas_object_box_option_property_vget()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1b799e5048ba268f47212e29cd8cc3fb"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_id_get" ref="ga1b799e5048ba268f47212e29cd8cc3fb" args="(Evas_Object *o, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_object_box_option_property_id_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the id of the property of the child elements of the box <em>o</em> whose name is <em>name</em>. </p>
+<p>On error, <code>-1</code> is returned. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad6b908faeca8fb7e16c002509a86ffab"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_name_get" ref="gad6b908faeca8fb7e16c002509a86ffab" args="(Evas_Object *o, int property)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_box_option_property_name_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>property</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the name of the property of the child elements of the box <em>o</em> whose id is <em>property</em>. </p>
+<p>On error, <code>NULL</code> is returned. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae2892100753fd70af716f415637f6d86"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_set" ref="gae2892100753fd70af716f415637f6d86" args="(Evas_Object *o, Evas_Object_Box_Option *opt, int property,...)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_option_property_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td>
+          <td class="paramname"> <em>opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>. </p>
+<p>The property's values must be the last arguments and their type *must* match that of the property itself. On error, <code>0</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Box.html#ga56c828490bb5778be68908147c32fa6d">evas_object_box_option_property_vset()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga987c048602d55d921c250d1cc57b5873"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_vget" ref="ga987c048602d55d921c250d1cc57b5873" args="(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_option_property_vget </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td>
+          <td class="paramname"> <em>opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">va_list&nbsp;</td>
+          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>. </p>
+<p>The args which the va_list <em>args</em> is initialized with must be addresses of variables with the same type of that property. On error, <code>0</code> is returned. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga688c2cd7e2901fd491ff3b4a78dace89">evas_object_box_option_property_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga56c828490bb5778be68908147c32fa6d"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_vset" ref="ga56c828490bb5778be68908147c32fa6d" args="(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_option_property_vset </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td>
+          <td class="paramname"> <em>opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">va_list&nbsp;</td>
+          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>. </p>
+<p>The property's values must be the args which the va_list <em>args</em> is initialized with and their type *must* match that of the property itself. On error, <code>0</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gae2892100753fd70af716f415637f6d86">evas_object_box_option_property_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0fec96faf6bbc106b8af28ff479ddfc3"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_prepend" ref="ga0fec96faf6bbc106b8af28ff479ddfc3" args="(Evas_Object *o, Evas_Object *child)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a>* evas_object_box_prepend </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Prepend a new object <em>child</em> to the box <em>o</em>. </p>
+<p>On error, <code>NULL</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga90c644be44c06e2e4f966cb14b7a93a5"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_remove" ref="ga90c644be44c06e2e4f966cb14b7a93a5" args="(Evas_Object *o, Evas_Object *child)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_remove </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove an object <em>child</em> from the box <em>o</em>. </p>
+<p>On error, <code>0</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6c114f237f66c0208f0669783f671318"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_remove_all" ref="ga6c114f237f66c0208f0669783f671318" args="(Evas_Object *o, Eina_Bool clear)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_remove_all </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>clear</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove all child objects. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>0 on errors </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>, <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7d6a7321327f1398790d1f12cccd38f3"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_remove_at" ref="ga7d6a7321327f1398790d1f12cccd38f3" args="(Evas_Object *o, unsigned int pos)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_remove_at </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove an object from the box <em>o</em> which occupies position <em>pos</em>. </p>
+<p>On error, <code>0</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga19c407e45de527d9400823fb1c85d0fe"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_smart_set" ref="ga19c407e45de527d9400823fb1c85d0fe" args="(Evas_Object_Box_Api *api)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_smart_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Api.html">Evas_Object_Box_Api</a> *&nbsp;</td>
+          <td class="paramname"> <em>api</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the default box <em>api</em> struct (Evas_Object_Box_Api) with the default values. </p>
+<p>May be used to extend that API. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">evas_object_box_smart_class_get()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group.html
new file mode 100644 (file)
index 0000000..f72857c
--- /dev/null
@@ -0,0 +1,144 @@
+<html>
+<head>
+    <title>Evas: Generic Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a> &#124;
+<a href="#typedef-members">Typedefs</a>  </div>
+  <div class="headertitle">
+<h1>Generic Object Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that manipulate generic evas objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html">Basic Object Manipulation</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Methods that are often used, like those that change the color, clippers and geometry of the object. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html">Object Events</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Map.html">UV Mapping (Rotation, Perspecitve, 3D...)</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Evas allows different transformations to be applied to all kinds of objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html">Size Hints</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Objects may carry hints so another object that acts as a manager (see <a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>) may know how to properly position and resize the object. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html">Extra Object Manipulation</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html">Finding Objects</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that allows finding objects by their position, name or other properties. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html">Object Method Interceptors</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Evas provides a way to intercept method calls. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9e19e6dd1f517a0ba437c0114d3e7c97"></a><!-- doxytag: member="Evas_Object_Group::Evas_Object" ref="ga9e19e6dd1f517a0ba437c0114d3e7c97" args="" -->
+typedef struct _Evas_Object&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Object handle. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that manipulate generic evas objects. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Basic.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Basic.html
new file mode 100644 (file)
index 0000000..cf04faa
--- /dev/null
@@ -0,0 +1,1256 @@
+<html>
+<head>
+    <title>Evas: Basic Object Manipulation</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Basic Object Manipulation<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Methods that are often used, like those that change the color, clippers and geometry of the object.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *clip)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clip one object to another.  <a href="#ga19eabaaeec1ea375366e201f533f3d56"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a">evas_object_clip_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the object clipping this one (if any).  <a href="#gadd9e5c165ff2129dd902f43c669a0c1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable clipping for an object.  <a href="#gaa7fcd13f310444d7c1541b4fd31fa7f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887">evas_object_clipees_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a list of objects currently clipped by a specific object.  <a href="#gaa73ed804aa051d0aa5faa1743e113887"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">evas_object_focus_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool focus)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets focus to the given object.  <a href="#ga5f1530901a9e94e3f35b987101009cf5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654">evas_object_focus_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the object has focus.  <a href="#ga7dc71b30e4caaaf60076a5990173d654"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">evas_object_layer_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, short l)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the layer of the evas that the given object will be part of.  <a href="#gab48bd3ad20b6663aa5756823edb02038"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga13cb52d23911b6c701dbb5f1ee3f65f4">evas_object_layer_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the layer of the evas that the given object is part of.  <a href="#ga13cb52d23911b6c701dbb5f1ee3f65f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8">evas_object_name_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the name of the given evas object to the given name.  <a href="#ga4b6eee1edde61389b5ca9df911de60d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gac34b593d79bfd9284787ddbb43486edd">evas_object_name_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the name of the given evas object.  <a href="#gac34b593d79bfd9284787ddbb43486edd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723">evas_object_ref</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increments object reference count to defer deletion.  <a href="#gaa22895e88e2cb157b9c38a6d3ce10723"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089">evas_object_unref</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrements object reference count to defer deletion.  <a href="#ga956f8793fd2897945d90bda2d4d08089"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given evas object and frees its memory.  <a href="#ga6d840e8d5670db3ae32e00c4ecbb6abd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves the given evas object to the given location.  <a href="#ga78fa8858c51707f1a557b720014b71cc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of the given evas object.  <a href="#ga34df8b33704deafd2a25f40e3c09d149"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the position and rectangular size of the given evas object.  <a href="#ga5fa60c701af13dac5dd31071167309d2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f">evas_object_show</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the given evas object visible.  <a href="#ga769ad9a3e3daecb7a828196a2c86332f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">evas_object_hide</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the given evas object invisible.  <a href="#ga495807707f06f9acd4de8590a8c92148"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga9cf743b5d87b622c84ba591494445b49">evas_object_visible_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether or not the given evas object is visible.  <a href="#ga9cf743b5d87b622c84ba591494445b49"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f">evas_object_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the general colour of the given evas object to the given colour.  <a href="#ga6b2dfe01eb955cebf734f4e10ac9ce7f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga3856f8b88d158ffa9783b44340ef343d">evas_object_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the general colour of the given evas object.  <a href="#ga3856f8b88d158ffa9783b44340ef343d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">evas_object_evas_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the evas that the given evas object is on.  <a href="#ga678e810edc3e2ee8b1080186bfa12247"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff">evas_object_type_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the name of the type of the given evas object.  <a href="#gaebc12590e689bfcbfede10eca37f80ff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">evas_object_raise</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raise <code>obj</code> to the top of its layer.  <a href="#ga7a99128189105d042cf6b4fefca9b60e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">evas_object_lower</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lower <code>obj</code> to the bottom of its layer.  <a href="#gae5ede5671799a140e3d3f7bb7ea7f14f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga1128fb1e04b1de059e9ccade58c83663">evas_object_stack_above</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *above)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stack <code>obj</code> immediately above <code>above</code>.  <a href="#ga1128fb1e04b1de059e9ccade58c83663"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga8cc69c6e6d78d686d8c4606ac03c2864">evas_object_stack_below</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *below)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stack <code>obj</code> immediately below <code>below</code>.  <a href="#ga8cc69c6e6d78d686d8c4606ac03c2864"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gab78867a46ecc2e35ac90bf40bae1689f">evas_object_above_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the evas object above <code>obj</code>.  <a href="#gab78867a46ecc2e35ac90bf40bae1689f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaff15b0dacac065bc84e6124c0c4920c5">evas_object_below_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the evas object below <code>obj</code>.  <a href="#gaff15b0dacac065bc84e6124c0c4920c5"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Methods that are often used, like those that change the color, clippers and geometry of the object. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gab78867a46ecc2e35ac90bf40bae1689f"></a><!-- doxytag: member="evas_stack.c::evas_object_above_get" ref="gab78867a46ecc2e35ac90bf40bae1689f" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_above_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the evas object above <code>obj</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>an Evas_Object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the Evas_Object directly above </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaff15b0dacac065bc84e6124c0c4920c5"></a><!-- doxytag: member="evas_stack.c::evas_object_below_get" ref="gaff15b0dacac065bc84e6124c0c4920c5" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_below_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the evas object below <code>obj</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>an Evas_Object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the Evas_Object directly below </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gadd9e5c165ff2129dd902f43c669a0c1a"></a><!-- doxytag: member="evas_clip.c::evas_object_clip_get" ref="gadd9e5c165ff2129dd902f43c669a0c1a" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_clip_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the object clipping this one (if any). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to get the clipper from</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the the object clipping <code>obj</code>. If <code>obj</code> not being clipped, NULL is returned. The object <code>obj</code> must be a valid object.</p>
+<p>See also <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8" title="Disable clipping for an object.">evas_object_clip_unset()</a> and <a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887" title="Return a list of objects currently clipped by a specific object.">evas_object_clipees_get()</a>.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+ <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *clipper;
+
+ clipper = <a class="code" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a" title="Get the object clipping this one (if any).">evas_object_clip_get</a>(obj);
+ <span class="keywordflow">if</span> (clipper) <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(clipper);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga19eabaaeec1ea375366e201f533f3d56"></a><!-- doxytag: member="evas_clip.c::evas_object_clip_set" ref="ga19eabaaeec1ea375366e201f533f3d56" args="(Evas_Object *obj, Evas_Object *clip)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_clip_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>clip</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Clip one object to another. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to be clipped </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>clip</em>&nbsp;</td><td>The object to clip <code>obj</code> by</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will clip the object <code>obj</code> to the area occupied by the object <code>clipper</code>. This means the object <code>obj</code> will only be visible within the area occupied by the clipping object (<code>clip</code>). The color of the object being clipped will be multiplied by the color of the clipping object, so the resulting color for the clipped object is RESULT = (OBJ * CLIP) / (255 * 255) per color element (red, green, blue and alpha). Clipping is recursive, so clip objects may be clipped by other objects, and their color will in tern be multiplied. You may NOT set up circular clipping lists (i.e. object 1 clips object 2 which clips object 1). The behavior of Evas is undefined in this case. Objects which do not clip others are visible as normal, those that clip 1 or more objects become invisible themselves, only affecting what they clip. If an object ceases to have other objects being clipped by it, it will become visible again. The visibility of an object affects the objects that are clipped by it, so if the object clipping others is not shown, the objects clipped will not be shown either. If the object was being clipped by another object when this function is called, it is implicitly removed from the clipper it is being clipped to, and now is made to clip its new clipper.</p>
+<p>At the moment the only objects that can validly be used to clip other objects are rectangle objects. All other object types are invalid and the result of using them is undefined.</p>
+<p>The clip object <code>clip</code> must be a valid object, but may also be NULL in which case the effect of this function is the same as calling <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8" title="Disable clipping for an object.">evas_object_clip_unset()</a> on the <code>obj</code> object.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+ <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *clipper;
+
+ clipper = <a class="code" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa" title="Adds a rectangle to the given evas.">evas_object_rectangle_add</a>(evas);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(clipper, 255, 255, 255, 255);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(clipper, 10, 10);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(clipper, 20, 50);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set</a>(obj, clipper);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(clipper);
+</pre></div> 
+<p>References <a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">evas_damage_rectangle_add()</a>, <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff">evas_object_type_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa7fcd13f310444d7c1541b4fd31fa7f8"></a><!-- doxytag: member="evas_clip.c::evas_object_clip_unset" ref="gaa7fcd13f310444d7c1541b4fd31fa7f8" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_clip_unset </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Disable clipping for an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to cease clipping on</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function disables clipping for the object <code>obj</code>, if it was already clipped. If it wasn't, this has no effect. The object <code>obj</code> must be a valid object.</p>
+<p>See also <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887" title="Return a list of objects currently clipped by a specific object.">evas_object_clipees_get()</a> and <a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a" title="Get the object clipping this one (if any).">evas_object_clip_get()</a>.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+ <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *clipper;
+
+ clipper = <a class="code" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a" title="Get the object clipping this one (if any).">evas_object_clip_get</a>(obj);
+ <span class="keywordflow">if</span> (clipper)
+   {
+     <a class="code" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8" title="Disable clipping for an object.">evas_object_clip_unset</a>(obj);
+     <a class="code" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148" title="Makes the given evas object invisible.">evas_object_hide</a>(obj);
+   }
+</pre></div> 
+<p>References <a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">evas_damage_rectangle_add()</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa73ed804aa051d0aa5faa1743e113887"></a><!-- doxytag: member="evas_clip.c::evas_object_clipees_get" ref="gaa73ed804aa051d0aa5faa1743e113887" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const Eina_List* evas_object_clipees_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return a list of objects currently clipped by a specific object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to get a list of clippees from</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This returns the inernal list handle that contains all objects clipped by the object <code>obj</code>. If none are clipped, it returns NULL. This list is only valid until the clip list is changed and should be fetched again with another call to <a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887" title="Return a list of objects currently clipped by a specific object.">evas_object_clipees_get()</a> if any objects being clipped by this object are unclipped, clipped by a new object, are deleted or the clipper is deleted. These operations will invalidate the list returned so it should not be used anymore after that point. Any use of the list after this may have undefined results, not limited just to strange behavior but possible segfaults and other strange memory errors. The object <code>obj</code> must be a valid object.</p>
+<p>See also <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8" title="Disable clipping for an object.">evas_object_clip_unset()</a> and <a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a" title="Get the object clipping this one (if any).">evas_object_clip_get()</a>.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+ <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *clipper;
+
+ clipper = <a class="code" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a" title="Get the object clipping this one (if any).">evas_object_clip_get</a>(obj);
+ <span class="keywordflow">if</span> (clipper)
+   {
+     Eina_List *clippees, *l;
+     <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj_tmp;
+
+     clippees = <a class="code" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887" title="Return a list of objects currently clipped by a specific object.">evas_object_clipees_get</a>(clipper);
+     printf(<span class="stringliteral">&quot;Clipper clips %i objects\n&quot;</span>, eina_list_count(clippees));
+     EINA_LIST_FOREACH(clippees, l, obj_tmp)
+         <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(obj_tmp);
+   }
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga3856f8b88d158ffa9783b44340ef343d"></a><!-- doxytag: member="evas_object_main.c::evas_object_color_get" ref="ga3856f8b88d158ffa9783b44340ef343d" args="(const Evas_Object *obj, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the general colour of the given evas object. </p>
+<p>Note that if any of <code>r</code>, <code>g</code>, <code>b</code> or <code>a</code> are <code>NULL</code>, then the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>Pointer to an integer in which to store the red component of the colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>Pointer to an integer in which to store the green component of the colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Pointer to an integer in which to store the blue component of the colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>Pointer to an integer in which to store the alpha component of the colour. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6b2dfe01eb955cebf734f4e10ac9ce7f"></a><!-- doxytag: member="evas_object_main.c::evas_object_color_set" ref="ga6b2dfe01eb955cebf734f4e10ac9ce7f" args="(Evas_Object *obj, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the general colour of the given evas object to the given colour. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The red component of the given colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The green component of the given colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The blue component of the given colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>The alpha component of the given colour. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e">EVAS_RENDER_BLEND</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6d840e8d5670db3ae32e00c4ecbb6abd"></a><!-- doxytag: member="evas_object_main.c::evas_object_del" ref="ga6d840e8d5670db3ae32e00c4ecbb6abd" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Deletes the given evas object and frees its memory. </p>
+<p>The object's 'free' callback is called when this function is called. If the object currently has the focus, its 'focus out' callback is also called.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277">EVAS_CALLBACK_DEL</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3">EVAS_CALLBACK_FOCUS_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24">EVAS_CALLBACK_FREE</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">evas_object_hide()</a>, <a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">evas_object_image_source_unset()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8">evas_object_name_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">evas_object_box_remove_all()</a>, <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">evas_object_table_clear()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089">evas_object_unref()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga678e810edc3e2ee8b1080186bfa12247"></a><!-- doxytag: member="evas_object_main.c::evas_object_evas_get" ref="ga678e810edc3e2ee8b1080186bfa12247" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a>* evas_object_evas_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the evas that the given evas object is on. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The evas that the object is on. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">evas_object_box_add_to()</a>, and <a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">evas_object_table_add_to()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7dc71b30e4caaaf60076a5990173d654"></a><!-- doxytag: member="evas_focus.c::evas_object_focus_get" ref="ga7dc71b30e4caaaf60076a5990173d654" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_focus_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Test if the object has focus. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to be tested.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>If the passed object is the currently focused object 1 is returned, 0 otherwise.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5" title="Sets focus to the given object.">evas_object_focus_set</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5" title="Retrieve the object that currently has focus.">evas_focus_get</a> </dd>
+<dd>
+evas_object_key_grab </dd>
+<dd>
+evas_object_key_ungrab</dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 if the object has the focus, 0 otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5f1530901a9e94e3f35b987101009cf5"></a><!-- doxytag: member="evas_focus.c::evas_object_focus_set" ref="ga5f1530901a9e94e3f35b987101009cf5" args="(Evas_Object *obj, Eina_Bool focus)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_focus_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>focus</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets focus to the given object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to be focused or unfocused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>focus</em>&nbsp;</td><td>set or remove focus to the object.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Changing focus only affects where key events go. There can be only one object focused at any time. </p>
+<p>If the parameter (<code>focus</code>) is set, the passed object will be set as the currently focused object. It will receive all keyboard events that are not exclusive key grabs on other objects.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654" title="Test if the object has focus.">evas_object_focus_get</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5" title="Retrieve the object that currently has focus.">evas_focus_get</a> </dd>
+<dd>
+evas_object_key_grab </dd>
+<dd>
+evas_object_key_ungrab </dd></dl>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5">EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070">EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97">EVAS_CALLBACK_FOCUS_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3">EVAS_CALLBACK_FOCUS_OUT</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">evas_object_focus_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">evas_object_focus_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5fa60c701af13dac5dd31071167309d2"></a><!-- doxytag: member="evas_object_main.c::evas_object_geometry_get" ref="ga5fa60c701af13dac5dd31071167309d2" args="(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the position and rectangular size of the given evas object. </p>
+<p>Note that if any of <code>x</code>, <code>y</code>, <code>w</code> or <code>h</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Pointer to an integer in which to store the X coordinate of the object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Pointer to an integer in which to store the Y coordinate of the object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the width of the object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the height of the object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>, and <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga495807707f06f9acd4de8590a8c92148"></a><!-- doxytag: member="evas_object_main.c::evas_object_hide" ref="ga495807707f06f9acd4de8590a8c92148" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_hide </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Makes the given evas object invisible. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>the hidden objects will not be checked for changes and will not catch events. That is, they are much ligher than an object that is invisible due indirect effects, such as clipped or out-of-viewport. </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out::buttons</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">EVAS_CALLBACK_MOUSE_OUT</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga13cb52d23911b6c701dbb5f1ee3f65f4"></a><!-- doxytag: member="evas_layer.c::evas_object_layer_get" ref="ga13cb52d23911b6c701dbb5f1ee3f65f4" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI short evas_object_layer_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the layer of the evas that the given object is part of. </p>
+<p>Be careful, it doesn't make sense to change the layer of smart object's child. So the returned value could be wrong in some case. Don't rely on it's accuracy.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Number of the layer. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab48bd3ad20b6663aa5756823edb02038"></a><!-- doxytag: member="evas_layer.c::evas_object_layer_set" ref="gab48bd3ad20b6663aa5756823edb02038" args="(Evas_Object *obj, short l)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_layer_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">short&nbsp;</td>
+          <td class="paramname"> <em>l</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the layer of the evas that the given object will be part of. </p>
+<p>It is not possible to change the layer of a smart object's child.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>The number of the layer to place the object on. Between <a class="el" href="Evas_8h.html#a8817f2ac4e0058d43f9bfe1e563e551b" title="bottom-most layer number">EVAS_LAYER_MIN</a> and <a class="el" href="Evas_8h.html#a1456f5c97f03ebd786c49d4d1178e7a0" title="top-most layer number">EVAS_LAYER_MAX</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">evas_object_raise()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae5ede5671799a140e3d3f7bb7ea7f14f"></a><!-- doxytag: member="evas_stack.c::evas_object_lower" ref="gae5ede5671799a140e3d3f7bb7ea7f14f" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_lower </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Lower <code>obj</code> to the bottom of its layer. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to lower </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga8cc69c6e6d78d686d8c4606ac03c2864">evas_object_stack_below()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga78fa8858c51707f1a557b720014b71cc"></a><!-- doxytag: member="evas_object_main.c::evas_object_move" ref="ga78fa8858c51707f1a557b720014b71cc" args="(Evas_Object *obj, Evas_Coord x, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_move </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Moves the given evas object to the given location. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position to move the object to, in canvas units. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position to move the object to, in canvas units. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>, and <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">evas_object_smart_move_children_relative()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac34b593d79bfd9284787ddbb43486edd"></a><!-- doxytag: member="evas_name.c::evas_object_name_get" ref="gac34b593d79bfd9284787ddbb43486edd" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_name_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the name of the given evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The name of the object. <code>NULL</code> if no name has been given to the object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4b6eee1edde61389b5ca9df911de60d8"></a><!-- doxytag: member="evas_name.c::evas_object_name_set" ref="ga4b6eee1edde61389b5ca9df911de60d8" args="(Evas_Object *obj, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_name_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the name of the given evas object to the given name. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The given name. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7a99128189105d042cf6b4fefca9b60e"></a><!-- doxytag: member="evas_stack.c::evas_object_raise" ref="ga7a99128189105d042cf6b4fefca9b60e" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_raise </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Raise <code>obj</code> to the top of its layer. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to raise </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">evas_object_layer_set()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga1128fb1e04b1de059e9ccade58c83663">evas_object_stack_above()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa22895e88e2cb157b9c38a6d3ce10723"></a><!-- doxytag: member="evas_object_main.c::evas_object_ref" ref="gaa22895e88e2cb157b9c38a6d3ce10723" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_ref </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Increments object reference count to defer deletion. </p>
+<p>This increments the reference count of an object, which if greater than 0 will defer deletion by <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd" title="Deletes the given evas object and frees its memory.">evas_object_del()</a> until all references are released back to 0. References cannot go below 0 and unreferencing more times that referencing will result in the reference count being limited to 0. References are limited to 2^32 - 1 for an object. Referencing it more than this will result in it being limited to this value.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object to reference</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga34df8b33704deafd2a25f40e3c09d149"></a><!-- doxytag: member="evas_object_main.c::evas_object_resize" ref="ga34df8b33704deafd2a25f40e3c09d149" args="(Evas_Object *obj, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_resize </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Changes the size of the given evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The new width of the evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The new height of the evas object.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>Be aware that resizing an object changes its drawing area, but that does imply the object is rescaled! For instance, images are filled inside their drawing area using the specifications of <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a>, thus to scale the image to match exactly your drawing area, you need to change the <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a> as well. Consider the following example: <div class="fragment"><pre class="fragment">       <span class="comment">// rescale image to fill exactly its area without tiling:</span>
+       <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(img, w, h);
+       <a class="code" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set</a>(img, 0, 0, w, h);
+</pre></div> This is more evident in images, but text, textblock, lines and polygons will behave similarly. Check their specific APIs to know how to achieve your desired behavior. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga769ad9a3e3daecb7a828196a2c86332f"></a><!-- doxytag: member="evas_object_main.c::evas_object_show" ref="ga769ad9a3e3daecb7a828196a2c86332f" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_show </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Makes the given evas object visible. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1128fb1e04b1de059e9ccade58c83663"></a><!-- doxytag: member="evas_stack.c::evas_object_stack_above" ref="ga1128fb1e04b1de059e9ccade58c83663" args="(Evas_Object *obj, Evas_Object *above)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_stack_above </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>above</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Stack <code>obj</code> immediately above <code>above</code>. </p>
+<p>If <code>obj</code> is a member of a smart object, then <code>above</code> must also be a member of the same smart object.</p>
+<p>Similarly, if <code>obj</code> is not a member of smart object, <code>above</code> may not either.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to stack </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>above</em>&nbsp;</td><td>the object above which to stack </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">evas_object_raise()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8cc69c6e6d78d686d8c4606ac03c2864"></a><!-- doxytag: member="evas_stack.c::evas_object_stack_below" ref="ga8cc69c6e6d78d686d8c4606ac03c2864" args="(Evas_Object *obj, Evas_Object *below)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_stack_below </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>below</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Stack <code>obj</code> immediately below <code>below</code>. </p>
+<p>If <code>obj</code> is a member of a smart object, then <code>below</code> must also be a member of the same smart object.</p>
+<p>Similarly, if <code>obj</code> is not a member of smart object, <code>below</code> may not either.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to stack </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>below</em>&nbsp;</td><td>the object below which to stack </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">evas_object_lower()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaebc12590e689bfcbfede10eca37f80ff"></a><!-- doxytag: member="evas_object_main.c::evas_object_type_get" ref="gaebc12590e689bfcbfede10eca37f80ff" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_type_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the name of the type of the given evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The name. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga956f8793fd2897945d90bda2d4d08089"></a><!-- doxytag: member="evas_object_main.c::evas_object_unref" ref="ga956f8793fd2897945d90bda2d4d08089" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_unref </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Decrements object reference count to defer deletion. </p>
+<p>This decrements the reference count of an object. If the object has had <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd" title="Deletes the given evas object and frees its memory.">evas_object_del()</a> called on it while references were more than 0, it will be deleted at the time this function is called as it normally would have been. See <a class="el" href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723" title="Increments object reference count to defer deletion.">evas_object_ref()</a> for more information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object to unreference</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9cf743b5d87b622c84ba591494445b49"></a><!-- doxytag: member="evas_object_main.c::evas_object_visible_get" ref="ga9cf743b5d87b622c84ba591494445b49" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_visible_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves whether or not the given evas object is visible. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>1</code> if the object is visible. <code>0</code> otherwise. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Events.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Events.html
new file mode 100644 (file)
index 0000000..d42cfac
--- /dev/null
@@ -0,0 +1,545 @@
+<html>
+<head>
+    <title>Evas: Object Events</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Object Events<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55">evas_object_event_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Object_Event_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a callback function to an object.  <a href="#ga0147a80fc21895dc40165f208ec8cf55"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga270a967a4f0069e646e9a07c51e15863">evas_object_event_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Object_Event_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a callback function from an object.  <a href="#ga270a967a4f0069e646e9a07c51e15863"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga5dbed5bfe210ee8f8ffae7b99a69ec68">evas_object_event_callback_del_full</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Object_Event_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a callback function from an object.  <a href="#ga5dbed5bfe210ee8f8ffae7b99a69ec68"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">evas_object_pass_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool pass)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an object's pass events state.  <a href="#ga5622d84abe1bd303de71f8ddbdcd0665"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0">evas_object_pass_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to pass events.  <a href="#ga019458a8697c55dc3d5e3fe525c535e0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">evas_object_repeat_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool repeat)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an object's repeat events state.  <a href="#gaacd5e00427f3c98ecfb72f630ff7aa46"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582">evas_object_repeat_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to repeat events.  <a href="#ga2c7ca0c2c33ec1e12da64f60a5742582"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d">evas_object_propagate_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool prop)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether events on a smart member object should propagate to its parent.  <a href="#gaca523e82bd3e590f92e8bbda29c1607d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f">evas_object_propagate_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to propagate events.  <a href="#gadc40db6c861c8e57a2229783f0e9ac7f"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on. </p>
+<p>These methods will allow one to handle such events.</p>
+<p>The events can be those from keyboard and mouse, if the object accepts these events. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga0147a80fc21895dc40165f208ec8cf55"></a><!-- doxytag: member="evas_callbacks.c::evas_object_event_callback_add" ref="ga0147a80fc21895dc40165f208ec8cf55" args="(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_event_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add a callback function to an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Object to attach a callback to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that will trigger the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to be called when the event is triggered </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to <code>func</code> </td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function adds a function callback to an object when the event of type <code>type</code> occurs on object <code>obj</code>. The function is <code>func</code>.</p>
+<p>In the event of a memory allocation error during addition of the callback to the object, <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error()</a> should be used to determine the nature of the error, if any, and the program should sensibly try and recover.</p>
+<p>The function will be passed the pointer <code>data</code> when it is called. A callback function must look like this:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> callback (<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+</pre></div><p>The first parameter <code>data</code> in this function will be the same value passed to <a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> as the <code>data</code> parameter. The second parameter is a convenience for the programmer to know what evas canvas the event occurred on. The third parameter <code>obj</code> is the Object handle on which the event occurred. The foruth parameter <code>event_info</code> is a pointer to a data structure that may or may not be passed to the callback, depending on the event type that triggered the callback.</p>
+<p>The event type <code>type</code> to trigger the function may be one of <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25" title="Mouse Out Event.">EVAS_CALLBACK_MOUSE_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a" title="Mouse Move Event.">EVAS_CALLBACK_MOUSE_MOVE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4" title="Mouse Wheel Event.">EVAS_CALLBACK_MOUSE_WHEEL</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24" title="Object Being Freed (Called after Del).">EVAS_CALLBACK_FREE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584" title="Key Press Event.">EVAS_CALLBACK_KEY_DOWN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f" title="Key Release Event.">EVAS_CALLBACK_KEY_UP</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97" title="Focus In Event.">EVAS_CALLBACK_FOCUS_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3" title="Focus Out Event.">EVAS_CALLBACK_FOCUS_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540" title="Show Event.">EVAS_CALLBACK_SHOW</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7" title="Hide Event.">EVAS_CALLBACK_HIDE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0" title="Move Event.">EVAS_CALLBACK_MOVE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21" title="Resize Event.">EVAS_CALLBACK_RESIZE</a> or <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145" title="Restack Event.">EVAS_CALLBACK_RESTACK</a>. This determines the kind of event that will trigger the callback to be called. The <code>event_info</code> pointer passed to the callback will be one of the following, depending on the event triggering it:</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a>: event_info = pointer to Evas_Event_Mouse_In</p>
+<p>This event is triggered when the mouse pointer enters the region of the object <code>obj</code>. This may occur by the mouse pointer being moved by <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7" title="Mouse move event feed.">evas_event_feed_mouse_move()</a> or evas_event_feed_mouse_move_data() calls, or by the object being shown, raised, moved, resized, or other objects being moved out of the way, hidden, lowered or moved out of the way.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25" title="Mouse Out Event.">EVAS_CALLBACK_MOUSE_OUT</a>: event_info = pointer to Evas_Event_Mouse_Out</p>
+<p>This event is triggered exactly like <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a> is, but occurs when the mouse pointer exits an object. Note that no out events will be reported if the mouse pointer is implicitly grabbed to an object (the mouse buttons are down at all and any were pressed on that object). An out event will be reported as soon as the mouse is no longer grabbed (no mouse buttons are depressed). Out events will be reported once all buttons are released, if the mouse has left the object.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>: event_info = pointer to Evas_Event_Mouse_Down</p>
+<p>This event is triggered by a mouse button being depressed while over an object. If pointermode is EVAS_OBJECT_POINTER_MODE_AUTOGRAB (default) this causes this object to passively grab the mouse until all mouse buttons have been released. That means if this mouse button is the first to be pressed, all future mouse events will be reported to only this object until no buttons are down. That includes mouse move events, in and out events, and further button presses. When all buttons are released, event propagation occurs as normal.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>: event_info = pointer to Evas_Event_Mouse_Up</p>
+<p>This event is triggered by a mouse button being released while over an object or when passively grabbed to an object. If this is the last mouse button to be raised on an object then the passive grab is released and event processing will continue as normal.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a" title="Mouse Move Event.">EVAS_CALLBACK_MOUSE_MOVE</a>: event_info = pointer to Evas_Event_Mouse_Move</p>
+<p>This event is triggered by the mouse pointer moving while over an object or passively grabbed to an object.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4" title="Mouse Wheel Event.">EVAS_CALLBACK_MOUSE_WHEEL</a>: event_info = pointer to Evas_Event_Mouse_Wheel</p>
+<p>This event is triggered by the mouse wheel being rolled while over an object or passively grabbed to an object.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24" title="Object Being Freed (Called after Del).">EVAS_CALLBACK_FREE</a>: event_info = NULL</p>
+<p>This event is triggered just before Evas is about to free all memory used by an object and remove all references to it. This is useful for programs to use if they attached data to an object and want to free it when the object is deleted. The object is still valid when this callback is called, but after this callback returns, there is no guarantee on the object's validity.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584" title="Key Press Event.">EVAS_CALLBACK_KEY_DOWN</a>: event_info = pointer to Evas_Event_Key_Down</p>
+<p>This callback is called when a key is pressed and the focus is on the object, or a key has been grabbed to a particular object which wants to intercept the key press regardless of what object has the focus.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f" title="Key Release Event.">EVAS_CALLBACK_KEY_UP</a>: event_info = pointer to Evas_Event_Key_Up</p>
+<p>This callback is called when a key is released and the focus is on the object, or a key has been grabbed to a particular object which wants to intercept the key release regardless of what object has the focus.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97" title="Focus In Event.">EVAS_CALLBACK_FOCUS_IN</a>: event_info = NULL</p>
+<p>This event is called when an object gains the focus. When the callback is called the object has already gained the focus.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3" title="Focus Out Event.">EVAS_CALLBACK_FOCUS_OUT</a>: event_info = NULL</p>
+<p>This event is triggered by an object losing the focus. When the callback is called the object has already lost the focus.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540" title="Show Event.">EVAS_CALLBACK_SHOW</a>: event_info = NULL</p>
+<p>This event is triggered by the object being shown by <a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show()</a>.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7" title="Hide Event.">EVAS_CALLBACK_HIDE</a>: event_info = NULL</p>
+<p>This event is triggered by an object being hidden by <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148" title="Makes the given evas object invisible.">evas_object_hide()</a>.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0" title="Move Event.">EVAS_CALLBACK_MOVE</a>: event_info = NULL</p>
+<p>This event is triggered by an object being moved. <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move()</a> can trigger this, as can any object-specific manipulations that would mean the object's origin could move.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21" title="Resize Event.">EVAS_CALLBACK_RESIZE</a>: event_info = NULL</p>
+<p>This event is triggered by an object being resized. Resizes can be triggered by <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize()</a> or by any object-specific calls that may cause the object to resize.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
+ <span class="keyword">extern</span> <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> down_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+ <span class="keywordtype">void</span> up_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+
+ <a class="code" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, up_callback, my_data);
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() != <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" title="No allocation error.">EVAS_ALLOC_ERROR_NONE</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Callback registering failed! Abort!\n&quot;</span>);
+     exit(-1);
+   }
+ <a class="code" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>, down_callback, my_data);
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() != <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" title="No allocation error.">EVAS_ALLOC_ERROR_NONE</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Callback registering failed! Abort!\n&quot;</span>);
+     exit(-1);
+   }
+</pre></div> 
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga270a967a4f0069e646e9a07c51e15863"></a><!-- doxytag: member="evas_callbacks.c::evas_object_event_callback_del" ref="ga270a967a4f0069e646e9a07c51e15863" args="(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_event_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete a callback function from an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Object to remove a callback from </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that was triggering the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that was to be called when the event was triggered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the callback</dd></dl>
+<p>This function removes the most recently added callback from the object <code>obj</code> which was triggered by the event type <code>type</code> and was calling the function <code>func</code> when triggered. If the removal is successful it will also return the data pointer that was passed to <a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> when the callback was added to the object. If not successful NULL will be returned.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
+ <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> up_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+
+ my_data = <a class="code" href="group__Evas__Object__Group__Events.html#ga270a967a4f0069e646e9a07c51e15863" title="Delete a callback function from an object.">evas_object_event_callback_del</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, up_callback);
+</pre></div> 
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5dbed5bfe210ee8f8ffae7b99a69ec68"></a><!-- doxytag: member="evas_callbacks.c::evas_object_event_callback_del_full" ref="ga5dbed5bfe210ee8f8ffae7b99a69ec68" args="(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_event_callback_del_full </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete a callback function from an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Object to remove a callback from </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that was triggering the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that was to be called when the event was triggered </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer that was to be passed to the callback </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the callback</dd></dl>
+<p>This function removes the most recently added callback from the object <code>obj</code> which was triggered by the event type <code>type</code> and was calling the function <code>func</code> with data <code>data</code> when triggered. If the removal is successful it will also return the data pointer that was passed to <a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> (that will be the same as the parameter) when the callback was added to the object. If not successful NULL will be returned.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
+ <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> up_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+
+ my_data = <a class="code" href="group__Evas__Object__Group__Events.html#ga5dbed5bfe210ee8f8ffae7b99a69ec68" title="Delete a callback function from an object.">evas_object_event_callback_del_full</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, up_callback, data);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga019458a8697c55dc3d5e3fe525c535e0"></a><!-- doxytag: member="evas_events.c::evas_object_pass_events_get" ref="ga019458a8697c55dc3d5e3fe525c535e0" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_pass_events_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Determine whether an object is set to pass events. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>pass events state </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5622d84abe1bd303de71f8ddbdcd0665"></a><!-- doxytag: member="evas_events.c::evas_object_pass_events_set" ref="ga5622d84abe1bd303de71f8ddbdcd0665" args="(Evas_Object *obj, Eina_Bool pass)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_pass_events_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>pass</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set an object's pass events state. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pass</em>&nbsp;</td><td>whether to pass events or not</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>If <code>pass</code> is true, this will cause events on <code>obj</code> to be ignored. They will be triggered on the next lower object (that is not set to pass events) instead.</p>
+<p>If <code>pass</code> is false, events will be processed as normal. </p>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gadc40db6c861c8e57a2229783f0e9ac7f"></a><!-- doxytag: member="evas_events.c::evas_object_propagate_events_get" ref="gadc40db6c861c8e57a2229783f0e9ac7f" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_propagate_events_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Determine whether an object is set to propagate events. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>propagate events state </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaca523e82bd3e590f92e8bbda29c1607d"></a><!-- doxytag: member="evas_events.c::evas_object_propagate_events_set" ref="gaca523e82bd3e590f92e8bbda29c1607d" args="(Evas_Object *obj, Eina_Bool prop)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_propagate_events_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>prop</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set whether events on a smart member object should propagate to its parent. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart member object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>prop</em>&nbsp;</td><td>wheter to propagate events or not</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function has no effect if <code>obj</code> is not a member of a smart object.</p>
+<p>If <code>prop</code> is true, events occurring on this object will propagate on to the smart object of which <code>obj</code> is a member.</p>
+<p>If <code>prop</code> is false, events for which callbacks are set on the member object, <code>obj</code>, will not be passed on to the parent smart object.</p>
+<p>The default value is true. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2c7ca0c2c33ec1e12da64f60a5742582"></a><!-- doxytag: member="evas_events.c::evas_object_repeat_events_get" ref="ga2c7ca0c2c33ec1e12da64f60a5742582" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_repeat_events_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Determine whether an object is set to repeat events. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>repeat events state </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaacd5e00427f3c98ecfb72f630ff7aa46"></a><!-- doxytag: member="evas_events.c::evas_object_repeat_events_set" ref="gaacd5e00427f3c98ecfb72f630ff7aa46" args="(Evas_Object *obj, Eina_Bool repeat)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_repeat_events_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>repeat</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set an object's repeat events state. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>repeat</em>&nbsp;</td><td>wheter to repeat events or not</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>If <code>repeat</code> is true, this will cause events on <code>obj</code> to trigger callbacks, but also to be repeated on the next lower object in the stack.</p>
+<p>If <code>repeat</code> is false, events occurring on <code>obj</code> will be processed normally. </p>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Extras.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Extras.html
new file mode 100644 (file)
index 0000000..fb492df
--- /dev/null
@@ -0,0 +1,818 @@
+<html>
+<head>
+    <title>Evas: Extra Object Manipulation</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Extra Object Manipulation<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How mouse pointer should be handled by Evas.  <a href="#ga27baac4c63b590de109e3e3f0d941483"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e">EVAS_RENDER_BLEND</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7">EVAS_RENDER_BLEND_REL</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd">EVAS_RENDER_COPY</a> =  2, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea">EVAS_RENDER_COPY_REL</a> =  3, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926">EVAS_RENDER_ADD</a> =  4, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc">EVAS_RENDER_ADD_REL</a> =  5, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27">EVAS_RENDER_SUB</a> =  6, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c">EVAS_RENDER_SUB_REL</a> =  7, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9">EVAS_RENDER_TINT</a> =  8, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6">EVAS_RENDER_TINT_REL</a> =  9, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f">EVAS_RENDER_MASK</a> =  10, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294">EVAS_RENDER_MUL</a> =  11
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How the object should be rendered to output. </p>
+ <a href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a> { <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28">EVAS_OBJECT_POINTER_MODE_AUTOGRAB</a>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How mouse pointer should be handled by Evas. </p>
+ <a href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga429f41f49547080ff96d21196e4ff8ed">evas_object_data_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *key, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an attached data pointer to an object with a given string key.  <a href="#ga429f41f49547080ff96d21196e4ff8ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga69bba3a6ae917a3170ec4429d6b86f0b">evas_object_data_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an attached data pointer by its given string key.  <a href="#ga69bba3a6ae917a3170ec4429d6b86f0b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga163e7d373168eea15ef1b6a9be68f3ec">evas_object_data_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete at attached data pointer from an object.  <a href="#ga163e7d373168eea15ef1b6a9be68f3ec"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga5504e39f8d0cc41af3663fed15ec06e5">evas_object_pointer_mode_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a> setting)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set pointer behavior.  <a href="#ga5504e39f8d0cc41af3663fed15ec06e5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga80faa9ce3b9ab59fe7b4bf6924b293ac">evas_object_pointer_mode_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine how pointer will behave.  <a href="#ga80faa9ce3b9ab59fe7b4bf6924b293ac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaf0c7d4c49695749fa616d0abdbd5ddeb">evas_object_anti_alias_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool anti_alias)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets whether or not the given evas object is to be drawn anti-aliased.  <a href="#gaf0c7d4c49695749fa616d0abdbd5ddeb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga3308cb65716beb4ce826b9701e23159a">evas_object_anti_alias_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether or not the given evas object is to be drawn anti_aliased.  <a href="#ga3308cb65716beb4ce826b9701e23159a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaf010777fa1b58bd1c9c8093d2edc62e9">evas_object_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double scale)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the scaling factor for an evas object.  <a href="#gaf010777fa1b58bd1c9c8093d2edc62e9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga1c0aca3af434f0bc0fa8732248b197ba">evas_object_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the scaling factor for the given evas object.  <a href="#ga1c0aca3af434f0bc0fa8732248b197ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga86ef8d1f039bff1a60595688f93a7990">evas_object_render_op_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a> render_op)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the render_op to be used for rendering the evas object.  <a href="#ga86ef8d1f039bff1a60595688f93a7990"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaa157afa6f23cdf4b344d95531bb7d508">evas_object_render_op_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current value of the operation used for rendering the evas object.  <a href="#gaa157afa6f23cdf4b344d95531bb7d508"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gac9ce9802afd7d4cba580fbcbe92c28b2">evas_object_precise_is_inside_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool precise)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether to use a precise (usually expensive) point collision detection.  <a href="#gac9ce9802afd7d4cba580fbcbe92c28b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga8483a3c855f466a5dca480fcfd07b52b">evas_object_precise_is_inside_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to use a precise point collision detection.  <a href="#ga8483a3c855f466a5dca480fcfd07b52b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8">evas_object_static_clip_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool is_static_clip)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a hint flag on the object that this is used as a static "clipper".  <a href="#ga8697b24251c2209c60aabb1a5de860a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gafda644be2d6e6360959853c9d6195ec8">evas_object_static_clip_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get static "clipper" hint flag.  <a href="#gafda644be2d6e6360959853c9d6195ec8"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects. </p>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga27baac4c63b590de109e3e3f0d941483"></a><!-- doxytag: member="Evas.h::Evas_Object_Pointer_Mode" ref="ga27baac4c63b590de109e3e3f0d941483" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a>  <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>How mouse pointer should be handled by Evas. </p>
+<p>If <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28" title="default, X11-like">EVAS_OBJECT_POINTER_MODE_AUTOGRAB</a>, then when mouse is down an object, then moves outside of it, the pointer still behaves as being bound to the object, albeit out of its drawing region. On mouse up, the event will be feed to the object, that may check if the final position is over or not and do something about it. How mouse pointer should be handled by Evas. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga9c39a3ca795bbec3687fae9ee67d6056"></a><!-- doxytag: member="Evas.h::Evas_Render_Op" ref="ga9c39a3ca795bbec3687fae9ee67d6056" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a>  <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>How the object should be rendered to output. </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ga822b2a69896ff21279debe2a417e3082"></a><!-- doxytag: member="Evas.h::_Evas_Object_Pointer_Mode" ref="ga822b2a69896ff21279debe2a417e3082" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>How mouse pointer should be handled by Evas. </p>
+<p>If <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28" title="default, X11-like">EVAS_OBJECT_POINTER_MODE_AUTOGRAB</a>, then when mouse is down an object, then moves outside of it, the pointer still behaves as being bound to the object, albeit out of its drawing region. On mouse up, the event will be feed to the object, that may check if the final position is over or not and do something about it. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28"></a><!-- doxytag: member="EVAS_OBJECT_POINTER_MODE_AUTOGRAB" ref="gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28" args="" -->EVAS_OBJECT_POINTER_MODE_AUTOGRAB</em>&nbsp;</td><td>
+<p>default, X11-like </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga551375283a5e2b0abffd5f40582e9ce2"></a><!-- doxytag: member="Evas.h::_Evas_Render_Op" ref="ga551375283a5e2b0abffd5f40582e9ce2" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>How the object should be rendered to output. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e"></a><!-- doxytag: member="EVAS_RENDER_BLEND" ref="gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e" args="" -->EVAS_RENDER_BLEND</em>&nbsp;</td><td>
+<p>default op: d = d*(1-sa) + s </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7"></a><!-- doxytag: member="EVAS_RENDER_BLEND_REL" ref="gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7" args="" -->EVAS_RENDER_BLEND_REL</em>&nbsp;</td><td>
+<p>d = d*(1 - sa) + s*da </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd"></a><!-- doxytag: member="EVAS_RENDER_COPY" ref="gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd" args="" -->EVAS_RENDER_COPY</em>&nbsp;</td><td>
+<p>d = s </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea"></a><!-- doxytag: member="EVAS_RENDER_COPY_REL" ref="gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea" args="" -->EVAS_RENDER_COPY_REL</em>&nbsp;</td><td>
+<p>d = s*da </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926"></a><!-- doxytag: member="EVAS_RENDER_ADD" ref="gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926" args="" -->EVAS_RENDER_ADD</em>&nbsp;</td><td>
+<p>d = d + s </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc"></a><!-- doxytag: member="EVAS_RENDER_ADD_REL" ref="gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc" args="" -->EVAS_RENDER_ADD_REL</em>&nbsp;</td><td>
+<p>d = d + s*da </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27"></a><!-- doxytag: member="EVAS_RENDER_SUB" ref="gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27" args="" -->EVAS_RENDER_SUB</em>&nbsp;</td><td>
+<p>d = d - s </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c"></a><!-- doxytag: member="EVAS_RENDER_SUB_REL" ref="gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c" args="" -->EVAS_RENDER_SUB_REL</em>&nbsp;</td><td>
+<p>d = d - s*da </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9"></a><!-- doxytag: member="EVAS_RENDER_TINT" ref="gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9" args="" -->EVAS_RENDER_TINT</em>&nbsp;</td><td>
+<p>d = d*s + d*(1 - sa) + s*(1 - da) </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6"></a><!-- doxytag: member="EVAS_RENDER_TINT_REL" ref="gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6" args="" -->EVAS_RENDER_TINT_REL</em>&nbsp;</td><td>
+<p>d = d*(1 - sa + s) </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f"></a><!-- doxytag: member="EVAS_RENDER_MASK" ref="gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f" args="" -->EVAS_RENDER_MASK</em>&nbsp;</td><td>
+<p>d = d*sa </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294"></a><!-- doxytag: member="EVAS_RENDER_MUL" ref="gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294" args="" -->EVAS_RENDER_MUL</em>&nbsp;</td><td>
+<p>d = d*s </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga3308cb65716beb4ce826b9701e23159a"></a><!-- doxytag: member="evas_object_main.c::evas_object_anti_alias_get" ref="ga3308cb65716beb4ce826b9701e23159a" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_anti_alias_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves whether or not the given evas object is to be drawn anti_aliased. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>1</code> if the object is to be anti_aliased. <code>0</code> otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf0c7d4c49695749fa616d0abdbd5ddeb"></a><!-- doxytag: member="evas_object_main.c::evas_object_anti_alias_set" ref="gaf0c7d4c49695749fa616d0abdbd5ddeb" args="(Evas_Object *obj, Eina_Bool anti_alias)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_anti_alias_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>anti_alias</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets whether or not the given evas object is to be drawn anti-aliased. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>anti_alias</em>&nbsp;</td><td>1 if the object is to be anti_aliased, 0 otherwise. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga163e7d373168eea15ef1b6a9be68f3ec"></a><!-- doxytag: member="evas_data.c::evas_object_data_del" ref="ga163e7d373168eea15ef1b6a9be68f3ec" args="(Evas_Object *obj, const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_data_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete at attached data pointer from an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to delete the data pointer from </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The string key the data was stored under </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The original data pointer stored at <code>key</code> on <code>obj</code> </dd></dl>
+<p>This will remove thee stored data pointer from <code>obj</code> stored under <code>key</code>, and return the original pointer stored under <code>key</code>, if any, nor NULL if nothing was stored under that key.</p>
+<p>Example:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> *my_data;
+ <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+
+ my_data = <a class="code" href="group__Evas__Object__Group__Extras.html#ga163e7d373168eea15ef1b6a9be68f3ec" title="Delete at attached data pointer from an object.">evas_object_data_del</a>(obj, <span class="stringliteral">&quot;name_of_my_data&quot;</span>);
+</pre></div> 
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Extras.html#ga429f41f49547080ff96d21196e4ff8ed">evas_object_data_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga69bba3a6ae917a3170ec4429d6b86f0b"></a><!-- doxytag: member="evas_data.c::evas_object_data_get" ref="ga69bba3a6ae917a3170ec4429d6b86f0b" args="(const Evas_Object *obj, const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_data_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return an attached data pointer by its given string key. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to which the data was attached </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The string key the data was stored under </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer stored, or NULL if none was stored</dd></dl>
+<p>This function will return the data pointer attached to the object <code>obj</code> stored using the string key <code>key</code>. If the object is valid and data was stored under the given key, the pointer that was stored will be reuturned. If this is not the case, NULL will be returned, signifying an invalid object or non-existent key. It is possible a NULL pointer was stored given that key, but this situation is non-sensical and thus can be considered an error as well. NULL pointers are never stored as this is the return value if an error occurs.</p>
+<p>Example:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> *my_data;
+ <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+
+ my_data = <a class="code" href="group__Evas__Object__Group__Extras.html#ga69bba3a6ae917a3170ec4429d6b86f0b" title="Return an attached data pointer by its given string key.">evas_object_data_get</a>(obj, <span class="stringliteral">&quot;name_of_my_data&quot;</span>);
+ <span class="keywordflow">if</span> (my_data) printf(<span class="stringliteral">&quot;Data stored was %p\n&quot;</span>, my_data);
+ <span class="keywordflow">else</span> printf(<span class="stringliteral">&quot;No data was stored on the object\n&quot;</span>);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga429f41f49547080ff96d21196e4ff8ed"></a><!-- doxytag: member="evas_data.c::evas_object_data_set" ref="ga429f41f49547080ff96d21196e4ff8ed" args="(Evas_Object *obj, const char *key, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_data_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set an attached data pointer to an object with a given string key. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to attach the data pointer to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The string key for the data to access it </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The ponter to the data to be attached</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This attaches the pointer <code>data</code> to the object <code>obj</code> given the string <code>key</code>. This pointer will stay "hooked" to the object until a new pointer with the same string key is attached with <a class="el" href="group__Evas__Object__Group__Extras.html#ga429f41f49547080ff96d21196e4ff8ed" title="Set an attached data pointer to an object with a given string key.">evas_object_data_set()</a> or it is deleted with <a class="el" href="group__Evas__Object__Group__Extras.html#ga163e7d373168eea15ef1b6a9be68f3ec" title="Delete at attached data pointer from an object.">evas_object_data_del()</a>. On deletion of the object <code>obj</code>, the pointers will not be accessible from the object anymore.</p>
+<p>You can find the pointer attached under a string key using <a class="el" href="group__Evas__Object__Group__Extras.html#ga69bba3a6ae917a3170ec4429d6b86f0b" title="Return an attached data pointer by its given string key.">evas_object_data_get()</a>. It is the job of the calling application to free any data pointed to by <code>data</code> when it is no longer required.</p>
+<p>If <code>data</code> is NULL, the old value stored at <code>key</code> will be removed but no new value will be stored. This is synonymous with calling <a class="el" href="group__Evas__Object__Group__Extras.html#ga163e7d373168eea15ef1b6a9be68f3ec" title="Delete at attached data pointer from an object.">evas_object_data_del()</a> with <code>obj</code> and <code>key</code>.</p>
+<p>Example:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> *my_data;
+ <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+
+ my_data = malloc(500);
+ <a class="code" href="group__Evas__Object__Group__Extras.html#ga429f41f49547080ff96d21196e4ff8ed" title="Set an attached data pointer to an object with a given string key.">evas_object_data_set</a>(obj, <span class="stringliteral">&quot;name_of_data&quot;</span>, my_data);
+ printf(<span class="stringliteral">&quot;The data that was attached was %p\n&quot;</span>, <a class="code" href="group__Evas__Object__Group__Extras.html#ga69bba3a6ae917a3170ec4429d6b86f0b" title="Return an attached data pointer by its given string key.">evas_object_data_get</a>(obj, <span class="stringliteral">&quot;name_of_data&quot;</span>));
+</pre></div> 
+<p>References <a class="el" href="group__Evas__Object__Group__Extras.html#ga163e7d373168eea15ef1b6a9be68f3ec">evas_object_data_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga80faa9ce3b9ab59fe7b4bf6924b293ac"></a><!-- doxytag: member="evas_events.c::evas_object_pointer_mode_get" ref="ga80faa9ce3b9ab59fe7b4bf6924b293ac" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a> evas_object_pointer_mode_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Determine how pointer will behave. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>pointer behavior. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5504e39f8d0cc41af3663fed15ec06e5"></a><!-- doxytag: member="evas_events.c::evas_object_pointer_mode_set" ref="ga5504e39f8d0cc41af3663fed15ec06e5" args="(Evas_Object *obj, Evas_Object_Pointer_Mode setting)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_pointer_mode_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a>&nbsp;</td>
+          <td class="paramname"> <em>setting</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set pointer behavior. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>setting</em>&nbsp;</td><td>desired behavior.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function has direct effect on event callbacks related to mouse.</p>
+<p>If <code>setting</code> is EVAS_OBJECT_POINTER_MODE_AUTOGRAB, then when mouse is down at this object, events will be restricted to it as source, mouse moves, for example, will be emitted even if outside this object area.</p>
+<p>If <code>setting</code> is EVAS_OBJECT_POINTER_MODE_NOGRAB, then events will be emitted just when inside this object area.</p>
+<p>The default value is EVAS_OBJECT_POINTER_MODE_AUTOGRAB. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga8483a3c855f466a5dca480fcfd07b52b"></a><!-- doxytag: member="evas_object_main.c::evas_object_precise_is_inside_get" ref="ga8483a3c855f466a5dca480fcfd07b52b" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_precise_is_inside_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Determine whether an object is set to use a precise point collision detection. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gac9ce9802afd7d4cba580fbcbe92c28b2"></a><!-- doxytag: member="evas_object_main.c::evas_object_precise_is_inside_set" ref="gac9ce9802afd7d4cba580fbcbe92c28b2" args="(Evas_Object *obj, Eina_Bool precise)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_precise_is_inside_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>precise</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set whether to use a precise (usually expensive) point collision detection. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>precise</em>&nbsp;</td><td>wheter to use a precise point collision detection or not The default value is false. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa157afa6f23cdf4b344d95531bb7d508"></a><!-- doxytag: member="evas_object_main.c::evas_object_render_op_get" ref="gaa157afa6f23cdf4b344d95531bb7d508" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a> evas_object_render_op_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the current value of the operation used for rendering the evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>one of the enumerated values in Evas_Render_Op. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga86ef8d1f039bff1a60595688f93a7990"></a><!-- doxytag: member="evas_object_main.c::evas_object_render_op_set" ref="ga86ef8d1f039bff1a60595688f93a7990" args="(Evas_Object *obj, Evas_Render_Op render_op)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_render_op_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a>&nbsp;</td>
+          <td class="paramname"> <em>render_op</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the render_op to be used for rendering the evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>render_op</em>&nbsp;</td><td>one of the Evas_Render_Op values. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1c0aca3af434f0bc0fa8732248b197ba"></a><!-- doxytag: member="evas_object_main.c::evas_object_scale_get" ref="ga1c0aca3af434f0bc0fa8732248b197ba" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double evas_object_scale_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the scaling factor for the given evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The scaling factor. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf010777fa1b58bd1c9c8093d2edc62e9"></a><!-- doxytag: member="evas_object_main.c::evas_object_scale_set" ref="gaf010777fa1b58bd1c9c8093d2edc62e9" args="(Evas_Object *obj, double scale)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_scale_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>scale</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the scaling factor for an evas object. </p>
+<p>Does not affect all objects.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>scale</em>&nbsp;</td><td>The scaling factor. 1.0 == none. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gafda644be2d6e6360959853c9d6195ec8"></a><!-- doxytag: member="evas_object_main.c::evas_object_static_clip_get" ref="gafda644be2d6e6360959853c9d6195ec8" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_static_clip_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get static "clipper" hint flag. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8" title="Set a hint flag on the object that this is used as a static &quot;clipper&quot;.">evas_object_static_clip_set()</a></dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The static clip flag (on or off) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8697b24251c2209c60aabb1a5de860a8"></a><!-- doxytag: member="evas_object_main.c::evas_object_static_clip_set" ref="ga8697b24251c2209c60aabb1a5de860a8" args="(Evas_Object *obj, Eina_Bool is_static_clip)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_static_clip_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>is_static_clip</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set a hint flag on the object that this is used as a static "clipper". </p>
+<p>This is a hint to evas that this object is used as a big static clipper and shouldnt be moved with children and otherwise considered specially. The Default is off.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>is_static_clip</em>&nbsp;</td><td>The static clip flag (on or off) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Find.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Find.html
new file mode 100644 (file)
index 0000000..a260feb
--- /dev/null
@@ -0,0 +1,543 @@
+<html>
+<head>
+    <title>Evas: Finding Objects</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Finding Objects<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that allows finding objects by their position, name or other properties.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5">evas_focus_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the object that currently has focus.  <a href="#gaafc05ec22375400b9f0cfc8bcfc83bf5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gad3214c89581f068934c57ac71dc6a52f">evas_object_name_find</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the object on the given evas with the given name.  <a href="#gad3214c89581f068934c57ac71dc6a52f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54">evas_object_top_at_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object at the given position (x,y).  <a href="#ga6028b55f1ec538feb45aa004ba916a54"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448">evas_object_top_at_pointer_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object at mouse pointer position.  <a href="#ga6382adb2279892eb01029cef46988448"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gaf072ec206768d96c6f73a590e6af39c9">evas_object_top_in_rectangle_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object in the given rectangle region.  <a href="#gaf072ec206768d96c6f73a590e6af39c9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga473d00deb431d0869484474153e47c04">evas_objects_at_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the objects at the given position.  <a href="#ga473d00deb431d0869484474153e47c04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gae5d4af2f915c2efe4e5cfc22644b8c53">evas_objects_in_rectangle_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gae5d4af2f915c2efe4e5cfc22644b8c53"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga3e06dcd04da8cd9d64e106f7ede8db9e">evas_object_bottom_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the lowest evas object on the Evas <code>e</code>.  <a href="#ga3e06dcd04da8cd9d64e106f7ede8db9e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga2acf1e026d576ba355ca1b1ea24e0736">evas_object_top_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the highest evas object on the Evas <code>e</code>.  <a href="#ga2acf1e026d576ba355ca1b1ea24e0736"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that allows finding objects by their position, name or other properties. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaafc05ec22375400b9f0cfc8bcfc83bf5"></a><!-- doxytag: member="evas_focus.c::evas_focus_get" ref="gaafc05ec22375400b9f0cfc8bcfc83bf5" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_focus_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieve the object that currently has focus. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The <code>Evas</code> canvas to query focus on.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Returns the object that currently has focus, NULL otherwise.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5" title="Sets focus to the given object.">evas_object_focus_set</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654" title="Test if the object has focus.">evas_object_focus_get</a> </dd>
+<dd>
+evas_object_key_grab </dd>
+<dd>
+evas_object_key_ungrab</dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The object that has focus or NULL is there is not one. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3e06dcd04da8cd9d64e106f7ede8db9e"></a><!-- doxytag: member="evas_stack.c::evas_object_bottom_get" ref="ga3e06dcd04da8cd9d64e106f7ede8db9e" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_bottom_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the lowest evas object on the Evas <code>e</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>an Evas </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the lowest object </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad3214c89581f068934c57ac71dc6a52f"></a><!-- doxytag: member="evas_name.c::evas_object_name_find" ref="gad3214c89581f068934c57ac71dc6a52f" args="(const Evas *e, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_name_find </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the object on the given evas with the given name. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The given name. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>If successful, the evas object with the given name. Otherwise, <code>NULL</code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6382adb2279892eb01029cef46988448"></a><!-- doxytag: member="evas_object_main.c::evas_object_top_at_pointer_get" ref="ga6382adb2279892eb01029cef46988448" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_top_at_pointer_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the top object at mouse pointer position. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The evas object that is over all others objects at the pointer position. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54">evas_object_top_at_xy_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6028b55f1ec538feb45aa004ba916a54"></a><!-- doxytag: member="evas_object_main.c::evas_object_top_at_xy_get" ref="ga6028b55f1ec538feb45aa004ba916a54" args="(const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_top_at_xy_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_pass_events_objects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_hidden_objects</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the top object at the given position (x,y). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The horizontal coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The vertical coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_pass_events_objects</em>&nbsp;</td><td>Boolean Flag to include or not pass events objects </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_hidden_objects</em>&nbsp;</td><td>Boolean Flag to include or not hidden objects </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The evas object that is over all others objects at the given position. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448">evas_object_top_at_pointer_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2acf1e026d576ba355ca1b1ea24e0736"></a><!-- doxytag: member="evas_stack.c::evas_object_top_get" ref="ga2acf1e026d576ba355ca1b1ea24e0736" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_top_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the highest evas object on the Evas <code>e</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>an Evas </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the highest object </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf072ec206768d96c6f73a590e6af39c9"></a><!-- doxytag: member="evas_object_main.c::evas_object_top_in_rectangle_get" ref="gaf072ec206768d96c6f73a590e6af39c9" args="(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_top_in_rectangle_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_pass_events_objects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_hidden_objects</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the top object in the given rectangle region. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The horizontal coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The vertical coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_pass_events_objects</em>&nbsp;</td><td>Boolean Flag to include or not pass events objects </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_hidden_objects</em>&nbsp;</td><td>Boolean Flag to include or not hidden objects </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The evas object that is over all others objects at the pointer position. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga473d00deb431d0869484474153e47c04"></a><!-- doxytag: member="evas_object_main.c::evas_objects_at_xy_get" ref="ga473d00deb431d0869484474153e47c04" args="(const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_objects_at_xy_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_pass_events_objects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_hidden_objects</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the objects at the given position. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The horizontal coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The vertical coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_pass_events_objects</em>&nbsp;</td><td>Boolean Flag to include or not pass events objects </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_hidden_objects</em>&nbsp;</td><td>Boolean Flag to include or not hidden objects </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The list of evas objects at the pointer position. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae5d4af2f915c2efe4e5cfc22644b8c53"></a><!-- doxytag: member="evas_object_main.c::evas_objects_in_rectangle_get" ref="gae5d4af2f915c2efe4e5cfc22644b8c53" args="(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_objects_in_rectangle_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_pass_events_objects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_hidden_objects</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. Retrieves the objects in the given rectangle region </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The horizontal coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The vertical coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_pass_events_objects</em>&nbsp;</td><td>Boolean Flag to include or not pass events objects </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_hidden_objects</em>&nbsp;</td><td>Boolean Flag to include or not hidden objects </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The list of evas object in the rectangle region. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Interceptors.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Interceptors.html
new file mode 100644 (file)
index 0000000..1716966
--- /dev/null
@@ -0,0 +1,999 @@
+<html>
+<head>
+    <title>Evas: Object Method Interceptors</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Object Method Interceptors<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Evas provides a way to intercept method calls.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga3d80ec058c8c41638c8cc969be4d2920">evas_object_intercept_show_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Show_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the callback function that intercepts a show event of a object.  <a href="#ga3d80ec058c8c41638c8cc969be4d2920"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga4816b582c3187aaad1644d2b93058e5e">evas_object_intercept_show_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Show_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unset the callback function that intercepts a show event of a object.  <a href="#ga4816b582c3187aaad1644d2b93058e5e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga22e8baa1ef7a1607f8f28dac68a1f082">evas_object_intercept_hide_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Hide_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the callback function that intercepts a hide event of a object.  <a href="#ga22e8baa1ef7a1607f8f28dac68a1f082"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga6586e236a6184486198775ab763e3f3c">evas_object_intercept_hide_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Hide_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unset the callback function that intercepts a hide event of a object.  <a href="#ga6586e236a6184486198775ab763e3f3c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga08de22649a49981f9e10bf0da91a3ea6">evas_object_intercept_move_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Move_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the callback function that intercepts a move event of a object.  <a href="#ga08de22649a49981f9e10bf0da91a3ea6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga74c91ac985423daab22a89c4399c1d1d">evas_object_intercept_move_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Move_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unset the callback function that intercepts a move event of a object.  <a href="#ga74c91ac985423daab22a89c4399c1d1d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gac2ff36ae29a8e23617426f29a0c1fcd5">evas_object_intercept_resize_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Resize_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gac2ff36ae29a8e23617426f29a0c1fcd5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga4e97fa796c926741eb36e8394cb165c3">evas_object_intercept_resize_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Resize_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga4e97fa796c926741eb36e8394cb165c3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga19d34b7aeb38e7461ffd4edbe53ed6de">evas_object_intercept_raise_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Raise_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga19d34b7aeb38e7461ffd4edbe53ed6de"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga506306fe87e6029c05900aa1d05f7738">evas_object_intercept_raise_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Raise_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga506306fe87e6029c05900aa1d05f7738"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga89af0b657cf6455d5f045a8635bda384">evas_object_intercept_lower_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Lower_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga89af0b657cf6455d5f045a8635bda384"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gabf2007804911fba837d08f40771b4407">evas_object_intercept_lower_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Lower_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gabf2007804911fba837d08f40771b4407"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga2312fa84e2a3e406fa3dfcdcad4508e4">evas_object_intercept_stack_above_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Stack_Above_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga2312fa84e2a3e406fa3dfcdcad4508e4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gae1bf65a8cd0cdca8de7dc8d2695e793d">evas_object_intercept_stack_above_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Stack_Above_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gae1bf65a8cd0cdca8de7dc8d2695e793d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga2ca3156882d8c75ff9f133d919de97a3">evas_object_intercept_stack_below_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Stack_Below_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga2ca3156882d8c75ff9f133d919de97a3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga3ea2c39efe906e667c7ee6ff3e495077">evas_object_intercept_stack_below_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Stack_Below_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga3ea2c39efe906e667c7ee6ff3e495077"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gad09f0dc01feadf931c7e28ec59c5a006">evas_object_intercept_layer_set_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Layer_Set_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gad09f0dc01feadf931c7e28ec59c5a006"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gaae557df24e79e6f5e297c58039769756">evas_object_intercept_layer_set_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Layer_Set_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaae557df24e79e6f5e297c58039769756"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gaa06bec22508d8a6e3d46a15ad9b9424b">evas_object_intercept_color_set_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Color_Set_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaa06bec22508d8a6e3d46a15ad9b9424b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gaea953f10b9d493808ed05f76070d9271">evas_object_intercept_color_set_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Color_Set_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaea953f10b9d493808ed05f76070d9271"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gac4f3f584515d02f663d32fb010bd4959">evas_object_intercept_clip_set_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Clip_Set_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gac4f3f584515d02f663d32fb010bd4959"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gab36329c91b46748f30c1bffb811f70ce">evas_object_intercept_clip_set_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Clip_Set_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gab36329c91b46748f30c1bffb811f70ce"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga608008f35ffb143afc70c7154530a2c5">evas_object_intercept_clip_unset_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Clip_Unset_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga608008f35ffb143afc70c7154530a2c5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gaa4985b2b46b9f0f3126856a343136286">evas_object_intercept_clip_unset_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Clip_Unset_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaa4985b2b46b9f0f3126856a343136286"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Evas provides a way to intercept method calls. </p>
+<p>The interceptor callback may opt to completely deny the call, or may check and change the parameters before continuing. The continuation of an intercepted call is done by calling the intercepted call again, from inside the interceptor callback. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gac4f3f584515d02f663d32fb010bd4959"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_clip_set_callback_add" ref="gac4f3f584515d02f663d32fb010bd4959" args="(Evas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_clip_set_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Clip_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gab36329c91b46748f30c1bffb811f70ce"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_clip_set_callback_del" ref="gab36329c91b46748f30c1bffb811f70ce" args="(Evas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_clip_set_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Clip_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga608008f35ffb143afc70c7154530a2c5"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_clip_unset_callback_add" ref="ga608008f35ffb143afc70c7154530a2c5" args="(Evas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_clip_unset_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Clip_Unset_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaa4985b2b46b9f0f3126856a343136286"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_clip_unset_callback_del" ref="gaa4985b2b46b9f0f3126856a343136286" args="(Evas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_clip_unset_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Clip_Unset_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaa06bec22508d8a6e3d46a15ad9b9424b"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_color_set_callback_add" ref="gaa06bec22508d8a6e3d46a15ad9b9424b" args="(Evas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_color_set_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Color_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaea953f10b9d493808ed05f76070d9271"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_color_set_callback_del" ref="gaea953f10b9d493808ed05f76070d9271" args="(Evas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_color_set_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Color_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga22e8baa1ef7a1607f8f28dac68a1f082"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_hide_callback_add" ref="ga22e8baa1ef7a1607f8f28dac68a1f082" args="(Evas_Object *obj, Evas_Object_Intercept_Hide_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_hide_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Hide_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the callback function that intercepts a hide event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given function to be the callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data passed to the callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a hide event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga6586e236a6184486198775ab763e3f3c" title="Unset the callback function that intercepts a hide event of a object.">evas_object_intercept_hide_callback_del()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6586e236a6184486198775ab763e3f3c"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_hide_callback_del" ref="ga6586e236a6184486198775ab763e3f3c" args="(Evas_Object *obj, Evas_Object_Intercept_Hide_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_hide_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Hide_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Unset the callback function that intercepts a hide event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a hide event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga22e8baa1ef7a1607f8f28dac68a1f082" title="Set the callback function that intercepts a hide event of a object.">evas_object_intercept_hide_callback_add()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad09f0dc01feadf931c7e28ec59c5a006"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_layer_set_callback_add" ref="gad09f0dc01feadf931c7e28ec59c5a006" args="(Evas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_layer_set_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Layer_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaae557df24e79e6f5e297c58039769756"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_layer_set_callback_del" ref="gaae557df24e79e6f5e297c58039769756" args="(Evas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_layer_set_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Layer_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga89af0b657cf6455d5f045a8635bda384"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_lower_callback_add" ref="ga89af0b657cf6455d5f045a8635bda384" args="(Evas_Object *obj, Evas_Object_Intercept_Lower_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_lower_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Lower_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gabf2007804911fba837d08f40771b4407"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_lower_callback_del" ref="gabf2007804911fba837d08f40771b4407" args="(Evas_Object *obj, Evas_Object_Intercept_Lower_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_lower_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Lower_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga08de22649a49981f9e10bf0da91a3ea6"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_move_callback_add" ref="ga08de22649a49981f9e10bf0da91a3ea6" args="(Evas_Object *obj, Evas_Object_Intercept_Move_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_move_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Move_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the callback function that intercepts a move event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given function to be the callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data passed to the callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a move event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga74c91ac985423daab22a89c4399c1d1d" title="Unset the callback function that intercepts a move event of a object.">evas_object_intercept_move_callback_del()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga74c91ac985423daab22a89c4399c1d1d"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_move_callback_del" ref="ga74c91ac985423daab22a89c4399c1d1d" args="(Evas_Object *obj, Evas_Object_Intercept_Move_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_move_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Move_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Unset the callback function that intercepts a move event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a move event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga08de22649a49981f9e10bf0da91a3ea6" title="Set the callback function that intercepts a move event of a object.">evas_object_intercept_move_callback_add()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga19d34b7aeb38e7461ffd4edbe53ed6de"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_raise_callback_add" ref="ga19d34b7aeb38e7461ffd4edbe53ed6de" args="(Evas_Object *obj, Evas_Object_Intercept_Raise_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_raise_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Raise_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga506306fe87e6029c05900aa1d05f7738"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_raise_callback_del" ref="ga506306fe87e6029c05900aa1d05f7738" args="(Evas_Object *obj, Evas_Object_Intercept_Raise_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_raise_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Raise_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gac2ff36ae29a8e23617426f29a0c1fcd5"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_resize_callback_add" ref="gac2ff36ae29a8e23617426f29a0c1fcd5" args="(Evas_Object *obj, Evas_Object_Intercept_Resize_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_resize_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Resize_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga4e97fa796c926741eb36e8394cb165c3"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_resize_callback_del" ref="ga4e97fa796c926741eb36e8394cb165c3" args="(Evas_Object *obj, Evas_Object_Intercept_Resize_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_resize_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Resize_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3d80ec058c8c41638c8cc969be4d2920"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_show_callback_add" ref="ga3d80ec058c8c41638c8cc969be4d2920" args="(Evas_Object *obj, Evas_Object_Intercept_Show_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_show_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Show_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the callback function that intercepts a show event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given function to be the callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data passed to the callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a show event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga4816b582c3187aaad1644d2b93058e5e" title="Unset the callback function that intercepts a show event of a object.">evas_object_intercept_show_callback_del()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4816b582c3187aaad1644d2b93058e5e"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_show_callback_del" ref="ga4816b582c3187aaad1644d2b93058e5e" args="(Evas_Object *obj, Evas_Object_Intercept_Show_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_show_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Show_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Unset the callback function that intercepts a show event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a show event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga3d80ec058c8c41638c8cc969be4d2920" title="Set the callback function that intercepts a show event of a object.">evas_object_intercept_show_callback_add()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2312fa84e2a3e406fa3dfcdcad4508e4"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_stack_above_callback_add" ref="ga2312fa84e2a3e406fa3dfcdcad4508e4" args="(Evas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_stack_above_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Stack_Above_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae1bf65a8cd0cdca8de7dc8d2695e793d"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_stack_above_callback_del" ref="gae1bf65a8cd0cdca8de7dc8d2695e793d" args="(Evas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_stack_above_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Stack_Above_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2ca3156882d8c75ff9f133d919de97a3"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_stack_below_callback_add" ref="ga2ca3156882d8c75ff9f133d919de97a3" args="(Evas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_stack_below_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Stack_Below_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3ea2c39efe906e667c7ee6ff3e495077"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_stack_below_callback_del" ref="ga3ea2c39efe906e667c7ee6ff3e495077" args="(Evas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_stack_below_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Stack_Below_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Map.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Map.html
new file mode 100644 (file)
index 0000000..86ad417
--- /dev/null
@@ -0,0 +1,134 @@
+<html>
+<head>
+    <title>Evas: UV Mapping (Rotation, Perspecitve, 3D...)</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a>  </div>
+  <div class="headertitle">
+<h1>UV Mapping (Rotation, Perspecitve, 3D...)<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Evas allows different transformations to be applied to all kinds of objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct _Evas_Map&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque handle to map points.  <a href="#gae94fcea124ae4135e8bb15a014b334dc"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Evas allows different transformations to be applied to all kinds of objects. </p>
+<p>These are applied by means of UV mapping.</p>
+<p>With UV mapping, one maps points in the source object to a 3D space positioning at target. This allows rotation, perspective, scale and lots of other effects, depending on the map that is used.</p>
+<p>Each map point may carry a multiplier color. If properly calculated, these can do shading effects on the object, producing 3D effects.</p>
+<p>As usual, Evas provides both the raw and easy to use methods. The raw methods allow developer to create its maps somewhere else, maybe load them from some file format. The easy to use methods, calculate the points given some high-level parameters, such as rotation angle, ambient light and so on.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>applying mapping will reduce performance, so use with care. The impact on performance depends on engine in use. Software is quite optimized, but not as fast as OpenGL. </dd></dl>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="gae94fcea124ae4135e8bb15a014b334dc"></a><!-- doxytag: member="Evas.h::Evas_Map" ref="gae94fcea124ae4135e8bb15a014b334dc" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>An opaque handle to map points. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#a719acc4f4792236f7031664ec450b399" title="Create map of transformation points to be later used with an evas object.">evas_map_new()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a78ecdf799f326e1c17aae6770c06058a" title="Free a previously allocated map.">evas_map_free()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a25ffe0dd36fed0c9c492d636b163390a" title="Copy a previously allocated map.">evas_map_dup()</a> </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Size__Hints.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Group__Size__Hints.html
new file mode 100644 (file)
index 0000000..8076995
--- /dev/null
@@ -0,0 +1,818 @@
+<html>
+<head>
+    <title>Evas: Size Hints</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Size Hints<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Objects may carry hints so another object that acts as a manager (see <a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>) may know how to properly position and resize the object.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size hint for the minimum size.  <a href="#ga8f1430ec1cce66ee7763fbac7927f55e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size hint for the minimum size.  <a href="#ga373fc149848dd782ac942e4b5751eb4b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size hint for the maximum size.  <a href="#ga868180db80ed59bfd7ebdc3dd71bb59a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga2a224fd6c4fc231af281af59c5a604b2">evas_object_size_hint_max_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size hint for the maximum size.  <a href="#ga2a224fd6c4fc231af281af59c5a604b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga6a7de6942258ab03a6e85b37f569895d">evas_object_size_hint_request_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size request hint.  <a href="#ga6a7de6942258ab03a6e85b37f569895d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gace0177af29ccbf1a60415f2c4c85c1f4">evas_object_size_hint_request_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the requested size hint.  <a href="#gace0177af29ccbf1a60415f2c4c85c1f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga7b31c73dcbf60cdafe6ad7ffae42a54c">evas_object_size_hint_aspect_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size aspect control hint.  <a href="#ga7b31c73dcbf60cdafe6ad7ffae42a54c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gadb36ccc851e48ae2a11a6e2cb7fcb273">evas_object_size_hint_aspect_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size aspect control hint.  <a href="#gadb36ccc851e48ae2a11a6e2cb7fcb273"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double *x, double *y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size align control hint.  <a href="#gaff2802d3169b29a786f9b39be3f474bb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f">evas_object_size_hint_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double x, double y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size align control hint.  <a href="#ga156cf1921d0be0d7dcf4d6f93daf010f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">evas_object_size_hint_weight_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double *x, double *y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size weight control hint.  <a href="#ga66f88dc981e7c0af05822c583e03fabb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98">evas_object_size_hint_weight_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double x, double y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size weight control hint.  <a href="#gabb010d4e7a8772b1785185d89a1a6b98"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size padding control hint.  <a href="#ga81b821793f451c648052cf7d6cfe6dd4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga0014a3016d34071d41d76785a963fcb1">evas_object_size_hint_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size padding control hint.  <a href="#ga0014a3016d34071d41d76785a963fcb1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Objects may carry hints so another object that acts as a manager (see <a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>) may know how to properly position and resize the object. </p>
+<p>The Size Hints provide a common interface that is recommended as the protocol for such information. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaff2802d3169b29a786f9b39be3f474bb"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_align_get" ref="gaff2802d3169b29a786f9b39be3f474bb" args="(const Evas_Object *obj, double *x, double *y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_align_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size align control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>x</code> or <code>y</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Pointer to a double in which to store the align x. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Pointer to a double in which to store the align y. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga156cf1921d0be0d7dcf4d6f93daf010f"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_align_set" ref="ga156cf1921d0be0d7dcf4d6f93daf010f" args="(Evas_Object *obj, double x, double y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_align_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size align control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Accepted values are in the 0.0 to 1.0 range, with the special value -1.0 used to specify "justify" or "fill" by some users. See documentation of possible users.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Double (0.0..1.0 or -1.0) to use as align x hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Double (0.0..1.0 or -1.0) to use as align y hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7b31c73dcbf60cdafe6ad7ffae42a54c"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_aspect_get" ref="ga7b31c73dcbf60cdafe6ad7ffae42a54c" args="(const Evas_Object *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_aspect_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Aspect_Control *&nbsp;</td>
+          <td class="paramname"> <em>aspect</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size aspect control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>aspect</code>, <code>w</code> or <code>h</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>aspect</em>&nbsp;</td><td>Returns the hint on how size should be calculated. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the aspect width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the aspect height. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gadb36ccc851e48ae2a11a6e2cb7fcb273"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_aspect_set" ref="gadb36ccc851e48ae2a11a6e2cb7fcb273" args="(Evas_Object *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_aspect_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Aspect_Control&nbsp;</td>
+          <td class="paramname"> <em>aspect</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size aspect control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>aspect</em>&nbsp;</td><td>Hint on how to calculate size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Integer to use as aspect width hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Integer to use as aspect height hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga868180db80ed59bfd7ebdc3dd71bb59a"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_max_get" ref="ga868180db80ed59bfd7ebdc3dd71bb59a" args="(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_max_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size hint for the maximum size. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>w</code> or <code>h</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the maximum width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the maximum height. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2a224fd6c4fc231af281af59c5a604b2"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_max_set" ref="ga2a224fd6c4fc231af281af59c5a604b2" args="(Evas_Object *obj, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_max_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size hint for the maximum size. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Value -1 is considered unset.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Integer to use as the maximum width hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Integer to use as the maximum height hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8f1430ec1cce66ee7763fbac7927f55e"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_min_get" ref="ga8f1430ec1cce66ee7763fbac7927f55e" args="(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_min_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size hint for the minimum size. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>w</code> or <code>h</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the minimum width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the minimum height. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, and <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga373fc149848dd782ac942e4b5751eb4b"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_min_set" ref="ga373fc149848dd782ac942e4b5751eb4b" args="(Evas_Object *obj, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_min_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size hint for the minimum size. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Value 0 is considered unset.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Integer to use as the minimum width hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Integer to use as the minimum height hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga81b821793f451c648052cf7d6cfe6dd4"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_padding_get" ref="ga81b821793f451c648052cf7d6cfe6dd4" args="(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_padding_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size padding control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>l</code>, <code>r</code>, <code>t</code> or <code>b</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>Pointer to an integer in which to store left padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>Pointer to an integer in which to store right padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>Pointer to an integer in which to store top padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Pointer to an integer in which to store bottom padding. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0014a3016d34071d41d76785a963fcb1"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_padding_set" ref="ga0014a3016d34071d41d76785a963fcb1" args="(Evas_Object *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_padding_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size padding control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>Integer to specify left padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>Integer to specify right padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>Integer to specify top padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Integer to specify bottom padding. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6a7de6942258ab03a6e85b37f569895d"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_request_get" ref="ga6a7de6942258ab03a6e85b37f569895d" args="(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_request_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size request hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>w</code> or <code>h</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the requested width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the requested height. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gace0177af29ccbf1a60415f2c4c85c1f4"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_request_set" ref="gace0177af29ccbf1a60415f2c4c85c1f4" args="(Evas_Object *obj, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_request_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the requested size hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Value 0 is considered unset.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Integer to use as the preferred width hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Integer to use as the preferred height hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga66f88dc981e7c0af05822c583e03fabb"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_weight_get" ref="ga66f88dc981e7c0af05822c583e03fabb" args="(const Evas_Object *obj, double *x, double *y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_weight_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size weight control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>x</code> or <code>y</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<p>Accepted values are zero or positive values. Some users might use this hint as a boolean, but some might consider it as a proportion, see documentation of possible users.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Pointer to a double in which to store the weight x. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Pointer to a double in which to store the weight y. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabb010d4e7a8772b1785185d89a1a6b98"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_weight_set" ref="gabb010d4e7a8772b1785185d89a1a6b98" args="(Evas_Object *obj, double x, double y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_weight_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size weight control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Double (0.0-1.0) to use as weight x hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Double (0.0-1.0) to use as weight y hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Image.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Image.html
new file mode 100644 (file)
index 0000000..3df48e5
--- /dev/null
@@ -0,0 +1,2398 @@
+<html>
+<head>
+    <title>Evas: Image Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Image Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions used to create and manipulate image objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Colorspaces for pixel data supported by Evas.  <a href="#ga8c6e60db9c8b83b155ccea52957ff656"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254">EVAS_COLORSPACE_ARGB8888</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636">EVAS_COLORSPACE_YCBCR422P601_PL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22">EVAS_COLORSPACE_YCBCR422P709_PL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729">EVAS_COLORSPACE_RGB565_A5P</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0">EVAS_COLORSPACE_GRY8</a>
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Colorspaces for pixel data supported by Evas. </p>
+ <a href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce">evas_object_image_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new image object on the given evas.  <a href="#gae2bf7d73874a8b11ac4d7cb3bf2476ce"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">evas_object_image_filled_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new image object that automatically scales on the given evas.  <a href="#ga2e4275b1aee95e338ffa8b39e81f4eee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga58846bf7f00892e6985264ea2681d73a">evas_object_image_memfile_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data, int size, char *format, char *key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the data for an image from memory to be loaded.  <a href="#ga58846bf7f00892e6985264ea2681d73a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">evas_object_image_file_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *file, const char *key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the filename and key of the given image object.  <a href="#ga70f63c055b2e248089e761f5c0f78a0f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga0c3b22438934db6f2b53a30ddd71ef1a">evas_object_image_file_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char **file, const char **key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the filename and key of the given image object.  <a href="#ga0c3b22438934db6f2b53a30ddd71ef1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">evas_object_image_source_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *src)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the source object on a proxy object.  <a href="#ga8f3b7eb8efaa3d77b9908a080b3d4c55"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga95a96ced932d6e7e17ee019654d9d901">evas_object_image_source_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current source object of an image.  <a href="#ga95a96ced932d6e7e17ee019654d9d901"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">evas_object_image_source_unset</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the source on a proxy image.  <a href="#gad667fc9de032eb39bf07e33ef0f4d81b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d">evas_object_image_border_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int l, int r, int t, int b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets how much of each border of the given image object is not to be scaled.  <a href="#ga6283aace5be077433bee45ec23ad072d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab666a37cbae8ee846cdeb518e7fd495c">evas_object_image_border_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *l, int *r, int *t, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves how much of each border of the given image object is not to be scaled.  <a href="#gab666a37cbae8ee846cdeb518e7fd495c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga4caf736585ad602e6748e434ac1f5fc6">evas_object_image_border_center_fill_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Border_Fill_Mode fill)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets if the center part of the given image object (not the border) should be drawn.  <a href="#ga4caf736585ad602e6748e434ac1f5fc6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Border_Fill_Mode&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga04f8a4f69c5ad37d9229e4c39bb7c010">evas_object_image_border_center_fill_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the center of the given image object is to be drawn or not.  <a href="#ga04f8a4f69c5ad37d9229e4c39bb7c010"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool setting)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets if image fill property should track object size.  <a href="#gae304964ee6769e559ca452c788f5aae4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga3fbe9f33ccc93a5c45ffa3b26019694e">evas_object_image_filled_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if image fill property is tracking object size.  <a href="#ga3fbe9f33ccc93a5c45ffa3b26019694e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0">evas_object_image_border_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double scale)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a scale factor (multiplier) for the borders of an image.  <a href="#gaba00498563648d2d3934e7e75449abd0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga7cc1bf948a8a5d61c703211f0bd5d2dc">evas_object_image_border_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the border scale factor.  <a href="#ga7cc1bf948a8a5d61c703211f0bd5d2dc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">evas_object_image_fill_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the rectangle of the given image object that the image will be drawn to.  <a href="#ga7182040bc16e68d3bbce3bd0f8ee8034"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf1a7d6b8cf914234abdd5d3d3312f85e">evas_object_image_fill_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the dimensions of the rectangle of the given image object that the image will be drawn to.  <a href="#gaf1a7d6b8cf914234abdd5d3d3312f85e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881">evas_object_image_fill_spread_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a> spread)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the tiling mode for the given evas image object's fill.  <a href="#ga0015a660507a5562e118a1777947f881"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae86928005f983627c74dbaef6c0fbb0e">evas_object_image_fill_spread_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the spread (tiling mode) for the given image object's fill.  <a href="#gae86928005f983627c74dbaef6c0fbb0e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22">evas_object_image_size_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of the given image object.  <a href="#gaf85031267b5fab16874ebbf944dded22"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga43e6f1b16ebe859826e6901cb36995ad">evas_object_image_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *w, int *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the given image object.  <a href="#ga43e6f1b16ebe859826e6901cb36995ad"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab72175381532640c620dd032e56c590b">evas_object_image_stride_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the row stride of the given image object,.  <a href="#gab72175381532640c620dd032e56c590b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga46e4a0b2b916d28694ad054549f88e24">evas_object_image_load_error_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a number representing any error that occurred during the last load of the given image object.  <a href="#ga46e4a0b2b916d28694ad054549f88e24"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga3072cf7c31cf33057abd8ae8876218cd">evas_object_image_data_convert</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a> to_cspace)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the raw image data of the given image object to the specified colorspace.  <a href="#ga3072cf7c31cf33057abd8ae8876218cd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabdd65e4c69f422ddcf0d3c8720859a92">evas_object_image_data_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the raw image data of the given image object.  <a href="#gabdd65e4c69f422ddcf0d3c8720859a92"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2">evas_object_image_data_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool for_writing)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the raw image data of the given image object.  <a href="#gabe5883e22418071463f4ae97ca8885b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad6383022c4013008d11827b32bf63d59">evas_object_image_preload</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool cancel)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Preload image in the background.  <a href="#gad6383022c4013008d11827b32bf63d59"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga97d17b8d95f0ca01a264a6c303d00c27">evas_object_image_data_copy_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replaces the raw image data of the given image object.  <a href="#ga97d17b8d95f0ca01a264a6c303d00c27"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165">evas_object_image_data_update_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int x, int y, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark a sub-region of the given image object to be redrawn.  <a href="#gab6b763271781a2ab35f5849f6564e165"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">evas_object_image_alpha_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool has_alpha)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable or disable alpha channel of the given image object.  <a href="#gadf2df4027a211db3f9a1fb21f248d7fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gac136f7f65d8529427b1f6da055b47a30">evas_object_image_alpha_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the alpha channel setting of the given image object.  <a href="#gac136f7f65d8529427b1f6da055b47a30"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510">evas_object_image_smooth_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool smooth_scale)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets whether to use of high-quality image scaling algorithm of the given image object.  <a href="#ga670a0cf9176882f0ad339ccb4f37f510"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae4acc1da719cb38122b92527df24388c">evas_object_image_smooth_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given image object is using use a high-quality image scaling algorithm.  <a href="#gae4acc1da719cb38122b92527df24388c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga764bec190c0812f61f5a18f38c9c6a4e">evas_object_image_reload</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reload a image of the canvas.  <a href="#ga764bec190c0812f61f5a18f38c9c6a4e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga68eee07a73dc2f5dc529970f5a1634c4">evas_object_image_save</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *file, const char *key, const char *flags)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save the given image object to a file.  <a href="#ga68eee07a73dc2f5dc529970f5a1634c4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad87ced373138180afff4756fded5a4f3">evas_object_image_pixels_import</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#abb01076af16fbb50a837b1893b776783">Evas_Pixel_Import_Source</a> *pixels)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Import pixels from given source to a given canvas image object.  <a href="#gad87ced373138180afff4756fded5a4f3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga1602f8906760b1c871b84b4a287a52db">evas_object_image_pixels_get_callback_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the callback function to get pixels from a canva's image.  <a href="#ga1602f8906760b1c871b84b4a287a52db"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad230eeeb0c6ba49eafd32b20afa314cb">evas_object_image_pixels_dirty_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool dirty)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark whether the given image object is dirty (needs to be redrawn).  <a href="#gad230eeeb0c6ba49eafd32b20afa314cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga1d9e82da12f7831552fca02b9b313551">evas_object_image_pixels_dirty_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given image object is dirty (needs to be redrawn).  <a href="#ga1d9e82da12f7831552fca02b9b313551"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga88a20331cef0267ddc1d00419841580b">evas_object_image_load_dpi_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double dpi)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the dpi resolution of a loaded image of the canvas.  <a href="#ga88a20331cef0267ddc1d00419841580b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga92a5503085a5c0731bb9c299e7b42f78">evas_object_image_load_dpi_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the dpi resolution of a loaded image of the canvas.  <a href="#ga92a5503085a5c0731bb9c299e7b42f78"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga1811fb73c1e138b5221cf4b25148111a">evas_object_image_load_size_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the size of a loaded image of the canvas.  <a href="#ga1811fb73c1e138b5221cf4b25148111a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae8047183e894e1e1245f1f3aaf78f218">evas_object_image_load_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *w, int *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the size of a loaded image of the canvas.  <a href="#gae8047183e894e1e1245f1f3aaf78f218"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga59796713b88c217ce5869cb003e404c0">evas_object_image_load_scale_down_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int scale_down)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the scale down of a loaded image of the canvas.  <a href="#ga59796713b88c217ce5869cb003e404c0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga259c48b3e2a4009e8a10f8e9874d3847">evas_object_image_load_scale_down_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the scale down value of given image of the canvas.  <a href="#ga259c48b3e2a4009e8a10f8e9874d3847"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gac352f7b110d7e527bf2d36fba5507d0c">evas_object_image_colorspace_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a> cspace)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the colorspace of a given image of the canvas.  <a href="#gac352f7b110d7e527bf2d36fba5507d0c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42">evas_object_image_colorspace_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the colorspace of a given image of the canvas.  <a href="#gaa59339b6adb32081383fa5540641eb42"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gacbe4ec46460fd3321dd4f6161f09bbed">evas_object_image_native_surface_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a> *surf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the native surface of a given image of the canvas.  <a href="#gacbe4ec46460fd3321dd4f6161f09bbed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabd3effabde6da00dfcac7cf0cfa22280">evas_object_image_native_surface_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the native surface of a given image of the canvas.  <a href="#gabd3effabde6da00dfcac7cf0cfa22280"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad13d32b74c2cd82c95b85fa9640ae529">evas_object_image_scale_hint_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Image_Scale_Hint hint)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the scale hint of a given image of the canvas.  <a href="#gad13d32b74c2cd82c95b85fa9640ae529"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Image_Scale_Hint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8cce0086819196768915e5f2c2ed0cb2">evas_object_image_scale_hint_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the scale hint of a given image of the canvas.  <a href="#ga8cce0086819196768915e5f2c2ed0cb2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf6cc0faf39773e12eb496116afd67c6f">evas_object_image_content_hint_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Image_Content_Hint hint)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the content hint of a given image of the canvas.  <a href="#gaf6cc0faf39773e12eb496116afd67c6f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga154d8315842f4602878704951705e6cb">evas_object_image_alpha_mask_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool ismask)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable an image to be used as an alpha mask.  <a href="#ga154d8315842f4602878704951705e6cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Image_Content_Hint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga28881040682dbbf00937948124e9f3fb">evas_object_image_content_hint_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the content hint of a given image of the canvas.  <a href="#ga28881040682dbbf00937948124e9f3fb"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions used to create and manipulate image objects. </p>
+<p>Note - Image objects may return or accept "image data" in multiple formats. This is based on the colorspace of an object. Here is a rundown on formats:</p>
+<p>EVAS_COLORSPACE_ARGB8888:</p>
+<p>This pixel format is a linear block of pixels, starting at the top-left row by row until the bottom right of the image or pixel region. All pixels are 32-bit unsigned int's with the high-byte being alpha and the low byte being blue in the format ARGB. Alpha may or may not be used by evas depending on the alpha flag of the image, but if not used, should be set to 0xff anyway.</p>
+<p>This colorspace uses premultiplied alpha. That means that R, G and B cannot exceed A in value. The conversion from non-premultiplied colorspace is:</p>
+<p>R = (r * a) / 255; G = (g * a) / 255; B = (b * a) / 255;</p>
+<p>So 50% transparent blue will be: 0x80000080. This will not be "dark" - just 50% transparent. Values are 0 == black, 255 == solid or full red, green or blue.</p>
+<p>EVAS_COLORSPACE_YCBCR422P601_PL:</p>
+<p>This is a pointer-list indirected set of YUV (YCbCr) pixel data. This means that the data returned or set is not actual pixel data, but pointers TO lines of pixel data. The list of pointers will first be N rows of pointers to the Y plane - pointing to the first pixel at the start of each row in the Y plane. N is the height of the image data in pixels. Each pixel in the Y, U and V planes is 1 byte exactly, packed. The next N / 2 pointers will point to rows in the U plane, and the next N / 2 pointers will point to the V plane rows. U and V planes are half the horizontal and vertical resolution of the Y plane.</p>
+<p>Row order is top to bottom and row pixels are stored left to right.</p>
+<p>There is a limitation that these images MUST be a multiple of 2 pixels in size horizontally or vertically. This is due to the U and V planes being half resolution. Also note that this assumes the itu601 YUV colorspace specification. This is defined for standard television and mpeg streams. HDTV may use the itu709 specification.</p>
+<p>Values are 0 to 255, indicating full or no signal in that plane respectively.</p>
+<p>EVAS_COLORSPACE_YCBCR422P709_PL:</p>
+<p>Not implemented yet.</p>
+<p>EVAS_COLORSPACE_RGB565_A5P:</p>
+<p>In the process of being implemented in 1 engine only. This may change.</p>
+<p>This is a pointer to image data for 16-bit half-word pixel data in 16bpp RGB 565 format (5 bits red, 6 bits green, 5 bits blue), with the high-byte containing red and the low byte containing blue, per pixel. This data is packed row by row from the top-left to the bottom right.</p>
+<p>If the image has an alpha channel enabled there will be an extra alpha plane after the color pixel plane. If not, then this data will not exist and should not be accessed in any way. This plane is a set of pixels with 1 byte per pixel defining the alpha values of all pixels in the image from the top-left to the bottom right of the image, row by row. Even though the values of the alpha pixels can be 0 to 255, only values 0 through to 32 are used, 32 being solid and 0 being transparent.</p>
+<p>RGB values can be 0 to 31 for red and blue and 0 to 63 for green, with 0 being black and 31 or 63 being full red, green or blue respectively. This colorspace is also pre-multiplied like EVAS_COLORSPACE_ARGB8888 so:</p>
+<p>R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32;</p>
+<p>EVAS_COLORSPACE_A8:</p>
+<p>The image is just a alpha mask (8 bit's per pixel). This is used for alpha masking. </p>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga8c6e60db9c8b83b155ccea52957ff656"></a><!-- doxytag: member="Evas.h::Evas_Colorspace" ref="ga8c6e60db9c8b83b155ccea52957ff656" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a>  <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Colorspaces for pixel data supported by Evas. </p>
+<p>Colorspaces for pixel data supported by Evas </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ga84ff1db3d33d85c86d81dbe9046b54bb"></a><!-- doxytag: member="Evas.h::_Evas_Colorspace" ref="ga84ff1db3d33d85c86d81dbe9046b54bb" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Colorspaces for pixel data supported by Evas. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254"></a><!-- doxytag: member="EVAS_COLORSPACE_ARGB8888" ref="gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254" args="" -->EVAS_COLORSPACE_ARGB8888</em>&nbsp;</td><td>
+<p>ARGB 32 bits per pixel, high-byte is Alpha, accessed 1 32bit word at a time. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636"></a><!-- doxytag: member="EVAS_COLORSPACE_YCBCR422P601_PL" ref="gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636" args="" -->EVAS_COLORSPACE_YCBCR422P601_PL</em>&nbsp;</td><td>
+<p>YCbCr 4:2:2 Planar, ITU.BT-601 specifications. </p>
+<p>The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22"></a><!-- doxytag: member="EVAS_COLORSPACE_YCBCR422P709_PL" ref="gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22" args="" -->EVAS_COLORSPACE_YCBCR422P709_PL</em>&nbsp;</td><td>
+<p>YCbCr 4:2:2 Planar, ITU.BT-709 specifications. </p>
+<p>The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729"></a><!-- doxytag: member="EVAS_COLORSPACE_RGB565_A5P" ref="gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729" args="" -->EVAS_COLORSPACE_RGB565_A5P</em>&nbsp;</td><td>
+<p>16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0"></a><!-- doxytag: member="EVAS_COLORSPACE_GRY8" ref="gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0" args="" -->EVAS_COLORSPACE_GRY8</em>&nbsp;</td><td>
+<p>8bit grayscale </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gae2bf7d73874a8b11ac4d7cb3bf2476ce"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_add" ref="gae2bf7d73874a8b11ac4d7cb3bf2476ce" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_image_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new image object on the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The created image object. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">evas_object_image_filled_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac136f7f65d8529427b1f6da055b47a30"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_alpha_get" ref="gac136f7f65d8529427b1f6da055b47a30" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_alpha_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the alpha channel setting of the given image object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the alpha channel data is being used.</dd></dl>
+<p>This function returns 1 if the image object's alpha channel is being used, or 0 otherwise.</p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">evas_object_image_alpha_set</a> for more details. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga154d8315842f4602878704951705e6cb"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_alpha_mask_set" ref="ga154d8315842f4602878704951705e6cb" args="(Evas_Object *obj, Eina_Bool ismask)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_alpha_mask_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>ismask</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Enable an image to be used as an alpha mask. </p>
+<p>This will set any flags, and discard any excess image data not used as an alpha mask.</p>
+<p>Note there is little point in using a image as alpha mask unless it has an alpha channel.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Object to use as an alpha mask. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ismask</em>&nbsp;</td><td>Use image as alphamask, must be true. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gadf2df4027a211db3f9a1fb21f248d7fb"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_alpha_set" ref="gadf2df4027a211db3f9a1fb21f248d7fb" args="(Evas_Object *obj, Eina_Bool has_alpha)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_alpha_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>has_alpha</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Enable or disable alpha channel of the given image object. </p>
+<p>This function sets a flag on an image object indicating whether or not to use alpha channel data. A value of 1 indicates to use alpha channel data, and 0 indicates to ignore any alpha channel data. Note that this has nothing to do with an object's color as manipulated by <a class="el" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set()</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>has_alpha</em>&nbsp;</td><td>Whether to use alpha channel data or not. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165">evas_object_image_data_update_add()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#ga58846bf7f00892e6985264ea2681d73a">evas_object_image_memfile_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga04f8a4f69c5ad37d9229e4c39bb7c010"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_center_fill_get" ref="ga04f8a4f69c5ad37d9229e4c39bb7c010" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Border_Fill_Mode evas_object_image_border_center_fill_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves if the center of the given image object is to be drawn or not. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">evas_object_image_fill_set</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Fill mode of the center. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4caf736585ad602e6748e434ac1f5fc6"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_center_fill_set" ref="ga4caf736585ad602e6748e434ac1f5fc6" args="(Evas_Object *obj, Evas_Border_Fill_Mode fill)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_border_center_fill_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Border_Fill_Mode&nbsp;</td>
+          <td class="paramname"> <em>fill</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets if the center part of the given image object (not the border) should be drawn. </p>
+<p>When rendering, the image may be scaled to fit the size of the image object. This function sets if the center part of the scaled image is to be drawn or left completely blank, or forced to be solid. Very useful for frames and decorations.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fill</em>&nbsp;</td><td>Fill mode of the middle. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gab666a37cbae8ee846cdeb518e7fd495c"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_get" ref="gab666a37cbae8ee846cdeb518e7fd495c" args="(const Evas_Object *obj, int *l, int *r, int *t, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_border_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves how much of each border of the given image object is not to be scaled. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d">evas_object_image_border_set</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>Location to store the left border width in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>Location to store the right border width in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>Location to store the top border width in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Location to store the bottom border width in, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7cc1bf948a8a5d61c703211f0bd5d2dc"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_scale_get" ref="ga7cc1bf948a8a5d61c703211f0bd5d2dc" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double evas_object_image_border_scale_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the border scale factor. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0" title="Sets a scale factor (multiplier) for the borders of an image.">evas_object_image_border_scale_set()</a></p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The scale factor </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaba00498563648d2d3934e7e75449abd0"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_scale_set" ref="gaba00498563648d2d3934e7e75449abd0" args="(Evas_Object *obj, double scale)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_border_scale_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>scale</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets a scale factor (multiplier) for the borders of an image. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>scale</em>&nbsp;</td><td>The scale factor (default is 1.0 - i.e. no scale) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6283aace5be077433bee45ec23ad072d"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_set" ref="ga6283aace5be077433bee45ec23ad072d" args="(Evas_Object *obj, int l, int r, int t, int b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_border_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets how much of each border of the given image object is not to be scaled. </p>
+<p>When rendering, the image may be scaled to fit the size of the image object. This function sets what area around the border of the image is not to be scaled. This sort of function is useful for widget theming, where, for example, buttons may be of varying sizes, but the border size must remain constant.</p>
+<p>The units used for <code>l</code>, <code>r</code>, <code>t</code> and <code>b</code> are output units.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>Distance of the left border that is not to be stretched. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>Distance of the right border that is not to be stretched. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>Distance of the top border that is not to be stretched. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Distance of the bottom border that is not to be stretched. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa59339b6adb32081383fa5540641eb42"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_colorspace_get" ref="gaa59339b6adb32081383fa5540641eb42" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a> evas_object_image_colorspace_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the colorspace of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The colorspace of the image.</dd></dl>
+<p>This function returns the colorspace of given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="gac352f7b110d7e527bf2d36fba5507d0c"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_colorspace_set" ref="gac352f7b110d7e527bf2d36fba5507d0c" args="(Evas_Object *obj, Evas_Colorspace cspace)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_colorspace_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a>&nbsp;</td>
+          <td class="paramname"> <em>cspace</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the colorspace of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cspace</em>&nbsp;</td><td>The new color space.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets the colorspace of given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga28881040682dbbf00937948124e9f3fb"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_content_hint_get" ref="ga28881040682dbbf00937948124e9f3fb" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Image_Content_Hint evas_object_image_content_hint_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the content hint of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the content hint value of the given image of the canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaf6cc0faf39773e12eb496116afd67c6f"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_content_hint_set" ref="gaf6cc0faf39773e12eb496116afd67c6f" args="(Evas_Object *obj, Evas_Image_Content_Hint hint)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_content_hint_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Image_Content_Hint&nbsp;</td>
+          <td class="paramname"> <em>hint</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the content hint of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hint</em>&nbsp;</td><td>The content hint value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets the content hint value of the given image of the canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3072cf7c31cf33057abd8ae8876218cd"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_data_convert" ref="ga3072cf7c31cf33057abd8ae8876218cd" args="(Evas_Object *obj, Evas_Colorspace to_cspace)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_image_data_convert </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a>&nbsp;</td>
+          <td class="paramname"> <em>to_cspace</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Converts the raw image data of the given image object to the specified colorspace. </p>
+<p>Note that this function does not modify the raw image data. If the requested colorspace is the same as the image colorspace nothing is done and NULL is returned. You should use <a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42" title="Get the colorspace of a given image of the canvas.">evas_object_image_colorspace_get()</a> to check the current image colorspace.</p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42">evas_object_image_colorspace_get</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>to_cspace</em>&nbsp;</td><td>The colorspace to which the image raw data will be converted. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>data A newly allocated data in the format specified by to_cspace. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga97d17b8d95f0ca01a264a6c303d00c27"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_data_copy_set" ref="ga97d17b8d95f0ca01a264a6c303d00c27" args="(Evas_Object *obj, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_data_copy_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Replaces the raw image data of the given image object. </p>
+<p>This function lets the application replace an image object's internal pixel buffer with a user-allocated one. For best results, you should generally first call <a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22" title="Sets the size of the given image object.">evas_object_image_size_set()</a> with the width and height for the new buffer.</p>
+<p>This call is best suited for when you will be using image data with different dimensions than the existing image data, if any. If you only need to modify the existing image in some fashion, then using <a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2" title="Get a pointer to the raw image data of the given image object.">evas_object_image_data_get()</a> is probably what you are after.</p>
+<p>Note that the caller is responsible for freeing the buffer when finished with it, as user-set image data will not be automatically freed when the image object is deleted.</p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2">evas_object_image_data_get</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The raw data. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gabe5883e22418071463f4ae97ca8885b2"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_data_get" ref="gabe5883e22418071463f4ae97ca8885b2" args="(const Evas_Object *obj, Eina_Bool for_writing)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_image_data_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>for_writing</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get a pointer to the raw image data of the given image object. </p>
+<p>This function returns a pointer to an image object's internal pixel buffer, for reading only or read/write. If you request it for writing, the image will be marked dirty so that it gets redrawn at the next update.</p>
+<p>This is best suited when you want to modify an existing image, without changing its dimensions.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>for_writing</em>&nbsp;</td><td>Whether the data being retrieved will be modified. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The raw image data. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabdd65e4c69f422ddcf0d3c8720859a92"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_data_set" ref="gabdd65e4c69f422ddcf0d3c8720859a92" args="(Evas_Object *obj, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_data_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the raw image data of the given image object. </p>
+<p>Note that the raw data must be of the same size and colorspace of the image. If data is NULL the current image data will be freed.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The raw data, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gab6b763271781a2ab35f5849f6564e165"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_data_update_add" ref="gab6b763271781a2ab35f5849f6564e165" args="(Evas_Object *obj, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_data_update_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mark a sub-region of the given image object to be redrawn. </p>
+<p>This function schedules a particular rectangular region of an image object to be updated (redrawn) at the next render.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X-offset of the region to be updated. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y-offset of the region to be updated. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Width of the region to be updated. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Height of the region to be updated. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">evas_object_image_alpha_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0c3b22438934db6f2b53a30ddd71ef1a"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_file_get" ref="ga0c3b22438934db6f2b53a30ddd71ef1a" args="(const Evas_Object *obj, const char **file, const char **key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_file_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the filename and key of the given image object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>Location to store the image filename, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Location to store the image key, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga70f63c055b2e248089e761f5c0f78a0f"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_file_set" ref="ga70f63c055b2e248089e761f5c0f78a0f" args="(Evas_Object *obj, const char *file, const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_file_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the filename and key of the given image object. </p>
+<p>If the file supports multiple data stored in it as eet, you can specify the key to be used as the index of the image in this file.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The image filename. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The image key in file, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac">EVAS_LOAD_ERROR_NONE</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#ga58846bf7f00892e6985264ea2681d73a">evas_object_image_memfile_set()</a>, and <a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">evas_object_image_source_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf1a7d6b8cf914234abdd5d3d3312f85e"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_fill_get" ref="gaf1a7d6b8cf914234abdd5d3d3312f85e" args="(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_fill_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the dimensions of the rectangle of the given image object that the image will be drawn to. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">evas_object_image_fill_set</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Location to store the X coordinate for the top left corner of the image in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Location to store the Y coordinate for the top left corner of the image in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Location to store the width of the image in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Location to store the height of the image in, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7182040bc16e68d3bbce3bd0f8ee8034"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_fill_set" ref="ga7182040bc16e68d3bbce3bd0f8ee8034" args="(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_fill_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the rectangle of the given image object that the image will be drawn to. </p>
+<p>Note that the image will be tiled around this one rectangle. To have only one copy of the image drawn, <code>x</code> and <code>y</code> must be 0 and <code>w</code> and <code>h</code> need to be the width and height of the image object respectively.</p>
+<p>The default values for the fill parameters is <code>x</code> = 0, <code>y</code> = 0, <code>w</code> = 32 and <code>h</code> = 32.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate for the top left corner of the image. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate for the top left corner of the image. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width of the image. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height of the image. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae86928005f983627c74dbaef6c0fbb0e"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_fill_spread_get" ref="gae86928005f983627c74dbaef6c0fbb0e" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a> evas_object_image_fill_spread_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the spread (tiling mode) for the given image object's fill. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The current spread mode of the image object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga0015a660507a5562e118a1777947f881"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_fill_spread_set" ref="ga0015a660507a5562e118a1777947f881" args="(Evas_Object *obj, Evas_Fill_Spread spread)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_fill_spread_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a>&nbsp;</td>
+          <td class="paramname"> <em>spread</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the tiling mode for the given evas image object's fill. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>spread</em>&nbsp;</td><td>One of EVAS_TEXTURE_REFLECT, EVAS_TEXTURE_REPEAT, EVAS_TEXTURE_RESTRICT, or EVAS_TEXTURE_PAD. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2e4275b1aee95e338ffa8b39e81f4eee"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_filled_add" ref="ga2e4275b1aee95e338ffa8b39e81f4eee" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_image_filled_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new image object that automatically scales on the given evas. </p>
+<p>This is a helper around <a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce" title="Creates a new image object on the given evas.">evas_object_image_add()</a> and <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4" title="Sets if image fill property should track object size.">evas_object_image_filled_set()</a>, it will track object resizes and apply <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a> with the new geometry.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce" title="Creates a new image object on the given evas.">evas_object_image_add()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4" title="Sets if image fill property should track object size.">evas_object_image_filled_set()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce">evas_object_image_add()</a>, and <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3fbe9f33ccc93a5c45ffa3b26019694e"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_filled_get" ref="ga3fbe9f33ccc93a5c45ffa3b26019694e" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_filled_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves if image fill property is tracking object size. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 if it is tracking, 0 if not and evas_object_fill_set() must be called manually. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae304964ee6769e559ca452c788f5aae4"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_filled_set" ref="gae304964ee6769e559ca452c788f5aae4" args="(Evas_Object *obj, Eina_Bool setting)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_filled_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>setting</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets if image fill property should track object size. </p>
+<p>If set to true, then every <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize()</a> will automatically trigger call to <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a> with the new size so image will fill the whole object area.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>setting</em>&nbsp;</td><td>whether to follow object size.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee" title="Creates a new image object that automatically scales on the given evas.">evas_object_image_filled_add()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a> </dd></dl>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21">EVAS_CALLBACK_RESIZE</a>, <a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55">evas_object_event_callback_add()</a>, <a class="el" href="group__Evas__Object__Group__Events.html#ga270a967a4f0069e646e9a07c51e15863">evas_object_event_callback_del()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, and <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">evas_object_image_fill_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">evas_object_image_filled_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga92a5503085a5c0731bb9c299e7b42f78"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_dpi_get" ref="ga92a5503085a5c0731bb9c299e7b42f78" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double evas_object_image_load_dpi_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the dpi resolution of a loaded image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The dpi resolution of the given canvas image.</dd></dl>
+<p>This function returns the dpi resolution of given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga88a20331cef0267ddc1d00419841580b"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_dpi_set" ref="ga88a20331cef0267ddc1d00419841580b" args="(Evas_Object *obj, double dpi)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_load_dpi_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>dpi</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the dpi resolution of a loaded image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dpi</em>&nbsp;</td><td>The new dpi resolution.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function set the dpi resolution of a given loaded canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga46e4a0b2b916d28694ad054549f88e24"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_error_get" ref="ga46e4a0b2b916d28694ad054549f88e24" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a> evas_object_image_load_error_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves a number representing any error that occurred during the last load of the given image object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A value giving the last error that occurred. It should be one of the <code>EVAS_LOAD_ERROR_*</code> values. <code>EVAS_LOAD_ERROR_NONE</code> is returned if there was no error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga259c48b3e2a4009e8a10f8e9874d3847"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_scale_down_get" ref="ga259c48b3e2a4009e8a10f8e9874d3847" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_object_image_load_scale_down_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the scale down value of given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the scale down value of a given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga59796713b88c217ce5869cb003e404c0"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_scale_down_set" ref="ga59796713b88c217ce5869cb003e404c0" args="(Evas_Object *obj, int scale_down)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_load_scale_down_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>scale_down</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the scale down of a loaded image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>scale_down</em>&nbsp;</td><td>The scale to down value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets the scale down of a given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae8047183e894e1e1245f1f3aaf78f218"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_size_get" ref="gae8047183e894e1e1245f1f3aaf78f218" args="(const Evas_Object *obj, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_load_size_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the size of a loaded image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width of the canvas image given. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height of the canvas image given.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function get the size of the given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1811fb73c1e138b5221cf4b25148111a"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_size_set" ref="ga1811fb73c1e138b5221cf4b25148111a" args="(Evas_Object *obj, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_load_size_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the size of a loaded image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The new width of the canvas image given. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The new height of the canvas image given.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a new size for the given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga58846bf7f00892e6985264ea2681d73a"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_memfile_set" ref="ga58846bf7f00892e6985264ea2681d73a" args="(Evas_Object *obj, void *data, int size, char *format, char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_memfile_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>format</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the data for an image from memory to be loaded. </p>
+<p>This is the same as <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f" title="Sets the filename and key of the given image object.">evas_object_image_file_set()</a> but the file to be loaded may exist at an address in memory (the data for the file, not the filename itself). The <code>data</code> at the address is copied and stored for future use, so no <code>data</code> needs to be kept after this call is made. It will be managed and freed for you when no longer needed. The <code>size</code> is limited to 2 gigabytes in size, and must be greater than 0. A NULL <code>data</code> pointer is also invalid. Set the filename to NULL to reset to empty state and have the image file data freed from memory using <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f" title="Sets the filename and key of the given image object.">evas_object_image_file_set()</a>.</p>
+<p>The <code>format</code> is optional (pass NULL if you don't need/use it). It is used to help Evas guess better which loader to use for the data. It may simply be the "extension" of the file as it would normally be on disk such as "jpg" or "png" or "gif" etc.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The image file data address </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the image file data in bytes </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>The format of the file (optional), or NULL if not needed </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The image key in file, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">evas_object_image_alpha_set()</a>, and <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">evas_object_image_file_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabd3effabde6da00dfcac7cf0cfa22280"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_native_surface_get" ref="gabd3effabde6da00dfcac7cf0cfa22280" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a>* evas_object_image_native_surface_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the native surface of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The native surface of the given canvas image.</dd></dl>
+<p>This function returns the native surface of a given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="gacbe4ec46460fd3321dd4f6161f09bbed"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_native_surface_set" ref="gacbe4ec46460fd3321dd4f6161f09bbed" args="(Evas_Object *obj, Evas_Native_Surface *surf)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_native_surface_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a> *&nbsp;</td>
+          <td class="paramname"> <em>surf</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the native surface of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>surf</em>&nbsp;</td><td>The new native surface.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a native surface of a given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1d9e82da12f7831552fca02b9b313551"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_pixels_dirty_get" ref="ga1d9e82da12f7831552fca02b9b313551" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_pixels_dirty_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves whether the given image object is dirty (needs to be redrawn). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the image is dirty. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad230eeeb0c6ba49eafd32b20afa314cb"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_pixels_dirty_set" ref="gad230eeeb0c6ba49eafd32b20afa314cb" args="(Evas_Object *obj, Eina_Bool dirty)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_pixels_dirty_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>dirty</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mark whether the given image object is dirty (needs to be redrawn). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dirty</em>&nbsp;</td><td>Whether the image is dirty. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1602f8906760b1c871b84b4a287a52db"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_pixels_get_callback_set" ref="ga1602f8906760b1c871b84b4a287a52db" args="(Evas_Object *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_pixels_get_callback_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Image_Pixels_Get_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the callback function to get pixels from a canva's image. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to <em>func</em>.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This functions sets a function to be the callback function that get pixes from a image of the canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad87ced373138180afff4756fded5a4f3"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_pixels_import" ref="gad87ced373138180afff4756fded5a4f3" args="(Evas_Object *obj, Evas_Pixel_Import_Source *pixels)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_pixels_import </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#abb01076af16fbb50a837b1893b776783">Evas_Pixel_Import_Source</a> *&nbsp;</td>
+          <td class="paramname"> <em>pixels</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Import pixels from given source to a given canvas image object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pixels</em>&nbsp;</td><td>The pixel's source to be imported.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function imports pixels from a given source to a given canvas image. </p>
+
+<p>References <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a">EVAS_PIXEL_FORMAT_ARGB32</a>, and <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8">EVAS_PIXEL_FORMAT_YUV420P_601</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad6383022c4013008d11827b32bf63d59"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_preload" ref="gad6383022c4013008d11827b32bf63d59" args="(Evas_Object *obj, Eina_Bool cancel)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_preload </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>cancel</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Preload image in the background. </p>
+<p>This function request the preload of the data image in the background. The worked is queued before being processed.</p>
+<p>If image data is already loaded, it will callback EVAS_CALLBACK_IMAGE_PRELOADED immediatelly and do nothing else.</p>
+<p>If cancel is set, it will remove the image from the workqueue.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cancel</em>&nbsp;</td><td>0 means add to the workqueue, 1 remove it. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga764bec190c0812f61f5a18f38c9c6a4e"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_reload" ref="ga764bec190c0812f61f5a18f38c9c6a4e" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_reload </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Reload a image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function reloads a image of the given canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga68eee07a73dc2f5dc529970f5a1634c4"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_save" ref="ga68eee07a73dc2f5dc529970f5a1634c4" args="(const Evas_Object *obj, const char *file, const char *key, const char *flags)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_save </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Save the given image object to a file. </p>
+<p>Note that you should pass the filename extension when saving. If the file supports multiple data stored in it as eet, you can specify the key to be used as the index of the image in this file.</p>
+<p>You can specify some flags when saving the image. Currently acceptable flags are quality and compress. Eg.: "quality=100
+ compress=9"</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The filename to be used to save the image. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The image key in file, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>String containing the flags to be used. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254">EVAS_COLORSPACE_ARGB8888</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8cce0086819196768915e5f2c2ed0cb2"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_scale_hint_get" ref="ga8cce0086819196768915e5f2c2ed0cb2" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Image_Scale_Hint evas_object_image_scale_hint_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the scale hint of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the scale hint value of the given image of the canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad13d32b74c2cd82c95b85fa9640ae529"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_scale_hint_set" ref="gad13d32b74c2cd82c95b85fa9640ae529" args="(Evas_Object *obj, Evas_Image_Scale_Hint hint)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_scale_hint_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Image_Scale_Hint&nbsp;</td>
+          <td class="paramname"> <em>hint</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the scale hint of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hint</em>&nbsp;</td><td>The scale hint value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets the scale hint value of the given image of the canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga43e6f1b16ebe859826e6901cb36995ad"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_size_get" ref="ga43e6f1b16ebe859826e6901cb36995ad" args="(const Evas_Object *obj, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_size_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size of the given image object. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22">evas_object_image_size_set</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Location to store the width of the image in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Location to store the height of the image in, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf85031267b5fab16874ebbf944dded22"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_size_set" ref="gaf85031267b5fab16874ebbf944dded22" args="(Evas_Object *obj, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_size_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size of the given image object. </p>
+<p>This function will scale down or crop the image so that it is treated as if it were at the given size. If the size given is smaller than the image, it will be cropped. If the size given is larger, then the image will be treated as if it were in the upper left hand corner of a larger image that is otherwise transparent.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The new width of the image. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The new height of the image. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gae4acc1da719cb38122b92527df24388c"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_smooth_scale_get" ref="gae4acc1da719cb38122b92527df24388c" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_smooth_scale_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves whether the given image object is using use a high-quality image scaling algorithm. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510">evas_object_image_smooth_scale_set</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Whether smooth scale is being used. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga670a0cf9176882f0ad339ccb4f37f510"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_smooth_scale_set" ref="ga670a0cf9176882f0ad339ccb4f37f510" args="(Evas_Object *obj, Eina_Bool smooth_scale)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_smooth_scale_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>smooth_scale</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets whether to use of high-quality image scaling algorithm of the given image object. </p>
+<p>When enabled, a higher quality image scaling algorithm is used when scaling images to sizes other than the source image. This gives better results but is more computationally expensive.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>smooth_scale</em>&nbsp;</td><td>Whether to use smooth scale or not. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga95a96ced932d6e7e17ee019654d9d901"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_source_get" ref="ga95a96ced932d6e7e17ee019654d9d901" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> * evas_object_image_source_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the current source object of an image. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Image object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Source object, or NULL on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8f3b7eb8efaa3d77b9908a080b3d4c55"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_source_set" ref="ga8f3b7eb8efaa3d77b9908a080b3d4c55" args="(Evas_Object *obj, Evas_Object *src)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_source_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the source object on a proxy object. </p>
+<p>The source must be another object. The proxy will have the same base appearance of the source object. Obviously other effects may be applied to the proxy, such as a map to create a reflection of the original object.</p>
+<p>Any existing source object will be removed. Setting the src to NULL clears the proxy object.</p>
+<p>You cannot set a proxy on a proxy.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Proxy object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Source of the proxy. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success, EINA_FALSE on error. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">evas_object_image_file_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">evas_object_image_source_unset()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad667fc9de032eb39bf07e33ef0f4d81b"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_source_unset" ref="gad667fc9de032eb39bf07e33ef0f4d81b" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_source_unset </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Clear the source on a proxy image. </p>
+<p>This is equivalent to calling evas_object_image_source_set with a NULL source.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Image object to clear source of. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success, EINA_FALSE on error. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">evas_object_image_source_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab72175381532640c620dd032e56c590b"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_stride_get" ref="gab72175381532640c620dd032e56c590b" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_object_image_stride_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the row stride of the given image object,. </p>
+<p>The row stride is the number of units between the start of a row and the start of the next row.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The stride of the image. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Polygon.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Polygon.html
new file mode 100644 (file)
index 0000000..c79b9d0
--- /dev/null
@@ -0,0 +1,214 @@
+<html>
+<head>
+    <title>Evas: Polygon Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Polygon Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that operate on evas polygon objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#gab6beb5b98de57a0f47707cac90f96bc9">evas_object_polygon_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a new evas polygon object to the given evas.  <a href="#gab6beb5b98de57a0f47707cac90f96bc9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76">evas_object_polygon_point_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds the given point to the given evas polygon object.  <a href="#ga92cb2d99c88404307e30eed74688da76"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2">evas_object_polygon_points_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all of the points from the given evas polygon object.  <a href="#ga6d559daf3a5eea36a275aaf3c76c8be2"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that operate on evas polygon objects. </p>
+<p>Hint: as evas does not provide ellipse, smooth paths or circle, one can calculate points and convert these to a polygon. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gab6beb5b98de57a0f47707cac90f96bc9"></a><!-- doxytag: member="evas_object_polygon.c::evas_object_polygon_add" ref="gab6beb5b98de57a0f47707cac90f96bc9" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_polygon_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a new evas polygon object to the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new evas polygon object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga92cb2d99c88404307e30eed74688da76"></a><!-- doxytag: member="evas_object_polygon.c::evas_object_polygon_point_add" ref="ga92cb2d99c88404307e30eed74688da76" args="(Evas_Object *obj, Evas_Coord x, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_polygon_point_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds the given point to the given evas polygon object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas polygon object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate of the given point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate of the given point. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6d559daf3a5eea36a275aaf3c76c8be2"></a><!-- doxytag: member="evas_object_polygon.c::evas_object_polygon_points_clear" ref="ga6d559daf3a5eea36a275aaf3c76c8be2" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_polygon_points_clear </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Removes all of the points from the given evas polygon object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given polygon object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Rectangle.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Rectangle.html
new file mode 100644 (file)
index 0000000..2530e21
--- /dev/null
@@ -0,0 +1,136 @@
+<html>
+<head>
+    <title>Evas: Rectangle Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Rectangle Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that operate on evas rectangle objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa">evas_object_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a rectangle to the given evas.  <a href="#gaa08a28171d59c43d106e1ea4f986fefa"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that operate on evas rectangle objects. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaa08a28171d59c43d106e1ea4f986fefa"></a><!-- doxytag: member="evas_object_rectangle.c::evas_object_rectangle_add" ref="gaa08a28171d59c43d106e1ea4f986fefa" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_rectangle_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a rectangle to the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new rectangle object. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Specific.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Specific.html
new file mode 100644 (file)
index 0000000..2965de9
--- /dev/null
@@ -0,0 +1,133 @@
+<html>
+<head>
+    <title>Evas: Specific Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<h1>Specific Object Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that work on specific objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Rectangle.html">Rectangle Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that operate on evas rectangle objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html">Image Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions used to create and manipulate image objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html">Text Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that operate on single line, single style text objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html">Textblock Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions used to create and manipulate textblock objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html">Line Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions used to deal with evas line objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html">Polygon Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that operate on evas polygon objects. </p>
+<br/></td></tr>
+</p>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that work on specific objects. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Table.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Table.html
new file mode 100644 (file)
index 0000000..265a38f
--- /dev/null
@@ -0,0 +1,623 @@
+<html>
+<head>
+    <title>Evas: Table Smart Object.</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Table Smart Object.<br/>
+<small>
+[<a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">_Evas_Object_Table_Homogeneous_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How to pack items into cells in a table.  <a href="#ga04f33e792aea51d583c3e572a35ceebe"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">_Evas_Object_Table_Homogeneous_Mode</a> </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How to pack items into cells in a table. </p>
+<br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">evas_object_table_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *evas)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new table.  <a href="#gaa8950ef1784409f64fc02345b839768d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">evas_object_table_add_to</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *parent)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a table that is child of a given element <em>parent</em>.  <a href="#gab5789072764ac24f48368182bd35d297"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">evas_object_table_homogeneous_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a> homogeneous)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set how this table should layout children.  <a href="#ga85462a0cbafd4ee4ceface6f3f69b413"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga1b96719d71cb4ca89a31eb59635df387">evas_object_table_homogeneous_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current layout homogeneous mode.  <a href="#ga1b96719d71cb4ca89a31eb59635df387"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7299bcee8de1f9304fa31fff43347a45"></a><!-- doxytag: member="Evas_Object_Table::evas_object_table_align_set" ref="ga7299bcee8de1f9304fa31fff43347a45" args="(Evas_Object *o, double horizontal, double vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga7299bcee8de1f9304fa31fff43347a45">evas_object_table_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double horizontal, double vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7a1ff64522920c2723675ca11d723d47"></a><!-- doxytag: member="Evas_Object_Table::evas_object_table_align_get" ref="ga7a1ff64522920c2723675ca11d723d47" args="(const Evas_Object *o, double *horizontal, double *vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga7a1ff64522920c2723675ca11d723d47">evas_object_table_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double *horizontal, double *vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6ea229f05036a9c5d30010ad40a30c66"></a><!-- doxytag: member="Evas_Object_Table::evas_object_table_padding_set" ref="ga6ea229f05036a9c5d30010ad40a30c66" args="(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga6ea229f05036a9c5d30010ad40a30c66">evas_object_table_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord horizontal, Evas_Coord vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabe1af40fbd5e03068bc577e71939934a"></a><!-- doxytag: member="Evas_Object_Table::evas_object_table_padding_get" ref="gabe1af40fbd5e03068bc577e71939934a" args="(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gabe1af40fbd5e03068bc577e71939934a">evas_object_table_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord *horizontal, Evas_Coord *vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga6c1129dcd7509ebde06cf753cf6a681d">evas_object_table_pack</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new child to a table object.  <a href="#ga6c1129dcd7509ebde06cf753cf6a681d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gac8b800b8a8f38589eae4b979ffc2d598">evas_object_table_unpack</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove child from table.  <a href="#gac8b800b8a8f38589eae4b979ffc2d598"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">evas_object_table_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Eina_Bool clear)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Faster way to remove all child objects from a table object.  <a href="#gaec5a10416b76102f7e22c7b799bfac04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga007c88dba9eb3b326aa67a10c143f3a9">evas_object_table_col_row_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, int *cols, int *rows)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of columns and rows this table takes.  <a href="#ga007c88dba9eb3b326aa67a10c143f3a9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Iterator *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga07d18d5708745143c4b12280a7359e71">evas_object_table_iterator_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an iterator to walk the list of children for the table.  <a href="#ga07d18d5708745143c4b12280a7359e71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Accessor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaaa6c5242faad0906b1fbf4bbc1088543">evas_object_table_accessor_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an accessor to get random access to the list of children for the table.  <a href="#gaaa6c5242faad0906b1fbf4bbc1088543"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga1afb562131cd3a74a130c374fcea0632">evas_object_table_children_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of children for the table.  <a href="#ga1afb562131cd3a74a130c374fcea0632"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaeb4a9d107dde8a4c7bc60d6f97b5ec46">evas_object_table_child_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, unsigned short col, unsigned short row)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a child from the table using its coordinates.  <a href="#gaeb4a9d107dde8a4c7bc60d6f97b5ec46"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gac008b924a1ba3b0133d0ac11b3e6af06">evas_object_table_mirrored_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the mirrored mode of the table.  <a href="#gac008b924a1ba3b0133d0ac11b3e6af06"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga8f775fb97bf5da5e8a0005a89027044b">evas_object_table_mirrored_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool mirrored)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the mirrored mode of the table.  <a href="#ga8f775fb97bf5da5e8a0005a89027044b"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Size__Hints.html">Size Hints</a> </dd></dl>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga04f33e792aea51d583c3e572a35ceebe"></a><!-- doxytag: member="Evas.h::Evas_Object_Table_Homogeneous_Mode" ref="ga04f33e792aea51d583c3e572a35ceebe" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">_Evas_Object_Table_Homogeneous_Mode</a>  <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>How to pack items into cells in a table. </p>
+<p>Table cell pack mode. </p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaaa6c5242faad0906b1fbf4bbc1088543"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_accessor_new" ref="gaaa6c5242faad0906b1fbf4bbc1088543" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Accessor* evas_object_table_accessor_new </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get an accessor to get random access to the list of children for the table. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Do not remove or delete objects while walking the list. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa8950ef1784409f64fc02345b839768d"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_add" ref="gaa8950ef1784409f64fc02345b839768d" args="(Evas *evas)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_table_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>evas</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create a new table. </p>
+<p>It's set to non-homogeneous by default, add children with <a class="el" href="group__Evas__Object__Table.html#ga6c1129dcd7509ebde06cf753cf6a681d" title="Add a new child to a table object.">evas_object_table_pack()</a>. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#gaa61f845ee24ddb252a6fcb76d5f3c148">evas_object_smart_add()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">evas_object_table_add_to()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab5789072764ac24f48368182bd35d297"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_add_to" ref="gab5789072764ac24f48368182bd35d297" args="(Evas_Object *parent)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_table_add_to </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>parent</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create a table that is child of a given element <em>parent</em>. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d" title="Create a new table.">evas_object_table_add()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">evas_object_evas_get()</a>, <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>, and <a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">evas_object_table_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaeb4a9d107dde8a4c7bc60d6f97b5ec46"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_child_get" ref="gaeb4a9d107dde8a4c7bc60d6f97b5ec46" args="(const Evas_Object *o, unsigned short col, unsigned short row)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_table_child_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>row</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get a child from the table using its coordinates. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>This does not take into account col/row spanning </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1afb562131cd3a74a130c374fcea0632"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_children_get" ref="ga1afb562131cd3a74a130c374fcea0632" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_object_table_children_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the list of children for the table. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>This is a duplicate of the list kept by the table internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the table when walking this list, but these removals won't be reflected on it. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaec5a10416b76102f7e22c7b799bfac04"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_clear" ref="gaec5a10416b76102f7e22c7b799bfac04" args="(Evas_Object *o, Eina_Bool clear)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_table_clear </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>clear</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Faster way to remove all child objects from a table object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>o</em>&nbsp;</td><td>The given table object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>clear</em>&nbsp;</td><td>if true, it will delete just removed children. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>, <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga007c88dba9eb3b326aa67a10c143f3a9"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_col_row_size_get" ref="ga007c88dba9eb3b326aa67a10c143f3a9" args="(const Evas_Object *o, int *cols, int *rows)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_table_col_row_size_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>rows</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the number of columns and rows this table takes. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>columns and rows are virtual entities, one can specify a table with a single object that takes 4 columns and 5 rows. The only difference for a single cell table is that paddings will be accounted proportionally. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1b96719d71cb4ca89a31eb59635df387"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_homogeneous_get" ref="ga1b96719d71cb4ca89a31eb59635df387" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a> evas_object_table_homogeneous_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the current layout homogeneous mode. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413" title="Set how this table should layout children.">evas_object_table_homogeneous_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga85462a0cbafd4ee4ceface6f3f69b413"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_homogeneous_set" ref="ga85462a0cbafd4ee4ceface6f3f69b413" args="(Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_table_homogeneous_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a>&nbsp;</td>
+          <td class="paramname"> <em>homogeneous</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set how this table should layout children. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>consider aspect hint and respect it.</dd></dl>
+<dl class="user"><dt><b>EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE</b></dt><dd>If table does not use homogeneous mode then columns and rows will be calculated based on hints of individual cells. This operation mode is more flexible, but more complex and heavy to calculate as well. <b>Weight</b> properties are handled as a boolean expand. Negative alignment will be considered as 0.5.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd><code>EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE</code> should balance weight.</dd></dl>
+<dl class="user"><dt><b>EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE</b></dt><dd>When homogeneous is relative to table the own table size is divided equally among children, filling the whole table area. That is, if table has <code>WIDTH</code> and <code>COLUMNS</code>, each cell will get <code>WIDTH / COLUMNS</code> pixels. If children have minimum size that is larger than this amount (including padding), then it will overflow and be aligned respecting the alignment hint, possible overlapping sibling cells. <b>Weight</b> hint is used as a boolean, if greater than zero it will make the child expand in that axis, taking as much space as possible (bounded to maximum size hint). Negative alignment will be considered as 0.5.</dd></dl>
+<dl class="user"><dt><b>EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM</b></dt><dd>When homogeneous is relative to item it means the greatest minimum cell size will be used. That is, if no element is set to expand, the table will have its contents to a minimum size, the bounding box of all these children will be aligned relatively to the table object using <a class="el" href="group__Evas__Object__Table.html#ga7a1ff64522920c2723675ca11d723d47" title="Get alignment of the whole bounding box of contents.">evas_object_table_align_get()</a>. If the table area is too small to hold this minimum bounding box, then the objects will keep their size and the bounding box will overflow the box area, still respecting the alignment. <b>Weight</b> hint is used as a boolean, if greater than zero it will make that cell expand in that axis, toggling the <b>expand mode</b>, which makes the table behave much like <b>EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE</b>, except that the bounding box will overflow and items will not overlap siblings. If no minimum size is provided at all then the table will fallback to expand mode as well. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga07d18d5708745143c4b12280a7359e71"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_iterator_new" ref="ga07d18d5708745143c4b12280a7359e71" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Iterator* evas_object_table_iterator_new </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get an iterator to walk the list of children for the table. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Do not remove or delete objects while walking the list. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac008b924a1ba3b0133d0ac11b3e6af06"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_mirrored_get" ref="gac008b924a1ba3b0133d0ac11b3e6af06" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_table_mirrored_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the mirrored mode of the table. </p>
+<p>In mirrored mode the table items go from right to left instead of left to right. That is, 1,1 is top right, not to left.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The table object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if it's a mirrored table, EINA_FALSE otherwise. </dd></dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8f775fb97bf5da5e8a0005a89027044b"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_mirrored_set" ref="ga8f775fb97bf5da5e8a0005a89027044b" args="(Evas_Object *obj, Eina_Bool mirrored)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_table_mirrored_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>mirrored</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the mirrored mode of the table. </p>
+<p>In mirrored mode the table items go from right to left instead of left to right. That is, 1,1 is top right, not to left.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The table object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>mirrored</em>&nbsp;</td><td>the mirrored mode to set </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6c1129dcd7509ebde06cf753cf6a681d"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_pack" ref="ga6c1129dcd7509ebde06cf753cf6a681d" args="(Evas_Object *o, Evas_Object *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_table_pack </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>row</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>colspan</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>rowspan</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add a new child to a table object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>o</em>&nbsp;</td><td>The given table object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>child</em>&nbsp;</td><td>The child object to add. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>col</em>&nbsp;</td><td>relative-horizontal position to place child. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>row</em>&nbsp;</td><td>relative-vertical position to place child. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>colspan</em>&nbsp;</td><td>how many relative-horizontal position to use for this child. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>rowspan</em>&nbsp;</td><td>how many relative-vertical position to use for this child.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac8b800b8a8f38589eae4b979ffc2d598"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_unpack" ref="gac8b800b8a8f38589eae4b979ffc2d598" args="(Evas_Object *o, Evas_Object *child)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_table_unpack </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove child from table. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>removing a child will immediately call a walk over children in order to recalculate numbers of columns and rows. If you plan to remove all children, use <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04" title="Faster way to remove all child objects from a table object.">evas_object_table_clear()</a> instead.</dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511">evas_object_smart_parent_get()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Text.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Text.html
new file mode 100644 (file)
index 0000000..a5a4b56
--- /dev/null
@@ -0,0 +1,1227 @@
+<html>
+<head>
+    <title>Evas: Text Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Text Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that operate on single line, single style text objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539">evas_object_text_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new text <code>Evas_Object</code> on the provided <code>Evas</code> canvas.  <a href="#ga2da9ad20aec514dfeecb97c715e7f539"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b">evas_object_text_font_source_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *font_source)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga6f503ac55e126bebbadf96a152f5d02b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaa48bece59070032504a2c78ad8a66577">evas_object_text_font_source_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaa48bece59070032504a2c78ad8a66577"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">evas_object_text_font_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *font, Evas_Font_Size size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga6c7fc38657a876997ad91ebd177669a6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaa3ed4186d4a9a78c9ca95ea430dab242">evas_object_text_font_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char **font, Evas_Font_Size *size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query evas for font information of a text <code>Evas_Object</code>.  <a href="#gaa3ed4186d4a9a78c9ca95ea430dab242"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532">evas_object_text_text_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *_text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the text to be displayed by the given evas text object.  <a href="#ga11d37807b5506e6cca746ebb91236532"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaef3b0b12eb63b9cd7574c1cf05afb7a8">evas_object_text_text_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the text currently being displayed by the given evas text object.  <a href="#gaef3b0b12eb63b9cd7574c1cf05afb7a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_BiDi_Direction&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga2fdb3ff0318cd4b45d642ae317b19589">evas_object_text_direction_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the direction of the text currently being displayed in the text object.  <a href="#ga2fdb3ff0318cd4b45d642ae317b19589"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga4aaf7a903228927fa0adac885304e43e">evas_object_text_ascent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga4aaf7a903228927fa0adac885304e43e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga71f9d96c6dfc8ec33cf0a97e614228a0">evas_object_text_descent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga71f9d96c6dfc8ec33cf0a97e614228a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga1a0bdf57c3ca6e7fb7833ddfbe23b735">evas_object_text_max_ascent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga1a0bdf57c3ca6e7fb7833ddfbe23b735"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga28ee3eb5e199c23a14ac47e07ac49205">evas_object_text_max_descent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga28ee3eb5e199c23a14ac47e07ac49205"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d">evas_object_text_inset_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga6c5f45ff6e1be091d0382db0ccfb919d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga972494bd4b9d807ea5f98404a82d8eab">evas_object_text_horiz_advance_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga972494bd4b9d807ea5f98404a82d8eab"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaec17348b4fa02b15162ef96abdbfbf41">evas_object_text_vert_advance_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaec17348b4fa02b15162ef96abdbfbf41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga823b09a9d05a1650e63970e329cd7b72">evas_object_text_char_pos_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve position and dimension information of a character within a text <code>Evas_Object</code>.  <a href="#ga823b09a9d05a1650e63970e329cd7b72"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga464d40578e2fdc2ad8890556e0b97268">evas_object_text_last_up_to_pos</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the logical position of the last char in the text up to the pos given.  <a href="#ga464d40578e2fdc2ad8890556e0b97268"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gab37f85358bd7d333cd6e8c7cf62b5daa">evas_object_text_char_coords_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gab37f85358bd7d333cd6e8c7cf62b5daa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gae7896521b9861d4bd3efc04ef1e8e91e">evas_object_text_style_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Text_Style_Type style)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gae7896521b9861d4bd3efc04ef1e8e91e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Text_Style_Type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaf08d4a9630d23ebdbf79cc8c2c91b2c6">evas_object_text_style_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaf08d4a9630d23ebdbf79cc8c2c91b2c6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga58f0bb7acf2c1d24e9ae5e4a391d19bc">evas_object_text_shadow_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga58f0bb7acf2c1d24e9ae5e4a391d19bc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga7cf7432965327a571d413dbaeca66822">evas_object_text_shadow_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga7cf7432965327a571d413dbaeca66822"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga74c4ea0f0befd6213f48163ee70041e6">evas_object_text_glow_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga74c4ea0f0befd6213f48163ee70041e6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga76bcc6322241875990b572f37d754266">evas_object_text_glow_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga76bcc6322241875990b572f37d754266"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga7dabe4ce0120cdf0c4e60a8f7a7e3659">evas_object_text_glow2_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga7dabe4ce0120cdf0c4e60a8f7a7e3659"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga264a8425d8dab176a1b15e17a528d56d">evas_object_text_glow2_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga264a8425d8dab176a1b15e17a528d56d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga1c1cf05c6b31f06a4c79486d19ddaece">evas_object_text_outline_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga1c1cf05c6b31f06a4c79486d19ddaece"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga16485a0062a397faed21fad732ad16ba">evas_object_text_outline_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga16485a0062a397faed21fad732ad16ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gafd638ae91c10d4139e41e6245c0712e1">evas_object_text_style_pad_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *l, int *r, int *t, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the text style pad of a text object.  <a href="#gafd638ae91c10d4139e41e6245c0712e1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that operate on single line, single style text objects. </p>
+<p>For multiline and multiple style text, see <a class="el" href="group__Evas__Object__Textblock.html">Textblock Object Functions</a>. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga2da9ad20aec514dfeecb97c715e7f539"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_add" ref="ga2da9ad20aec514dfeecb97c715e7f539" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_text_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new text <code>Evas_Object</code> on the provided <code>Evas</code> canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The <code>Evas</code> canvas to create the text object upon.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b" title="To be documented.">evas_object_text_font_source_set</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6" title="To be documented.">evas_object_text_font_set</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532" title="Sets the text to be displayed by the given evas text object.">evas_object_text_text_set</a></dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on error, A pointer to a new <code>Evas_Object</code> on success. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4aaf7a903228927fa0adac885304e43e"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_ascent_get" ref="ga4aaf7a903228927fa0adac885304e43e" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_ascent_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gab37f85358bd7d333cd6e8c7cf62b5daa"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_char_coords_get" ref="gab37f85358bd7d333cd6e8c7cf62b5daa" args="(const Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_object_text_char_coords_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga823b09a9d05a1650e63970e329cd7b72"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_char_pos_get" ref="ga823b09a9d05a1650e63970e329cd7b72" args="(const Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_text_char_pos_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieve position and dimension information of a character within a text <code>Evas_Object</code>. </p>
+<p>This function is used to obtain the X, Y, width and height of a the character located at <code>pos</code> within the <code>Evas_Object</code> <code>obj</code>. <code>obj</code> must be a text object as created with <a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539" title="Creates a new text Evas_Object on the provided Evas canvas.">evas_object_text_add()</a>. Any of the <code>Evas_Coord</code> parameters (<code>cx</code>, <code>cy</code>, <code>cw</code>, <code>ch</code>) may be NULL in which case no value will be assigned to that parameter.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The text object to retrieve position information for. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>The character position to request co-ordinates for. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>A pointer to an <code>Evas_Coord</code> to store the X value in (can be NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>A pointer to an <code>Evas_Coord</code> to store the Y value in (can be NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>A pointer to an <code>Evas_Coord</code> to store the Width value in (can be NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>A pointer to an <code>Evas_Coord</code> to store the Height value in (can be NULL).</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_FALSE on error, EINA_TRUE on success. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga71f9d96c6dfc8ec33cf0a97e614228a0"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_descent_get" ref="ga71f9d96c6dfc8ec33cf0a97e614228a0" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_descent_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2fdb3ff0318cd4b45d642ae317b19589"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_direction_get" ref="ga2fdb3ff0318cd4b45d642ae317b19589" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_BiDi_Direction evas_object_text_direction_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the direction of the text currently being displayed in the text object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas text object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the direction of the text </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa3ed4186d4a9a78c9ca95ea430dab242"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_font_get" ref="gaa3ed4186d4a9a78c9ca95ea430dab242" args="(const Evas_Object *obj, const char **font, Evas_Font_Size *size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_font_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>font</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Font_Size *&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Query evas for font information of a text <code>Evas_Object</code>. </p>
+<p>This function allows the font name and size of a text <code>Evas_Object</code> as created with <a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539" title="Creates a new text Evas_Object on the provided Evas canvas.">evas_object_text_add()</a> to be queried. Be aware that the font name string is still owned by Evas and should NOT have free() called on it by the caller of the function.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The evas text object to query for font information. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>font</em>&nbsp;</td><td>A pointer to the location to store the font name in (may be NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>A pointer to the location to store the font size in (may be NULL). </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6c7fc38657a876997ad91ebd177669a6"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_font_set" ref="ga6c7fc38657a876997ad91ebd177669a6" args="(Evas_Object *obj, const char *font, Evas_Font_Size size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_font_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>font</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Font_Size&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gac8ab2a94f6b027a2b24fffdd23b113fb">ENFN</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa48bece59070032504a2c78ad8a66577"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_font_source_get" ref="gaa48bece59070032504a2c78ad8a66577" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_text_font_source_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga6f503ac55e126bebbadf96a152f5d02b"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_font_source_set" ref="ga6f503ac55e126bebbadf96a152f5d02b" args="(Evas_Object *obj, const char *font_source)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_font_source_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>font_source</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga264a8425d8dab176a1b15e17a528d56d"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_glow2_color_get" ref="ga264a8425d8dab176a1b15e17a528d56d" args="(const Evas_Object *obj, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_glow2_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7dabe4ce0120cdf0c4e60a8f7a7e3659"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_glow2_color_set" ref="ga7dabe4ce0120cdf0c4e60a8f7a7e3659" args="(Evas_Object *obj, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_glow2_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga76bcc6322241875990b572f37d754266"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_glow_color_get" ref="ga76bcc6322241875990b572f37d754266" args="(const Evas_Object *obj, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_glow_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga74c4ea0f0befd6213f48163ee70041e6"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_glow_color_set" ref="ga74c4ea0f0befd6213f48163ee70041e6" args="(Evas_Object *obj, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_glow_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga972494bd4b9d807ea5f98404a82d8eab"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_horiz_advance_get" ref="ga972494bd4b9d807ea5f98404a82d8eab" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_horiz_advance_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga6c5f45ff6e1be091d0382db0ccfb919d"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_inset_get" ref="ga6c5f45ff6e1be091d0382db0ccfb919d" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_inset_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gac8ab2a94f6b027a2b24fffdd23b113fb">ENFN</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga464d40578e2fdc2ad8890556e0b97268"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_last_up_to_pos" ref="ga464d40578e2fdc2ad8890556e0b97268" args="(const Evas_Object *obj, Evas_Coord x, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_object_text_last_up_to_pos </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the logical position of the last char in the text up to the pos given. </p>
+<p>this is NOT the position of the last char because of the possibility of RTL in the text. To be documented.</p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1a0bdf57c3ca6e7fb7833ddfbe23b735"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_max_ascent_get" ref="ga1a0bdf57c3ca6e7fb7833ddfbe23b735" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_max_ascent_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga28ee3eb5e199c23a14ac47e07ac49205"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_max_descent_get" ref="ga28ee3eb5e199c23a14ac47e07ac49205" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_max_descent_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga16485a0062a397faed21fad732ad16ba"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_outline_color_get" ref="ga16485a0062a397faed21fad732ad16ba" args="(const Evas_Object *obj, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_outline_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1c1cf05c6b31f06a4c79486d19ddaece"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_outline_color_set" ref="ga1c1cf05c6b31f06a4c79486d19ddaece" args="(Evas_Object *obj, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_outline_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7cf7432965327a571d413dbaeca66822"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_shadow_color_get" ref="ga7cf7432965327a571d413dbaeca66822" args="(const Evas_Object *obj, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_shadow_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga58f0bb7acf2c1d24e9ae5e4a391d19bc"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_shadow_color_set" ref="ga58f0bb7acf2c1d24e9ae5e4a391d19bc" args="(Evas_Object *obj, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_shadow_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaf08d4a9630d23ebdbf79cc8c2c91b2c6"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_style_get" ref="gaf08d4a9630d23ebdbf79cc8c2c91b2c6" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Text_Style_Type evas_object_text_style_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gafd638ae91c10d4139e41e6245c0712e1"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_style_pad_get" ref="gafd638ae91c10d4139e41e6245c0712e1" args="(const Evas_Object *obj, int *l, int *r, int *t, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_style_pad_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the text style pad of a text object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given text object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>The left pad (or NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The right pad (or NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The top pad (or NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The bottom pad (or NULL). </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gae7896521b9861d4bd3efc04ef1e8e91e"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_style_set" ref="gae7896521b9861d4bd3efc04ef1e8e91e" args="(Evas_Object *obj, Evas_Text_Style_Type style)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_style_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Text_Style_Type&nbsp;</td>
+          <td class="paramname"> <em>style</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaef3b0b12eb63b9cd7574c1cf05afb7a8"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_text_get" ref="gaef3b0b12eb63b9cd7574c1cf05afb7a8" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_text_text_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the text currently being displayed by the given evas text object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas text object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The text currently being displayed. Do not free it. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga11d37807b5506e6cca746ebb91236532"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_text_set" ref="ga11d37807b5506e6cca746ebb91236532" args="(Evas_Object *obj, const char *_text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_text_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>_text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the text to be displayed by the given evas text object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Evas text object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>Text to display. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaec17348b4fa02b15162ef96abdbfbf41"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_vert_advance_get" ref="gaec17348b4fa02b15162ef96abdbfbf41" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_vert_advance_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Textblock.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Object__Textblock.html
new file mode 100644 (file)
index 0000000..6094f6b
--- /dev/null
@@ -0,0 +1,2961 @@
+<html>
+<head>
+    <title>Evas: Textblock Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Defines</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Textblock Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions used to create and manipulate textblock objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac8ab2a94f6b027a2b24fffdd23b113fb">ENFN</a>&nbsp;&nbsp;&nbsp;obj-&gt;layer-&gt;evas-&gt;engine.func</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac43a253bc767da912ee1818a8dfa5713">evas_object_textblock_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a textblock to the given evas.  <a href="#gac43a253bc767da912ee1818a8dfa5713"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Textblock_Style *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga00cc8baec308c583ac801811dd381d4c">evas_textblock_style_new</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new textblock style.  <a href="#ga00cc8baec308c583ac801811dd381d4c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f">evas_textblock_style_free</a> (Evas_Textblock_Style *ts)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys a textblock style.  <a href="#gaf527de9ea652e4435a0eaa6cda09585f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14">evas_textblock_style_set</a> (Evas_Textblock_Style *ts, const char *text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the style ts to the style passed as text by text.  <a href="#gac239e4649b0893284ea962a2183c3f14"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae106e0cfb957f1916eb3833c1214394c">evas_textblock_style_get</a> (const Evas_Textblock_Style *ts)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the text of the style ts.  <a href="#gae106e0cfb957f1916eb3833c1214394c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0">evas_object_textblock_style_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Textblock_Style *ts)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the objects style to ts.  <a href="#gaf581b9400cb7176a137451ab6193e3c0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Evas_Textblock_Style *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga9f3164f28981c6d6188a8de202848197">evas_object_textblock_style_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the style of an object.  <a href="#ga9f3164f28981c6d6188a8de202848197"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gab5d3958f4d73b2d9e3cccd828816b672">evas_object_textblock_replace_char_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the "replacement character" to use for the given textblock object.  <a href="#gab5d3958f4d73b2d9e3cccd828816b672"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae637041b07efe438e3539bb549a915e3">evas_object_textblock_newline_mode_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool mode)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets newline mode.  <a href="#gae637041b07efe438e3539bb549a915e3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga0832ab9fd2820efee68bec6d1d80e427">evas_object_textblock_newline_mode_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets newline mode.  <a href="#ga0832ab9fd2820efee68bec6d1d80e427"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga5f08b5b6222ed341574ec8167a86c9a0">evas_object_textblock_valign_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double align)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the vertical alignment of text within the textblock object as a whole.  <a href="#ga5f08b5b6222ed341574ec8167a86c9a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga431ec30179fc3d7bcd98f508453e41bb">evas_object_textblock_valign_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the vertical alignment of a textblock.  <a href="#ga431ec30179fc3d7bcd98f508453e41bb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga61f6c6ea8c0ce2028424396eb2ff4a81">evas_object_textblock_replace_char_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the "replacement character" for given textblock object.  <a href="#ga61f6c6ea8c0ce2028424396eb2ff4a81"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac165d57003e552fa6739158dc2ed73f5">evas_textblock_escape_string_get</a> (const char *escape)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the unescaped version of escape.  <a href="#gac165d57003e552fa6739158dc2ed73f5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga57940db29ffb910af130dd2100e48ff2">evas_textblock_escape_string_range_get</a> (const char *escape_start, const char *escape_end)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the unescaped version of the string between start and end.  <a href="#ga57940db29ffb910af130dd2100e48ff2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga70b3680a8691c70bab39bd1c127424a5">evas_textblock_string_escape_get</a> (const char *string, int *len_ret)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the escaped version of the string.  <a href="#ga70b3680a8691c70bab39bd1c127424a5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">evas_object_textblock_text_markup_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the tetxblock's text to the markup text.  <a href="#gadaed9758086de4545aa6fb561445816f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga4f7a3b1ee59e3c07f35726773c576a8d">evas_object_textblock_text_markup_prepend</a> (Evas_Textblock_Cursor *cur, const char *text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepends markup to the cursor cur.  <a href="#ga4f7a3b1ee59e3c07f35726773c576a8d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga0896326ca8d9ca1dd194f322d0bc87b2">evas_object_textblock_text_markup_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the markup of the object.  <a href="#ga0896326ca8d9ca1dd194f322d0bc87b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Evas_Textblock_Cursor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2bbd5e4e1cc36e18790dc09fbd2a6c18">evas_object_textblock_cursor_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the object's main cursor.  <a href="#ga2bbd5e4e1cc36e18790dc09fbd2a6c18"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Textblock_Cursor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45">evas_object_textblock_cursor_new</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new cursor, associate it to the obj and init it to point to the start of the textblock.  <a href="#ga6f6242cc087a6cc65196b09e813e2c45"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137">evas_textblock_cursor_free</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the cursor and unassociate it from the object.  <a href="#gaec3e250258e2f587381bcd1539469137"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">evas_textblock_cursor_is_format</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the cursor points to a format.  <a href="#gaf389372f80b4cd3f2fc1fd8b99637367"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga56e9057e5845fe785710ba6c5d07ab3e">evas_textblock_node_format_first_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the first format node.  <a href="#ga56e9057e5845fe785710ba6c5d07ab3e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga091521044b95190c75c57ca1661bcc83">evas_textblock_node_format_last_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the last format node.  <a href="#ga091521044b95190c75c57ca1661bcc83"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga341e85b5bb0c9b2c82db4eb5a2432a9d">evas_textblock_node_format_next_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the next format node (after n).  <a href="#ga341e85b5bb0c9b2c82db4eb5a2432a9d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8566bfff8ca71cc89cf704c9a082780c">evas_textblock_node_format_prev_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the prev format node (after n).  <a href="#ga8566bfff8ca71cc89cf704c9a082780c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gab53e3b12b9332180ad6736100333eb71">evas_textblock_node_format_remove_pair</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a format node and it's match.  <a href="#gab53e3b12b9332180ad6736100333eb71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41">evas_textblock_cursor_paragraph_first</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the cursor to the start of the first text node.  <a href="#ga445a498191535460cf6de442cb2b3a41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0">evas_textblock_cursor_paragraph_last</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the cursor to the end of the last text node.  <a href="#ga2654bf905bdd0fe98402abe105c815d0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a">evas_textblock_cursor_paragraph_next</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the the start of the next text node.  <a href="#ga85773221b22e6d042cc6b581de08c87a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">evas_textblock_cursor_paragraph_prev</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the the end of the previous text node.  <a href="#gabe9fa26c799408129f013440e518f699"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga74682be12e8108f2956ab8b02f39d9ab">evas_textblock_cursor_set_at_format</a> (Evas_Textblock_Cursor *cur, const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the cursor to point to the place where format points to.  <a href="#ga74682be12e8108f2956ab8b02f39d9ab"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaedae64aa95805f0c3480cf6001297ae9">evas_textblock_cursor_format_next</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the next format node.  <a href="#gaedae64aa95805f0c3480cf6001297ae9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec">evas_textblock_cursor_format_prev</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the previous format node.  <a href="#ga560593895b7ba6e3d309463c921ad9ec"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">evas_textblock_cursor_char_next</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances 1 char forward.  <a href="#ga8f3fba0d1d853db5694b3803db73d9cd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">evas_textblock_cursor_char_prev</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances 1 char backward.  <a href="#gace122729e6764dc54bfee83b9865efc9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d">evas_textblock_cursor_paragraph_char_first</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the first char in the node the cursor is pointing on.  <a href="#ga14a0a29c79eeb378c73f1383bb09424d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">evas_textblock_cursor_paragraph_char_last</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the last char in a text node.  <a href="#gaf504e62cf0b498631ec8154c14b2efb4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6da9c7bff6073756a619f9b8a00d0e0b">evas_textblock_cursor_line_char_first</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the start of the current line.  <a href="#ga6da9c7bff6073756a619f9b8a00d0e0b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">evas_textblock_cursor_line_char_last</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the end of the current line.  <a href="#gaf96505739a5a805922f86b0e9c577afe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga7f74459b59870c258bd312ff114778bc">evas_textblock_cursor_pos_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current cursor pos.  <a href="#ga7f74459b59870c258bd312ff114778bc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gacde95e638bba6858b73f316afe2cfef0">evas_textblock_cursor_pos_set</a> (Evas_Textblock_Cursor *cur, int _pos)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor pos.  <a href="#gacde95e638bba6858b73f316afe2cfef0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf">evas_textblock_cursor_line_set</a> (Evas_Textblock_Cursor *cur, int line)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the start of the line passed.  <a href="#gaa1992968fd64630687b18a5f9d632edf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga194b0bc812a6c031bc80a195bff0a40e">evas_textblock_cursor_compare</a> (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two cursors.  <a href="#ga194b0bc812a6c031bc80a195bff0a40e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gadeff0745dac418696bdd9a380ad54e9a">evas_textblock_cursor_copy</a> (const Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make cur_dest point to the same place as cur.  <a href="#gadeff0745dac418696bdd9a380ad54e9a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga674d0cf1c0273fa58f1f2b4007b0b455">evas_textblock_cursor_text_append</a> (Evas_Textblock_Cursor *cur, const char *_text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds text to the current cursor position and set the cursor to *before* the start of the text just added.  <a href="#ga674d0cf1c0273fa58f1f2b4007b0b455"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gacc79760e60e2aa49cb5c2aaa8bb73ba0">evas_textblock_cursor_text_prepend</a> (Evas_Textblock_Cursor *cur, const char *_text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds text to the current cursor position and set the cursor to *after* the start of the text just added.  <a href="#gacc79760e60e2aa49cb5c2aaa8bb73ba0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6c8336913e645d5bedbc93ba7d06d079">evas_textblock_cursor_format_append</a> (Evas_Textblock_Cursor *cur, const char *format)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds format to the current cursor position.  <a href="#ga6c8336913e645d5bedbc93ba7d06d079"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6">evas_textblock_cursor_format_prepend</a> (Evas_Textblock_Cursor *cur, const char *format)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds format to the current cursor position.  <a href="#ga7e819b359a7e12cb3ecf3357029b9cb6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf9cd7ffa37008c0d6f61413703a0670e">evas_textblock_cursor_char_delete</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the character at the location of the cursor.  <a href="#gaf9cd7ffa37008c0d6f61413703a0670e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga1b581bb089e3f335cde9f7e824e9e0d4">evas_textblock_cursor_range_delete</a> (Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the range between cur1 and cur2.  <a href="#ga1b581bb089e3f335cde9f7e824e9e0d4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">evas_textblock_cursor_content_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the content of the cursor.  <a href="#ga77a5f2b742f74110aad4f0b2af6a91aa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga0ac2a1684a7def72b027d573f235c3c6">evas_textblock_cursor_range_text_get</a> (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *_cur2, Evas_Textblock_Text_Type format __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the text in the range between cur1 and cur2.  <a href="#ga0ac2a1684a7def72b027d573f235c3c6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">evas_textblock_cursor_paragraph_text_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the text of the paragraph cur points to - returns the text in markup.  <a href="#ga2369c2b14e0a58379e28327870a57f23"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga57b2e7d853306c435946e0db83080db5">evas_textblock_cursor_paragraph_text_length_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the length of the paragraph, cheaper the eina_unicode_strlen().  <a href="#ga57b2e7d853306c435946e0db83080db5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3">evas_textblock_cursor_format_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the format node at the position pointed by cur.  <a href="#gad4abd947509949e9b683003018481aa3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8">evas_textblock_node_format_text_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *fmt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the text format representation of the format node.  <a href="#gae386e3627175b7d20a14ad58ddd5aaa8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gabd21b412b8cbc90419cd7d375cc1b625">evas_textblock_cursor_at_format_set</a> (Evas_Textblock_Cursor *cur, const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *fmt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor to point to the position of fmt.  <a href="#gabd21b412b8cbc90419cd7d375cc1b625"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the current cursor position is a visible format.  <a href="#ga8a85968d8fe24bcb92738df510993d8c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">evas_textblock_cursor_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the cursor.  <a href="#ga53de4d5aa108014959e6eef6cc09e463"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga47950e666e252bbf0ad9d46b59e74269">evas_textblock_cursor_char_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the char at cur.  <a href="#ga47950e666e252bbf0ad9d46b59e74269"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105">evas_textblock_cursor_pen_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the pen at cur.  <a href="#ga07130c3e5323cc4aab5740e926221105"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaa49a0235809d49fb5f988253050dd101">evas_textblock_cursor_line_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the line at cur.  <a href="#gaa49a0235809d49fb5f988253050dd101"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00">evas_textblock_cursor_char_coord_set</a> (Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the position of the cursor according to the X and Y coordinates.  <a href="#ga216d7d74aae2d58f0cc42bf1a0291b00"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb">evas_textblock_cursor_line_coord_set</a> (Evas_Textblock_Cursor *cur, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor position according to the y coord.  <a href="#gab730b9223f43f4bf255f7b3bd44f3ddb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga5c69a5636c96fec1835e58b361037bdc">evas_textblock_cursor_range_geometry_get</a> (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of a range.  <a href="#ga5c69a5636c96fec1835e58b361037bdc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311">evas_textblock_cursor_format_item_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be documented.  <a href="#ga6938413ee2c12497dfa517c3575e0311"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">evas_textblock_cursor_eol_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the cursor points to the end of the line.  <a href="#gad5c9c6526512b13fe53aa763778aa6f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga77d99df8bcb139f2a499a0dda4c5dca1">evas_object_textblock_line_number_geometry_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of a line number.  <a href="#ga77d99df8bcb139f2a499a0dda4c5dca1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad5ee9184f370f602d2005ea8091a2c29">evas_object_textblock_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the textblock object.  <a href="#gad5ee9184f370f602d2005ea8091a2c29"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db">evas_object_textblock_size_formatted_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the formatted width and height.  <a href="#ga5b77e11b6e478b81ed13d469cb8e21db"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e">evas_object_textblock_size_native_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the native width and height.  <a href="#ga9a956c2712537a1e1f83e997c79a4c1e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga851cb385b547a958790a0d60d386a1d8">evas_object_textblock_style_insets_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be documented.  <a href="#ga851cb385b547a958790a0d60d386a1d8"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions used to create and manipulate textblock objects. </p>
+<p>Unlike <a class="el" href="group__Evas__Object__Text.html">Text Object Functions</a>, these handle complex text, doing multiple styles and multiline text based on HTML-like tags. Of these extra features will be heavier on memory and processing cost.</p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>put here some usage examples</dd></dl>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="gac8ab2a94f6b027a2b24fffdd23b113fb"></a><!-- doxytag: member="evas_object_textblock.c::ENFN" ref="gac8ab2a94f6b027a2b24fffdd23b113fb" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ENFN&nbsp;&nbsp;&nbsp;obj-&gt;layer-&gt;evas-&gt;engine.func</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<h2><a class="anchor" id="Evas_Object_Textblock_Tutorial"></a>
+Textblock Object Tutorial</h2>
+<p>This part explains about the textblock object's API and proper usage. If you want to develop textblock, you should also refer to Evas_Object_Textblock_Internal. The main user of the textblock object is the edje entry object in Edje, so that's a good place to learn from, but I think this document is more than enough, if it's not, please request for me info and I'll update it.</p>
+<h3><a class="anchor" id="textblock_intro"></a>
+Introduction</h3>
+<p>The textblock objects is, as implied, an object that can show big chunks of text. Textblock supports many features including: Text formatting, automatic and manual text alignment, embedding items (for example icons) and more. Textblock has three important parts, the text paragraphs, the format nodes and the cursors.</p>
+<h3><a class="anchor" id="textblock_cursors"></a>
+Textblock Object Cursors</h3>
+<p>A textblock Cursor Evas_Textblock_Cursor is data type that represents a position in a textblock. Each cursor contains information about the paragraph it points to, the position in that paragraph and the object itself. Cursors register to textblock objects upon creation, this means that once you created a cursor, it belongs to a specific obj and you can't for example copy a cursor "into" a cursor of a different object. Registered cursors also have the added benefit of updating automatically upon textblock changes, this means that if you have a cursor pointing to a specific character, it'll still point to it even after you change the whole object completely (as long as the char was not deleted), this is not possible without updating, because as mentioned, each cursor holds a character position. There are many functions that handle cursors, just check out the evas_textblock_cursor* functions. For creation and deletion of cursors check out: </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45" title="Create a new cursor, associate it to the obj and init it to point to the start of the textblock...">evas_object_textblock_cursor_new()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137" title="Free the cursor and unassociate it from the object.">evas_textblock_cursor_free()</a> </dd></dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>Cursors are generally the correct way to handle text in the textblock object, and there are enough functions to do everything you need with them (no need to get big chunks of text and processing them yourself).</dd></dl>
+<h3><a class="anchor" id="textblock_paragraphs"></a>
+Textblock Object Paragraphs</h3>
+<p>The textblock object is made out of text splitted to paragraphs (delimited by the paragraph separation character). Each paragraph has many (or none) format nodes associated with it which are responsible for the formatting of that paragraph.</p>
+<h3><a class="anchor" id="textblock_format_nodes"></a>
+Textblock Object Format Nodes</h3>
+<p>As explained in <a class="el" href="group__Evas__Object__Textblock.html#textblock_paragraphs">Textblock Object Paragraphs</a> each one of the format nodes is associated with a paragraph. There are two types of format nodes, visible and invisible: Visible: formats that a cursor can point to, i.e formats that occupy space, for example: newlines, tabs, items and etc. Some visible items are made of two parts, in this case, only the opening tag is visible. A closing tag (i.e a &lt;/tag&gt; tag) should NEVER be visible. Invisible: formats that don't occupy space, for example: bold and underline. Being able to access format nodes is very important for some uses. For example, edje uses the "&lt;a&gt;" format to create links in the text (and pop popups above them when clicked). For the textblock object a is just a formatting instruction (how to color the text), but edje utilizes the access to the format nodes to make it do more. For more information, take a look at all the evas_textblock_node_format_* functions. The translation of "&lt;tag&gt;" tags to actual format is done according to the tags defined in the style, see <a class="el" href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14">evas_textblock_style_set</a></p>
+<h3><a class="anchor" id="textblock_special_formats"></a>
+Special Formats</h3>
+<p>This section is not yet written. If you want some info about styles/formats and how to use them, expedite's textblock_basic test is a great start. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Write  </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">evas_object_text_font_set()</a>, and <a class="el" href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d">evas_object_text_inset_get()</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gac43a253bc767da912ee1818a8dfa5713"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_add" ref="gac43a253bc767da912ee1818a8dfa5713" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_textblock_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a textblock to the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new textblock object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad5ee9184f370f602d2005ea8091a2c29"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_clear" ref="gad5ee9184f370f602d2005ea8091a2c29" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_clear </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Clear the textblock object. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Does *NOT* free the evas object itself.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to clear. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>nothing. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2bbd5e4e1cc36e18790dc09fbd2a6c18"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_cursor_get" ref="ga2bbd5e4e1cc36e18790dc09fbd2a6c18" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const Evas_Textblock_Cursor* evas_object_textblock_cursor_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the object's main cursor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the obj's main cursor. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6f6242cc087a6cc65196b09e813e2c45"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_cursor_new" ref="ga6f6242cc087a6cc65196b09e813e2c45" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Textblock_Cursor* evas_object_textblock_cursor_new </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create a new cursor, associate it to the obj and init it to point to the start of the textblock. </p>
+<p>Association to the object means the cursor will be updated when the object will change.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>if you need speed and you know what you are doing, it's slightly faster to just allocate the cursor yourself and not associate it. (only people developing the actual object, and not users of the object).</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to associate to. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the new cursor. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga77d99df8bcb139f2a499a0dda4c5dca1"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_line_number_geometry_get" ref="ga77d99df8bcb139f2a499a0dda4c5dca1" args="(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_textblock_line_number_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>line</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the geometry of a line number. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>the line number. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>x coord of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>y coord of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>w coord of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>h coord of the line. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success, EINA_FALSE otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga0832ab9fd2820efee68bec6d1d80e427"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_newline_mode_get" ref="ga0832ab9fd2820efee68bec6d1d80e427" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_textblock_newline_mode_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets newline mode. </p>
+<p>When true, newline character behaves as a paragraph separator.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if in PS mode, EINA_FALSE otherwise. </dd></dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae637041b07efe438e3539bb549a915e3"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_newline_mode_set" ref="gae637041b07efe438e3539bb549a915e3" args="(Evas_Object *obj, Eina_Bool mode)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_newline_mode_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets newline mode. </p>
+<p>When true, newline character will behave as a paragraph separator.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>EINA_TRUE for PS mode, EINA_FALSE otherwise. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga61f6c6ea8c0ce2028424396eb2ff4a81"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_replace_char_get" ref="ga61f6c6ea8c0ce2028424396eb2ff4a81" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_textblock_replace_char_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the "replacement character" for given textblock object. </p>
+<p>Returns NULL if no replacement character is in use.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>replacement character or NULL </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab5d3958f4d73b2d9e3cccd828816b672"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_replace_char_set" ref="gab5d3958f4d73b2d9e3cccd828816b672" args="(Evas_Object *obj, const char *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_replace_char_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the "replacement character" to use for the given textblock object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>The charset name. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5b77e11b6e478b81ed13d469cb8e21db"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_size_formatted_get" ref="ga5b77e11b6e478b81ed13d469cb8e21db" args="(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_size_formatted_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the formatted width and height. </p>
+<p>This calculates the actual size after restricting the textblock to the current size of the object. The main difference between this and <a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e">evas_object_textblock_size_native_get</a> is that the "native" function does not wrapping into account it just calculates the real width of the object if it was placed on an infinite canvas, while this function gives the size after wrapping according to the size restrictions of the object.</p>
+<p>For example for a textblock containing the text: "You shall not pass!" with no margins or padding and assuming a monospace font and a size of 7x10 char widths (for simplicity) has a native size of 19x1 and a formatted size of 5x4.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w[out]</em>&nbsp;</td><td>the width of the object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h[out]</em>&nbsp;</td><td>the height of the object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e" title="Get the native width and height.">evas_object_textblock_size_native_get</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9a956c2712537a1e1f83e997c79a4c1e"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_size_native_get" ref="ga9a956c2712537a1e1f83e997c79a4c1e" args="(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_size_native_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the native width and height. </p>
+<p>This calculates the actual size without taking account the current size of the object. The main difference between this and <a class="el" href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db">evas_object_textblock_size_formatted_get</a> is that the "native" function does not take wrapping into account it just calculates the real width of the object if it was placed on an infinite canvas, while the "formatted" function gives the size after wrapping text according to the size restrictions of the object.</p>
+<p>For example for a textblock containing the text: "You shall not pass!" with no margins or padding and assuming a monospace font and a size of 7x10 char widths (for simplicity) has a native size of 19x1 and a formatted size of 5x4.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object of the textblock </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w[out]</em>&nbsp;</td><td>the width returned </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h[out]</em>&nbsp;</td><td>the height returned </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9f3164f28981c6d6188a8de202848197"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_style_get" ref="ga9f3164f28981c6d6188a8de202848197" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const Evas_Textblock_Style* evas_object_textblock_style_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the style of an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to get the style from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the style of the object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga851cb385b547a958790a0d60d386a1d8"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_style_insets_get" ref="ga851cb385b547a958790a0d60d386a1d8" args="(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_style_insets_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>to be documented. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>to be documented. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf581b9400cb7176a137451ab6193e3c0"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_style_set" ref="gaf581b9400cb7176a137451ab6193e3c0" args="(Evas_Object *obj, Evas_Textblock_Style *ts)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_style_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Textblock_Style *&nbsp;</td>
+          <td class="paramname"> <em>ts</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the objects style to ts. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object to set the style to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ts</em>&nbsp;</td><td>the style to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f">evas_textblock_style_free()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0896326ca8d9ca1dd194f322d0bc87b2"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_text_markup_get" ref="ga0896326ca8d9ca1dd194f322d0bc87b2" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_textblock_text_markup_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the markup of the object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the markup text of the object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4f7a3b1ee59e3c07f35726773c576a8d"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_text_markup_prepend" ref="ga4f7a3b1ee59e3c07f35726773c576a8d" args="(Evas_Textblock_Cursor *cur, const char *text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_text_markup_prepend </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Prepends markup to the cursor cur. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>assumes text does not include the unicode object replacement char (0xFFFC)</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to prepend to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>the markup text to prepend. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Return no value. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6">evas_textblock_cursor_format_prepend()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">evas_object_textblock_text_markup_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gadaed9758086de4545aa6fb561445816f"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_text_markup_set" ref="gadaed9758086de4545aa6fb561445816f" args="(Evas_Object *obj, const char *text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_text_markup_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the tetxblock's text to the markup text. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>assumes text does not include the unicode object replacement char (0xFFFC)</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the textblock object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>the markup text to use. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Return no value. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga4f7a3b1ee59e3c07f35726773c576a8d">evas_object_textblock_text_markup_prepend()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41">evas_textblock_cursor_paragraph_first()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga431ec30179fc3d7bcd98f508453e41bb"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_valign_get" ref="ga431ec30179fc3d7bcd98f508453e41bb" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double evas_object_textblock_valign_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the vertical alignment of a textblock. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The elignment set for the object </dd></dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5f08b5b6222ed341574ec8167a86c9a0"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_valign_set" ref="ga5f08b5b6222ed341574ec8167a86c9a0" args="(Evas_Object *obj, double align)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_valign_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>align</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the vertical alignment of text within the textblock object as a whole. </p>
+<p>Normally alignment is 0.0 (top of object). Values given should be between 0.0 and 1.0 (1.0 bottom of object, 0.5 being vertically centered etc.).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>align</em>&nbsp;</td><td>A value between 0.0 and 1.0 </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabd21b412b8cbc90419cd7d375cc1b625"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_at_format_set" ref="gabd21b412b8cbc90419cd7d375cc1b625" args="(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *fmt)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_at_format_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>fmt</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the cursor to point to the position of fmt. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fmt</em>&nbsp;</td><td>the format to update according to. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga216d7d74aae2d58f0cc42bf1a0291b00"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_char_coord_set" ref="ga216d7d74aae2d58f0cc42bf1a0291b00" args="(Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_char_coord_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the position of the cursor according to the X and Y coordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>coord to set by. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>coord to set by. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success, EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">evas_textblock_cursor_line_char_last()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf9cd7ffa37008c0d6f61413703a0670e"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_char_delete" ref="gaf9cd7ffa37008c0d6f61413703a0670e" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_char_delete </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete the character at the location of the cursor. </p>
+<p>If there's a format pointing to this position, delete it as well.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor pointing to the current location. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga47950e666e252bbf0ad9d46b59e74269"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_char_geometry_get" ref="ga47950e666e252bbf0ad9d46b59e74269" args="(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_char_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the geometry of the char at cur. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the position of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>the x of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>the y of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>the w of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>the h of the char. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>line number of the char on success, -1 on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8f3fba0d1d853db5694b3803db73d9cd"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_char_next" ref="ga8f3fba0d1d853db5694b3803db73d9cd" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_char_next </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances 1 char forward. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to advance. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a">evas_textblock_cursor_paragraph_next()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6">evas_textblock_cursor_format_prepend()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gace122729e6764dc54bfee83b9865efc9"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_char_prev" ref="gace122729e6764dc54bfee83b9865efc9" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_char_prev </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances 1 char backward. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to advance. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">evas_textblock_cursor_paragraph_prev()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">evas_textblock_cursor_geometry_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga194b0bc812a6c031bc80a195bff0a40e"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_compare" ref="ga194b0bc812a6c031bc80a195bff0a40e" args="(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_compare </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Compare two cursors. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur1</em>&nbsp;</td><td>the first cursor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cur2</em>&nbsp;</td><td>the second cursor. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>-1 if cur1 &lt; cur2, 0 if cur1 == cur2 and 1 otherwise. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga1b581bb089e3f335cde9f7e824e9e0d4">evas_textblock_cursor_range_delete()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga5c69a5636c96fec1835e58b361037bdc">evas_textblock_cursor_range_geometry_get()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga0ac2a1684a7def72b027d573f235c3c6">evas_textblock_cursor_range_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga77a5f2b742f74110aad4f0b2af6a91aa"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_content_get" ref="ga77a5f2b742f74110aad4f0b2af6a91aa" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* evas_textblock_cursor_content_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the content of the cursor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the text in the range </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3">evas_textblock_cursor_format_get()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8">evas_textblock_node_format_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gadeff0745dac418696bdd9a380ad54e9a"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_copy" ref="gadeff0745dac418696bdd9a380ad54e9a" args="(const Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_copy </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur_dest</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Make cur_dest point to the same place as cur. </p>
+<p>Does not work if they don't point to the same object.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the source cursor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cur_dest</em>&nbsp;</td><td>destination cursor. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">evas_textblock_cursor_eol_get()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">evas_textblock_cursor_geometry_get()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga1b581bb089e3f335cde9f7e824e9e0d4">evas_textblock_cursor_range_delete()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga0ac2a1684a7def72b027d573f235c3c6">evas_textblock_cursor_range_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad5c9c6526512b13fe53aa763778aa6f8"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_eol_get" ref="gad5c9c6526512b13fe53aa763778aa6f8" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_eol_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Checks if the cursor points to the end of the line. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to check. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if true, EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gadeff0745dac418696bdd9a380ad54e9a">evas_textblock_cursor_copy()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">evas_textblock_cursor_line_char_last()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6c8336913e645d5bedbc93ba7d06d079"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_append" ref="ga6c8336913e645d5bedbc93ba7d06d079" args="(Evas_Textblock_Cursor *cur, const char *format)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_append </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>format</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds format to the current cursor position. </p>
+<p>If the format being added is a visible format, add it *before* the cursor position, otherwise, add it after. This behavior is because visible formats are like characters and invisible should be stacked in a way that the last one is added last.</p>
+<p>This function works with native formats, that means that style defined tags like <br/>
+ won't work here. For those kind of things use markup prepend.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to where to add format at. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>the format to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns true if a visible format was added, false otherwise. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6" title="Adds format to the current cursor position.">evas_textblock_cursor_format_prepend()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gacc79760e60e2aa49cb5c2aaa8bb73ba0">evas_textblock_cursor_text_prepend()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6">evas_textblock_cursor_format_prepend()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad4abd947509949e9b683003018481aa3"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_get" ref="gad4abd947509949e9b683003018481aa3" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a>* evas_textblock_cursor_format_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the format node at the position pointed by cur. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the position to look at. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the format node if found, NULL otherwise. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c" title="Check if the current cursor position is a visible format.">evas_textblock_cursor_format_is_visible_get()</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">evas_textblock_cursor_content_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8a85968d8fe24bcb92738df510993d8c"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_is_visible_get" ref="ga8a85968d8fe24bcb92738df510993d8c" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_is_visible_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Check if the current cursor position is a visible format. </p>
+<p>This way is more efficient than <a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3" title="Return the format node at the position pointed by cur.">evas_textblock_cursor_format_get()</a> to check for the existence of a visible format.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to look at. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if the cursor points to a visible format, EINA_FALSE otherwise. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3" title="Return the format node at the position pointed by cur.">evas_textblock_cursor_format_get()</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">evas_textblock_cursor_content_get()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga6c8336913e645d5bedbc93ba7d06d079">evas_textblock_cursor_format_append()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311">evas_textblock_cursor_format_item_geometry_get()</a>, <a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">evas_textblock_cursor_is_format()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga674d0cf1c0273fa58f1f2b4007b0b455">evas_textblock_cursor_text_append()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6938413ee2c12497dfa517c3575e0311"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_item_geometry_get" ref="ga6938413ee2c12497dfa517c3575e0311" args="(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_item_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>to be documented. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>to be documented. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>to be documented. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaedae64aa95805f0c3480cf6001297ae9"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_next" ref="gaedae64aa95805f0c3480cf6001297ae9" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_next </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances to the next format node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to be updated. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success EINA_FALSE otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7e819b359a7e12cb3ecf3357029b9cb6"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_prepend" ref="ga7e819b359a7e12cb3ecf3357029b9cb6" args="(Evas_Textblock_Cursor *cur, const char *format)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_prepend </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>format</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds format to the current cursor position. </p>
+<p>If the format being added is a visible format, add it *before* the cursor position, otherwise, add it after. This behavior is because visible formats are like characters and invisible should be stacked in a way that the last one is added last. If the format is visible the cursor is advanced after it.</p>
+<p>This function works with native formats, that means that style defined tags like <br/>
+ won't work here. For those kind of things use markup prepend.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to where to add format at. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>the format to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns true if a visible format was added, false otherwise. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6" title="Adds format to the current cursor position.">evas_textblock_cursor_format_prepend()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">evas_textblock_cursor_char_next()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga6c8336913e645d5bedbc93ba7d06d079">evas_textblock_cursor_format_append()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga4f7a3b1ee59e3c07f35726773c576a8d">evas_object_textblock_text_markup_prepend()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga560593895b7ba6e3d309463c921ad9ec"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_prev" ref="ga560593895b7ba6e3d309463c921ad9ec" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_prev </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances to the previous format node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">evas_textblock_cursor_is_format()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaec3e250258e2f587381bcd1539469137"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_free" ref="gaec3e250258e2f587381bcd1539469137" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_free </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Free the cursor and unassociate it from the object. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>do not use it to free unassociated cursors.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to free. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga53de4d5aa108014959e6eef6cc09e463"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_geometry_get" ref="ga53de4d5aa108014959e6eef6cc09e463" args="(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_BiDi_Direction *&nbsp;</td>
+          <td class="paramname"> <em>dir</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Textblock_Cursor_Type&nbsp;</td>
+          <td class="paramname"> <em>ctype</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the geometry of the cursor. </p>
+<p>Depends on the type of cursor requested. This should be used instead of char_geometry_get because there are weird special cases with BiDi text. in '_' cursor mode (i.e a line below the char) it's the same as char_geometry get, except for the case of the last char of a line which depends on the paragraph direction.</p>
+<p>in '|' cursor mode (i.e a line between two chars) it is very varyable. For example consider the following visual string: "abcCBA" (ABC are rtl chars), a cursor pointing on A should actually draw a '|' between the c and the C.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>the x of the cursor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>the y of the cursor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>the width of the cursor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>the height of the cursor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>the direction of the cursor, can be NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ctype</em>&nbsp;</td><td>the type of the cursor. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>line number of the char on success, -1 on error. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">evas_textblock_cursor_char_prev()</a>, <a class="el" href="group__Evas__Object__Textblock.html#gadeff0745dac418696bdd9a380ad54e9a">evas_textblock_cursor_copy()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105">evas_textblock_cursor_pen_geometry_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf389372f80b4cd3f2fc1fd8b99637367"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_is_format" ref="gaf389372f80b4cd3f2fc1fd8b99637367" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_is_format </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns true if the cursor points to a format. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to check. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns EINA_TRUE if a cursor points to a format EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec">evas_textblock_cursor_format_prev()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6da9c7bff6073756a619f9b8a00d0e0b"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_line_char_first" ref="ga6da9c7bff6073756a619f9b8a00d0e0b" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_line_char_first </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Go to the start of the current line. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf96505739a5a805922f86b0e9c577afe"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_line_char_last" ref="gaf96505739a5a805922f86b0e9c577afe" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_line_char_last </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Go to the end of the current line. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00">evas_textblock_cursor_char_coord_set()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">evas_textblock_cursor_eol_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab730b9223f43f4bf255f7b3bd44f3ddb"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_line_coord_set" ref="gab730b9223f43f4bf255f7b3bd44f3ddb" args="(Evas_Textblock_Cursor *cur, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_line_coord_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the cursor position according to the y coord. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cur to be set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>the coord to set by. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the line number found, -1 on error. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf">evas_textblock_cursor_line_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa49a0235809d49fb5f988253050dd101"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_line_geometry_get" ref="gaa49a0235809d49fb5f988253050dd101" args="(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_line_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the geometry of the line at cur. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the position of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>the x of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>the y of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>the width of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>the height of the line. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>line number of the line on success, -1 on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa1992968fd64630687b18a5f9d632edf"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_line_set" ref="gaa1992968fd64630687b18a5f9d632edf" args="(Evas_Textblock_Cursor *cur, int line)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_line_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>line</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Go to the start of the line passed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>cursor to update. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>numer to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success, EINA_FALSE on error. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb">evas_textblock_cursor_line_coord_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga14a0a29c79eeb378c73f1383bb09424d"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_char_first" ref="ga14a0a29c79eeb378c73f1383bb09424d" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_paragraph_char_first </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Go to the first char in the node the cursor is pointing on. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">evas_textblock_cursor_paragraph_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf504e62cf0b498631ec8154c14b2efb4"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_char_last" ref="gaf504e62cf0b498631ec8154c14b2efb4" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_paragraph_char_last </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Go to the last char in a text node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0">evas_textblock_cursor_paragraph_last()</a>, <a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">evas_textblock_cursor_paragraph_prev()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">evas_textblock_cursor_paragraph_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga445a498191535460cf6de442cb2b3a41"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_first" ref="ga445a498191535460cf6de442cb2b3a41" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_paragraph_first </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the cursor to the start of the first text node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">evas_object_textblock_text_markup_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2654bf905bdd0fe98402abe105c815d0"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_last" ref="ga2654bf905bdd0fe98402abe105c815d0" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_paragraph_last </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>sets the cursor to the end of the last text node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">evas_textblock_cursor_paragraph_char_last()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga85773221b22e6d042cc6b581de08c87a"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_next" ref="ga85773221b22e6d042cc6b581de08c87a" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_paragraph_next </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances to the the start of the next text node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if it managed to advance a paragraph, EINA_FALSE otherwise. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">evas_textblock_cursor_char_next()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabe9fa26c799408129f013440e518f699"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_prev" ref="gabe9fa26c799408129f013440e518f699" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_paragraph_prev </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances to the the end of the previous text node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if it managed to advance a paragraph, EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">evas_textblock_cursor_paragraph_char_last()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">evas_textblock_cursor_char_prev()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2369c2b14e0a58379e28327870a57f23"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_text_get" ref="ga2369c2b14e0a58379e28327870a57f23" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_cursor_paragraph_text_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the text of the paragraph cur points to - returns the text in markup. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor pointing to the paragraph. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the text on success, NULL otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d">evas_textblock_cursor_paragraph_char_first()</a>, <a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">evas_textblock_cursor_paragraph_char_last()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga0ac2a1684a7def72b027d573f235c3c6">evas_textblock_cursor_range_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga57b2e7d853306c435946e0db83080db5"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_text_length_get" ref="ga57b2e7d853306c435946e0db83080db5" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_paragraph_text_length_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the length of the paragraph, cheaper the eina_unicode_strlen(). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the position of the paragraph. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the length of the paragraph on success, -1 otehrwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga07130c3e5323cc4aab5740e926221105"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_pen_geometry_get" ref="ga07130c3e5323cc4aab5740e926221105" args="(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_pen_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the geometry of the pen at cur. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the position of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cpen_x</em>&nbsp;</td><td>the pen_x of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>the y of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cadv</em>&nbsp;</td><td>the adv of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>the h of the char. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>line number of the char on success, -1 on error. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">evas_textblock_cursor_geometry_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7f74459b59870c258bd312ff114778bc"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_pos_get" ref="ga7f74459b59870c258bd312ff114778bc" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_pos_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the current cursor pos. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to take the position from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the position or -1 on error </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gacde95e638bba6858b73f316afe2cfef0"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_pos_set" ref="gacde95e638bba6858b73f316afe2cfef0" args="(Evas_Textblock_Cursor *cur, int _pos)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_pos_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>_pos</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the cursor pos. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to be set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>the pos to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1b581bb089e3f335cde9f7e824e9e0d4"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_range_delete" ref="ga1b581bb089e3f335cde9f7e824e9e0d4" args="(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_range_delete </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete the range between cur1 and cur2. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur1</em>&nbsp;</td><td>one side of the range. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cur2</em>&nbsp;</td><td>the second side of the range </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga194b0bc812a6c031bc80a195bff0a40e">evas_textblock_cursor_compare()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gadeff0745dac418696bdd9a380ad54e9a">evas_textblock_cursor_copy()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5c69a5636c96fec1835e58b361037bdc"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_range_geometry_get" ref="ga5c69a5636c96fec1835e58b361037bdc" args="(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_textblock_cursor_range_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the geometry of a range. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur1</em>&nbsp;</td><td>one side of the range. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cur2</em>&nbsp;</td><td>other side of the range. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a list of Rectangles representing the geometry of the range. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga194b0bc812a6c031bc80a195bff0a40e">evas_textblock_cursor_compare()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0ac2a1684a7def72b027d573f235c3c6"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_range_text_get" ref="ga0ac2a1684a7def72b027d573f235c3c6" args="(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *_cur2, Evas_Textblock_Text_Type format __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* evas_textblock_cursor_range_text_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>_cur2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Textblock_Text_Type format&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the text in the range between cur1 and cur2. </p>
+<p>FIXME: format is currently unused, you always get markup back.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur1</em>&nbsp;</td><td>one side of the range. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cur2</em>&nbsp;</td><td>the other side of the range </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>to be documented </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the text in the range </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd>elm_entry_markup_to_utf8() </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga194b0bc812a6c031bc80a195bff0a40e">evas_textblock_cursor_compare()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gadeff0745dac418696bdd9a380ad54e9a">evas_textblock_cursor_copy()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">evas_textblock_cursor_paragraph_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga74682be12e8108f2956ab8b02f39d9ab"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_set_at_format" ref="ga74682be12e8108f2956ab8b02f39d9ab" args="(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_set_at_format </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the cursor to point to the place where format points to. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the format node to update according. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gab53e3b12b9332180ad6736100333eb71">evas_textblock_node_format_remove_pair()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga674d0cf1c0273fa58f1f2b4007b0b455"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_text_append" ref="ga674d0cf1c0273fa58f1f2b4007b0b455" args="(Evas_Textblock_Cursor *cur, const char *_text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_text_append </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>_text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds text to the current cursor position and set the cursor to *before* the start of the text just added. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to where to add text at. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>_text</em>&nbsp;</td><td>the text to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the len of the text added. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#gacc79760e60e2aa49cb5c2aaa8bb73ba0" title="Adds text to the current cursor position and set the cursor to *after* the start of the text just add...">evas_textblock_cursor_text_prepend()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gacc79760e60e2aa49cb5c2aaa8bb73ba0">evas_textblock_cursor_text_prepend()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gacc79760e60e2aa49cb5c2aaa8bb73ba0"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_text_prepend" ref="gacc79760e60e2aa49cb5c2aaa8bb73ba0" args="(Evas_Textblock_Cursor *cur, const char *_text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_text_prepend </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>_text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds text to the current cursor position and set the cursor to *after* the start of the text just added. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to where to add text at. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>_text</em>&nbsp;</td><td>the text to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the len of the text added. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga674d0cf1c0273fa58f1f2b4007b0b455" title="Adds text to the current cursor position and set the cursor to *before* the start of the text just ad...">evas_textblock_cursor_text_append()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga674d0cf1c0273fa58f1f2b4007b0b455">evas_textblock_cursor_text_append()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga6c8336913e645d5bedbc93ba7d06d079">evas_textblock_cursor_format_append()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac165d57003e552fa6739158dc2ed73f5"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_escape_string_get" ref="gac165d57003e552fa6739158dc2ed73f5" args="(const char *escape)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_escape_string_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>escape</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the unescaped version of escape. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>escape</em>&nbsp;</td><td>the string to be escaped </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the unescaped version of escape </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga57940db29ffb910af130dd2100e48ff2"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_escape_string_range_get" ref="ga57940db29ffb910af130dd2100e48ff2" args="(const char *escape_start, const char *escape_end)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_escape_string_range_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>escape_start</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>escape_end</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the unescaped version of the string between start and end. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>escape_start</em>&nbsp;</td><td>the start of the string. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>escape_end</em>&nbsp;</td><td>the end of the string. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the unescaped version of the range </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga56e9057e5845fe785710ba6c5d07ab3e"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_first_get" ref="ga56e9057e5845fe785710ba6c5d07ab3e" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a>* evas_textblock_node_format_first_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the first format node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The evas, must not be NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the first format node, may be null if there are none. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga091521044b95190c75c57ca1661bcc83"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_last_get" ref="ga091521044b95190c75c57ca1661bcc83" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a>* evas_textblock_node_format_last_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the last format node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The evas textblock, must not be NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the first format node, may be null if there are none. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga341e85b5bb0c9b2c82db4eb5a2432a9d"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_next_get" ref="ga341e85b5bb0c9b2c82db4eb5a2432a9d" args="(const Evas_Object_Textblock_Node_Format *n)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a>* evas_textblock_node_format_next_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>n</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the next format node (after n). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the current format node - not null. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the next format node, may be null. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8566bfff8ca71cc89cf704c9a082780c"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_prev_get" ref="ga8566bfff8ca71cc89cf704c9a082780c" args="(const Evas_Object_Textblock_Node_Format *n)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a>* evas_textblock_node_format_prev_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>n</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the prev format node (after n). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the current format node - not null. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the prev format node, may be null. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab53e3b12b9332180ad6736100333eb71"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_remove_pair" ref="gab53e3b12b9332180ad6736100333eb71" args="(Evas_Object *obj, Evas_Object_Textblock_Node_Format *n)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_node_format_remove_pair </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove a format node and it's match. </p>
+<p>i.e, removes a &lt;tag&gt; &lt;/tag&gt; pair. Assumes the node is the first part of &lt;tag&gt; i.e, this won't work if n is a closing tag.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object of the textblock - not null. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the current format node - not null. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga74682be12e8108f2956ab8b02f39d9ab">evas_textblock_cursor_set_at_format()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae386e3627175b7d20a14ad58ddd5aaa8"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_text_get" ref="gae386e3627175b7d20a14ad58ddd5aaa8" args="(const Evas_Object_Textblock_Node_Format *fmt)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_node_format_text_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>fmt</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the text format representation of the format node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>fmt</em>&nbsp;</td><td>the format node. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the textual format of the format node. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">evas_textblock_cursor_content_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga70b3680a8691c70bab39bd1c127424a5"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_string_escape_get" ref="ga70b3680a8691c70bab39bd1c127424a5" args="(const char *string, int *len_ret)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_string_escape_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>len_ret</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the escaped version of the string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>to escape </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len_ret</em>&nbsp;</td><td>the len of the new escape </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the escaped string. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf527de9ea652e4435a0eaa6cda09585f"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_style_free" ref="gaf527de9ea652e4435a0eaa6cda09585f" args="(Evas_Textblock_Style *ts)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_style_free </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Style *&nbsp;</td>
+          <td class="paramname"> <em>ts</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Destroys a textblock style. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ts</em>&nbsp;</td><td>The textblock style to free. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0">evas_object_textblock_style_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae106e0cfb957f1916eb3833c1214394c"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_style_get" ref="gae106e0cfb957f1916eb3833c1214394c" args="(const Evas_Textblock_Style *ts)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_style_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Style *&nbsp;</td>
+          <td class="paramname"> <em>ts</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the text of the style ts. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ts</em>&nbsp;</td><td>the style to get it's text. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the text of the style or null on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga00cc8baec308c583ac801811dd381d4c"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_style_new" ref="ga00cc8baec308c583ac801811dd381d4c" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Textblock_Style* evas_textblock_style_new </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new textblock style. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new textblock style. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac239e4649b0893284ea962a2183c3f14"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_style_set" ref="gac239e4649b0893284ea962a2183c3f14" args="(Evas_Textblock_Style *ts, const char *text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_style_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Style *&nbsp;</td>
+          <td class="paramname"> <em>ts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the style ts to the style passed as text by text. </p>
+<p>Expected a string consisting of many (or none) tag='format' pairs.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ts</em>&nbsp;</td><td>the style to set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>the text to parse - NOT NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Output__Method.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Output__Method.html
new file mode 100644 (file)
index 0000000..891d704
--- /dev/null
@@ -0,0 +1,404 @@
+<html>
+<head>
+    <title>Evas: Render Engine Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Render Engine Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that are used to set the render engine for a given function, and then get that engine working.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">evas_output_method_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int render_method)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output engine for the given evas.  <a href="#gab6cca6c7a5edabef057790889d560b11"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gac4127a10231f1851cc3443a84fb0b059">evas_output_method_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the number of the output engine used for the given evas.  <a href="#gac4127a10231f1851cc3443a84fb0b059"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713">evas_engine_info_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current render engine info struct from the given evas.  <a href="#ga882d5f9411b5556719bdf28a134ee713"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">evas_engine_info_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a> *info)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Applies the engine settings for the given evas from the given <code>Evas_Engine_Info</code> structure.  <a href="#gafeff04b89b4498eedf99c89e0a06e604"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b">evas_render_method_lookup</a> (const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Look up a numeric ID from a string name of a rendering engine.  <a href="#gad8a701a8d4a2acbb2ce4b741ae55ce6b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285">evas_render_method_list</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List all the rendering engines compiled into the copy of the Evas library.  <a href="#ga23d8fc2c859f5dfcc9f50f441b96d285"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693">evas_render_method_list_free</a> (Eina_List *list)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function should be called to free a list of engine names.  <a href="#gab7f4a90e3082364eca04b39d3c1c2693"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that are used to set the render engine for a given function, and then get that engine working. </p>
+<p>The following code snippet shows how they can be used to initialise an evas that uses the X11 software engine: </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ Evas_Engine_Info_Software_X11 *einfo;
+ <span class="keyword">extern</span> Display *display;
+ <span class="keyword">extern</span> Window win;
+
+ <a class="code" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init</a>();
+
+ evas = <a class="code" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87" title="Creates a new empty evas.">evas_new</a>();
+ <a class="code" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11" title="Sets the output engine for the given evas.">evas_output_method_set</a>(evas, <a class="code" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b" title="Look up a numeric ID from a string name of a rendering engine.">evas_render_method_lookup</a>(<span class="stringliteral">&quot;software_x11&quot;</span>));
+ <a class="code" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063" title="Sets the output size of the render engine of the given evas.">evas_output_size_set</a>(evas, 640, 480);
+ <a class="code" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08" title="Sets the output viewport of the given evas in evas units.">evas_output_viewport_set</a>(evas, 0, 0, 640, 480);
+ einfo = (Evas_Engine_Info_Software_X11 *)<a class="code" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713" title="Retrieves the current render engine info struct from the given evas.">evas_engine_info_get</a>(evas);
+ einfo-&gt;info.display = display;
+ einfo-&gt;info.visual = DefaultVisual(display, DefaultScreen(display));
+ einfo-&gt;info.colormap = DefaultColormap(display, DefaultScreen(display));
+ einfo-&gt;info.drawable = win;
+ einfo-&gt;info.depth = DefaultDepth(display, DefaultScreen(display));
+ <a class="code" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604" title="Applies the engine settings for the given evas from the given Evas_Engine_Info structure.">evas_engine_info_set</a>(evas, (<a class="code" href="struct__Evas__Engine__Info.html" title="Generic engine information.">Evas_Engine_Info</a> *)einfo);
+</pre></div> <hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga882d5f9411b5556719bdf28a134ee713"></a><!-- doxytag: member="evas_main.c::evas_engine_info_get" ref="ga882d5f9411b5556719bdf28a134ee713" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a>* evas_engine_info_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the current render engine info struct from the given evas. </p>
+<p>The returned structure is publicly modifiable. The contents are valid until either <a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">evas_engine_info_set</a> or <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">evas_render</a> are called.</p>
+<p>This structure does not need to be freed by the caller.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the Engine Info structure. <code>NULL</code> is returned if an engine has not yet been assigned. </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Engine__Info.html#ad990a452b19dbd3b0ea73e3c1827dcb1">_Evas_Engine_Info::magic</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gafeff04b89b4498eedf99c89e0a06e604"></a><!-- doxytag: member="evas_main.c::evas_engine_info_set" ref="gafeff04b89b4498eedf99c89e0a06e604" args="(Evas *e, Evas_Engine_Info *info)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_engine_info_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a> *&nbsp;</td>
+          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Applies the engine settings for the given evas from the given <code>Evas_Engine_Info</code> structure. </p>
+<p>To get the Evas_Engine_Info structure to use, call <a class="el" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713">evas_engine_info_get</a> . Do not try to obtain a pointer to an <code>Evas_Engine_Info</code> structure in any other way.</p>
+<p>You will need to call this function at least once before you can create objects on an evas or render that evas. Some engines allow their settings to be changed more than once.</p>
+<p>Once called, the <code>info</code> pointer should be considered invalid.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>The pointer to the Engine Info to use </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 if no error occurred, 0 otherwise </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Engine__Info.html#ad990a452b19dbd3b0ea73e3c1827dcb1">_Evas_Engine_Info::magic</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac4127a10231f1851cc3443a84fb0b059"></a><!-- doxytag: member="evas_main.c::evas_output_method_get" ref="gac4127a10231f1851cc3443a84fb0b059" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_output_method_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the number of the output engine used for the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The ID number of the output engine being used. <code>0</code> is returned if there is an error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab6cca6c7a5edabef057790889d560b11"></a><!-- doxytag: member="evas_main.c::evas_output_method_set" ref="gab6cca6c7a5edabef057790889d560b11" args="(Evas *e, int render_method)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_output_method_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>render_method</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the output engine for the given evas. </p>
+<p>Once the output engine for an evas is set, any attempt to change it will be ignored. The value for <code>render_method</code> can be found using <a class="el" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b">evas_render_method_lookup</a> .</p>
+<dl class="attention"><dt><b>Attention:</b></dt><dd>it is mandatory that one calls <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a> before setting the output method.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>render_method</em>&nbsp;</td><td>The numeric engine value to use. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga23d8fc2c859f5dfcc9f50f441b96d285"></a><!-- doxytag: member="evas_main.c::evas_render_method_list" ref="ga23d8fc2c859f5dfcc9f50f441b96d285" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_render_method_list </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>List all the rendering engines compiled into the copy of the Evas library. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A linked list whose data members are C strings of engine names</dd></dl>
+<p>Calling this will return a handle (pointer) to an Evas linked list. Each node in the linked list will have the data pointer be a (char *) pointer to the string name of the rendering engine available. The strings should never be modified, neither should the list be modified. This list should be cleaned up as soon as the program no longer needs it using <a class="el" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693" title="This function should be called to free a list of engine names.">evas_render_method_list_free()</a>. If no engines are available from Evas, NULL will be returned.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> Eina_List *engine_list, *l;
+ <span class="keywordtype">char</span> *engine_name;
+
+ engine_list = <a class="code" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285" title="List all the rendering engines compiled into the copy of the Evas library.">evas_render_method_list</a>();
+ <span class="keywordflow">if</span> (!engine_list)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Evas supports no engines! Exit.\n&quot;</span>);
+     exit(-1);
+   }
+ printf(<span class="stringliteral">&quot;Availible Evas Engines:\n&quot;</span>);
+ EINA_LIST_FOREACH(engine_list, l, engine_name)
+     printf(&quot;%s\n&quot;, engine_name);
+ <a class="code" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693" title="This function should be called to free a list of engine names.">evas_render_method_list_free</a>(engine_list);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="gab7f4a90e3082364eca04b39d3c1c2693"></a><!-- doxytag: member="evas_main.c::evas_render_method_list_free" ref="gab7f4a90e3082364eca04b39d3c1c2693" args="(Eina_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_render_method_list_free </td>
+          <td>(</td>
+          <td class="paramtype">Eina_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>This function should be called to free a list of engine names. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The Eina_List base pointer for the engine list to be freed</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>When this function is called it will free the engine list passed in as <code>list</code>. The list should only be a list of engines generated by calling <a class="el" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285" title="List all the rendering engines compiled into the copy of the Evas library.">evas_render_method_list()</a>. If <code>list</code> is NULL, nothing will happen.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> Eina_List *engine_list, *l;
+ <span class="keywordtype">char</span> *engine_name;
+
+ engine_list = <a class="code" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285" title="List all the rendering engines compiled into the copy of the Evas library.">evas_render_method_list</a>();
+ <span class="keywordflow">if</span> (!engine_list)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Evas supports no engines! Exit.\n&quot;</span>);
+     exit(-1);
+   }
+ printf(<span class="stringliteral">&quot;Availible Evas Engines:\n&quot;</span>);
+ EINA_LIST_FOREACH(engine_list, l, engine_name)
+     printf(&quot;%s\n&quot;, engine_name);
+ <a class="code" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693" title="This function should be called to free a list of engine names.">evas_render_method_list_free</a>(engine_list);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="gad8a701a8d4a2acbb2ce4b741ae55ce6b"></a><!-- doxytag: member="evas_main.c::evas_render_method_lookup" ref="gad8a701a8d4a2acbb2ce4b741ae55ce6b" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_render_method_lookup </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Look up a numeric ID from a string name of a rendering engine. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The string name of an engine </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A numeric (opaque) ID for the rendering engine</dd></dl>
+<p>This function looks up a numeric return value for the named engine in the string <code>name</code>. This is a normal C string, NUL byte terminated. The name is case sensitive. If the rendering engine is available, a numeric ID for that engine is returned that is not 0. If the engine is not available, 0 is returned, indicating an invalid engine.</p>
+<p>The programmer should NEVER rely on the numeric ID of an engine unless it is returned by this function. Programs should NOT be written accessing render method ID's directly, without first obtaining it from this function.</p>
+<dl class="attention"><dt><b>Attention:</b></dt><dd>it is mandatory that one calls <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a> before looking up the render method.</dd></dl>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> engine_id;
+ <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+
+ <a class="code" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init</a>();
+
+ evas = <a class="code" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87" title="Creates a new empty evas.">evas_new</a>();
+ <span class="keywordflow">if</span> (!evas)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Canvas creation failed. Fatal error.\n&quot;</span>);
+     exit(-1);
+   }
+ engine_id = <a class="code" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b" title="Look up a numeric ID from a string name of a rendering engine.">evas_render_method_lookup</a>(<span class="stringliteral">&quot;software_x11&quot;</span>);
+ <span class="keywordflow">if</span> (!engine_id)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Requested rendering engine is absent.\n&quot;</span>);
+     exit(-1);
+   }
+ <a class="code" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11" title="Sets the output engine for the given evas.">evas_output_method_set</a>(evas, engine_id);
+</pre></div> 
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Output__Size.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Output__Size.html
new file mode 100644 (file)
index 0000000..fe74617
--- /dev/null
@@ -0,0 +1,327 @@
+<html>
+<head>
+    <title>Evas: Output and Viewport Resizing Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Output and Viewport Resizing Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that set and retrieve the output and viewport size of an evas.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">evas_output_size_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output size of the render engine of the given evas.  <a href="#gaaf571f18f97f4067f554ab7713f01063"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a">evas_output_size_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int *w, int *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the output size of the render engine of the given evas.  <a href="#ga1f3497644d526ff5ded49b19c1ec732a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">evas_output_viewport_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output viewport of the given evas in evas units.  <a href="#ga1d39edcaff429d884d4a70aa1fca0c08"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee">evas_output_viewport_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the render engine's output viewport co-ordinates in canvas units.  <a href="#gab94e38ef64004f0ead8cd8f7a8f69fee"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that set and retrieve the output and viewport size of an evas. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga1f3497644d526ff5ded49b19c1ec732a"></a><!-- doxytag: member="evas_main.c::evas_output_size_get" ref="ga1f3497644d526ff5ded49b19c1ec732a" args="(const Evas *e, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_output_size_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieve the output size of the render engine of the given evas. </p>
+<p>The output size is given in whatever the output units are for the engine.</p>
+<p>If either <code>w</code> or <code>h</code> is <code>NULL</code>, then it is ignored. If <code>e</code> is invalid, the returned results are undefined.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The pointer to an integer to store the width in. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The pointer to an integer to store the height in. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaaf571f18f97f4067f554ab7713f01063"></a><!-- doxytag: member="evas_main.c::evas_output_size_set" ref="gaaf571f18f97f4067f554ab7713f01063" args="(Evas *e, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_output_size_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the output size of the render engine of the given evas. </p>
+<p>The evas will render to a rectangle of the given size once this function is called. The output size is independent of the viewport size. The viewport will be stretched to fill the given rectangle.</p>
+<p>The units used for <code>w</code> and <code>h</code> depend on the engine used by the evas.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width in output units, usually pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height in output units, usually pixels. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gab94e38ef64004f0ead8cd8f7a8f69fee"></a><!-- doxytag: member="evas_main.c::evas_output_viewport_get" ref="gab94e38ef64004f0ead8cd8f7a8f69fee" args="(const Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_output_viewport_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the render engine's output viewport co-ordinates in canvas units. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The pointer to a x variable to be filled in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The pointer to a y variable to be filled in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The pointer to a width variable to be filled in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The pointer to a height variable to be filled in</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Calling this function writes the current canvas output viewport size and location values into the variables pointed to by <code>x</code>, <code>y</code>, <code>w</code> and <code>h</code>. On success the variables have the output location and size values written to them in canvas units. Any of <code>x</code>, <code>y</code>, <code>w</code> or <code>h</code> that are NULL will not be written to. If <code>e</code> is invalid, the results are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ Evas_Coord x, y, width, height;
+
+ <a class="code" href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee" title="Get the render engine&amp;#39;s output viewport co-ordinates in canvas units.">evas_output_viewport_get</a>(evas, &amp;x, &amp;y, &amp;w, &amp;h);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga1d39edcaff429d884d4a70aa1fca0c08"></a><!-- doxytag: member="evas_main.c::evas_output_viewport_set" ref="ga1d39edcaff429d884d4a70aa1fca0c08" args="(Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_output_viewport_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the output viewport of the given evas in evas units. </p>
+<p>The output viewport is the area of the evas that will be visible to the viewer. The viewport will be stretched to fit the output target of the evas when rendering is performed.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>The coordinate values do not have to map 1-to-1 with the output target. However, it is generally advised that it is done for ease of use.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The top-left corner x value of the viewport. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The top-left corner y value of the viewport. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width of the viewport. Must be greater than 0. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height of the viewport. Must be greater than 0. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Pointer__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Pointer__Group.html
new file mode 100644 (file)
index 0000000..aa57eff
--- /dev/null
@@ -0,0 +1,292 @@
+<html>
+<head>
+    <title>Evas: Pointer (Mouse) Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Pointer (Mouse) Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deal with the status of the pointer (mouse cursor).  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98">evas_pointer_output_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int *x, int *y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function returns the current known pointer co-ordinates.  <a href="#gad8e78aded475fe26ea14b7410f510a98"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#ga2f7bf87c9b1268e68c85d4bb8b9e4b15">evas_pointer_canvas_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord *x, Evas_Coord *y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function returns the current known pointer co-ordinates.  <a href="#ga2f7bf87c9b1268e68c85d4bb8b9e4b15"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580">evas_pointer_button_down_mask_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a bitmask with the mouse buttons currently pressed, set to 1.  <a href="#gaae658f627d7f31b051345e45377c3580"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a">evas_pointer_inside_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether the mouse pointer is logically inside the canvas.  <a href="#ga39a1840fd43442c20f321437bd5f427a"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deal with the status of the pointer (mouse cursor). </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaae658f627d7f31b051345e45377c3580"></a><!-- doxytag: member="evas_main.c::evas_pointer_button_down_mask_get" ref="gaae658f627d7f31b051345e45377c3580" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_pointer_button_down_mask_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns a bitmask with the mouse buttons currently pressed, set to 1. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A bitmask of the currently depressed buttons on the cavas</dd></dl>
+<p>Calling this function will return a 32-bit integer with the appropriate bits set to 1 that correspond to a mouse button being depressed. This limits Evas to a mouse devices with a maximum of 32 buttons, but that is generally in excess of any host system's pointing device abilities.</p>
+<p>A canvas by default begins with no mouse buttons being pressed and only calls to <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2" title="Mouse down event feed.">evas_event_feed_mouse_down()</a>, evas_event_feed_mouse_down_data(), <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c" title="Mouse up event feed.">evas_event_feed_mouse_up()</a> and evas_event_feed_mouse_up_data() will alter that.</p>
+<p>The least significant bit corresponds to the first mouse button (button 1) and the most significant bit corresponds to the last mouse button (button 32).</p>
+<p>If <code>e</code> is not a valid canvas, the return value is undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keywordtype">int</span> button_mask, i;
+
+ button_mask = <a class="code" href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580" title="Returns a bitmask with the mouse buttons currently pressed, set to 1.">evas_pointer_button_down_mask_get</a>(evas);
+ printf(<span class="stringliteral">&quot;Buttons currently pressed:\n&quot;</span>);
+ <span class="keywordflow">for</span> (i = 0; i &lt; 32; i++)
+   {
+     <span class="keywordflow">if</span> ((button_mask &amp; (1 &lt;&lt; i)) != 0) printf(<span class="stringliteral">&quot;Button %i\n&quot;</span>, i + 1);
+   }
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga2f7bf87c9b1268e68c85d4bb8b9e4b15"></a><!-- doxytag: member="evas_main.c::evas_pointer_canvas_xy_get" ref="ga2f7bf87c9b1268e68c85d4bb8b9e4b15" args="(const Evas *e, Evas_Coord *x, Evas_Coord *y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_pointer_canvas_xy_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>This function returns the current known pointer co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The pointer to a Evas_Coord to be filled in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The pointer to a Evas_Coord to be filled in</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the current known canvas unit co-ordinates of the mouse pointer and sets the contents of the Evas_Coords pointed to by <code>x</code> and <code>y</code> to contain these co-ordinates. If <code>e</code> is not a valid canvas the results of this function are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ Evas_Coord mouse_x, mouse_y;
+
+ <a class="code" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98" title="This function returns the current known pointer co-ordinates.">evas_pointer_output_xy_get</a>(evas, &amp;mouse_x, &amp;mouse_y);
+ printf(<span class="stringliteral">&quot;Mouse is at canvas position %f, %f\n&quot;</span>, mouse_x, mouse_y);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga39a1840fd43442c20f321437bd5f427a"></a><!-- doxytag: member="evas_main.c::evas_pointer_inside_get" ref="ga39a1840fd43442c20f321437bd5f427a" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_pointer_inside_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns whether the mouse pointer is logically inside the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer that is 1 if the mouse is inside the canvas, 0 otherwise</dd></dl>
+<p>When this function is called it will return a value of either 0 or 1, depending on if <a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed" title="Mouse in event feed.">evas_event_feed_mouse_in()</a>, evas_event_feed_mouse_in_data(), or <a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13" title="Mouse out event feed.">evas_event_feed_mouse_out()</a>, evas_event_feed_mouse_out_data() have been called to feed in a mouse enter event into the canvas.</p>
+<p>A return value of 1 indicates the mouse is logically inside the canvas, and 0 implies it is logically outside the canvas.</p>
+<p>A canvas begins with the mouse being assumed outside (0).</p>
+<p>If <code>e</code> is not a valid canvas, the return value is undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a" title="Returns whether the mouse pointer is logically inside the canvas.">evas_pointer_inside_get</a>(evas)) printf(<span class="stringliteral">&quot;Mouse is in!\n&quot;</span>);
+ <span class="keywordflow">else</span> printf(<span class="stringliteral">&quot;Mouse is out!\n&quot;</span>);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="gad8e78aded475fe26ea14b7410f510a98"></a><!-- doxytag: member="evas_main.c::evas_pointer_output_xy_get" ref="gad8e78aded475fe26ea14b7410f510a98" args="(const Evas *e, int *x, int *y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_pointer_output_xy_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>This function returns the current known pointer co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The pointer to an integer to be filled in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The pointer to an integer to be filled in</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the current known screen/output co-ordinates of the mouse pointer and sets the contents of the integers pointed to by <code>x</code> and <code>y</code> to contain these co-ordinates. If <code>e</code> is not a valid canvas the results of this function are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keywordtype">int</span> mouse_x, mouse_y;
+
+ <a class="code" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98" title="This function returns the current known pointer co-ordinates.">evas_pointer_output_xy_get</a>(evas, &amp;mouse_x, &amp;mouse_y);
+ printf(<span class="stringliteral">&quot;Mouse is at screen position %i, %i\n&quot;</span>, mouse_x, mouse_y);
+</pre></div> 
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Smart__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Smart__Group.html
new file mode 100644 (file)
index 0000000..6884b44
--- /dev/null
@@ -0,0 +1,737 @@
+<html>
+<head>
+    <title>Evas: Smart Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Smart Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deal with Evas_Smart's, creating definition (classes) of objects that will have customized behavior for methods like <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set()</a> and others.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a smart object class  <a href="struct__Evas__Smart__Class.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Describes a callback used by a smart class <a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e" title="Call any smart callbacks on obj for event.">evas_object_smart_callback_call()</a>, particularly useful to explain to user and its code (ie: introspection) what the parameter <code>event_info</code> will contain.  <a href="struct__Evas__Smart__Cb__Description.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1ca1514302a47188c921b232d6ce42db"></a><!-- doxytag: member="Evas_Smart_Group::EVAS_SMART_CLASS_VERSION" ref="ga1ca1514302a47188c921b232d6ce42db" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">EVAS_SMART_CLASS_VERSION</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The version you have to put into the version field in the smart class struct. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0">EVAS_SMART_CLASS_INIT_NULL</a>&nbsp;&nbsp;&nbsp;{NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure.  <a href="#ga223f5d420c1e22275cd6490cd77c85f0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562">EVAS_SMART_CLASS_INIT_VERSION</a>&nbsp;&nbsp;&nbsp;{NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set version.  <a href="#gaaa610a135c79167162405b56cffe8562"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77">EVAS_SMART_CLASS_INIT_NAME_VERSION</a>(name)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name and version.  <a href="#gaff2bbd5bb79e51ad8d31f98106caff77"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a>(name, parent)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class.  <a href="#ga653b7bf36c2c87bd38d8126e11a4671d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a>(name, parent, callbacks)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callbacks definition.  <a href="#ga5ebe1775142621cc3b75a3c57085ec83"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga58dc94af6f064b39b2bf0155908fbe52">EVAS_SMART_SUBCLASS_NEW</a>(smart_name, prefix, api_type, parent_type, parent_func, cb_desc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to subclass a Smart Class.  <a href="#ga58dc94af6f064b39b2bf0155908fbe52"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga4aa4b72aafa0391144fb0171aeff2ccd">EVAS_SMART_DATA_ALLOC</a>(o, priv_type)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to allocate smart data only if needed.  <a href="#ga4aa4b72aafa0391144fb0171aeff2ccd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95">evas_smart_class_inherit</a>(sc, parent_sc)&nbsp;&nbsp;&nbsp;evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Easy to use version of <a class="el" href="group__Evas__Smart__Group.html#ga21f5af32f724500c3380906d166fc49f" title="Sets one class to inherit from the other.">evas_smart_class_inherit_full()</a>.  <a href="#ga6888875280ccf11f026e09c890650c95"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaea15f67e901bf5380cdb67dc1bb43391"></a><!-- doxytag: member="Evas_Smart_Group::Evas_Smart_Class" ref="gaea15f67e901bf5380cdb67dc1bb43391" args="" -->
+typedef struct <a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaea15f67e901bf5380cdb67dc1bb43391">Evas_Smart_Class</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A smart object base class. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0ad0e7d482d7660e756e275d355e3634"></a><!-- doxytag: member="Evas_Smart_Group::Evas_Smart_Cb_Description" ref="ga0ad0e7d482d7660e756e275d355e3634" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga0ad0e7d482d7660e756e275d355e3634">Evas_Smart_Cb_Description</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A smart object callback description, used to provide introspection. <br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga3501ae449533ae15eee9cbf65811cad2">evas_smart_free</a> (<a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free an Evas_Smart.  <a href="#ga3501ae449533ae15eee9cbf65811cad2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a">evas_smart_class_new</a> (const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an Evas_Smart from an Evas_Smart_Class.  <a href="#ga25a97a07a32a460c8c2d55916481dd1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gac41799a0e334d515fa8e07313b88c611">evas_smart_class_get</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Evas_Smart_Class of an Evas_Smart.  <a href="#gac41799a0e334d515fa8e07313b88c611"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaa88f3f98a71031573b8dfc4bfeac2f64">evas_smart_data_get</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the data pointer set on an Evas_Smart.  <a href="#gaa88f3f98a71031573b8dfc4bfeac2f64"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga67ca7d389fd32a2dc4d7d6e29430d900">evas_smart_callbacks_descriptions_get</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s, unsigned int *count)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the callbacks known by this Evas_Smart.  <a href="#ga67ca7d389fd32a2dc4d7d6e29430d900"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga5532335a315b4c84ab914afbbe771363">evas_smart_callback_description_find</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s, const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find callback description for callback called <em>name</em>.  <a href="#ga5532335a315b4c84ab914afbbe771363"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga21f5af32f724500c3380906d166fc49f">evas_smart_class_inherit_full</a> (<a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc, const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *parent_sc, unsigned int parent_sc_size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets one class to inherit from the other.  <a href="#ga21f5af32f724500c3380906d166fc49f"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deal with Evas_Smart's, creating definition (classes) of objects that will have customized behavior for methods like <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set()</a> and others. </p>
+<p>These objects will accept the generic methods defined in <a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a> and the extensions defined in <a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>. There are couple of existent smart objects in Evas itself, see <a class="el" href="group__Evas__Object__Box.html">Box (Sequence) Smart Object.</a>, <a class="el" href="group__Evas__Object__Table.html">Table Smart Object.</a> and <a class="el" href="group__Evas__Smart__Object__Clipped.html">Clipped Smart Object</a>. </p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga6888875280ccf11f026e09c890650c95"></a><!-- doxytag: member="Evas.h::evas_smart_class_inherit" ref="ga6888875280ccf11f026e09c890650c95" args="(sc, parent_sc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define evas_smart_class_inherit</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">sc, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">parent_sc</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td>&nbsp;&nbsp;&nbsp;evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Easy to use version of <a class="el" href="group__Evas__Smart__Group.html#ga21f5af32f724500c3380906d166fc49f" title="Sets one class to inherit from the other.">evas_smart_class_inherit_full()</a>. </p>
+<p>This version will use sizeof(parent_sc), copying everything.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>sc</em>&nbsp;</td><td>child class, will have methods copied from <em>parent_sc</em> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parent_sc</em>&nbsp;</td><td>parent class, will provide contents to be copied. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaff2bbd5bb79e51ad8d31f98106caff77"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_INIT_NAME_VERSION" ref="gaff2bbd5bb79e51ad8d31f98106caff77" args="(name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_CLASS_INIT_NAME_VERSION</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">name</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Smart_Class structure and set name and version. </p>
+<p>Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION and name to the specified value.</p>
+<p>It will keep a reference to name field as a "const char *", that is, name must be available while the structure is used (hint: static or global!) and will not be modified.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562" title="Initializer to zero a whole Evas_Smart_Class structure and set version.">EVAS_SMART_CLASS_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callba...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">evas_object_smart_clipped_class_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga653b7bf36c2c87bd38d8126e11a4671d"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT" ref="ga653b7bf36c2c87bd38d8126e11a4671d" args="(name, parent)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">name, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">parent</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td>&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class. </p>
+<p>Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION, name to the specified value and parent class.</p>
+<p>It will keep a reference to name field as a "const char *", that is, name must be available while the structure is used (hint: static or global!) and will not be modified. Similarly, parent reference will be kept.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562" title="Initializer to zero a whole Evas_Smart_Class structure and set version.">EVAS_SMART_CLASS_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callba...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5ebe1775142621cc3b75a3c57085ec83"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS" ref="ga5ebe1775142621cc3b75a3c57085ec83" args="(name, parent, callbacks)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">name, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">parent, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">callbacks</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td>&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callbacks definition. </p>
+<p>Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION, name to the specified value, parent class and callbacks at this level.</p>
+<p>It will keep a reference to name field as a "const char *", that is, name must be available while the structure is used (hint: static or global!) and will not be modified. Similarly, parent and callbacks reference will be kept.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562" title="Initializer to zero a whole Evas_Smart_Class structure and set version.">EVAS_SMART_CLASS_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga223f5d420c1e22275cd6490cd77c85f0"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_INIT_NULL" ref="ga223f5d420c1e22275cd6490cd77c85f0" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_CLASS_INIT_NULL&nbsp;&nbsp;&nbsp;{NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Smart_Class structure. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562" title="Initializer to zero a whole Evas_Smart_Class structure and set version.">EVAS_SMART_CLASS_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callba...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaaa610a135c79167162405b56cffe8562"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_INIT_VERSION" ref="gaaa610a135c79167162405b56cffe8562" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_CLASS_INIT_VERSION&nbsp;&nbsp;&nbsp;{NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Smart_Class structure and set version. </p>
+<p>Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callba...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4aa4b72aafa0391144fb0171aeff2ccd"></a><!-- doxytag: member="Evas.h::EVAS_SMART_DATA_ALLOC" ref="ga4aa4b72aafa0391144fb0171aeff2ccd" args="(o, priv_type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_DATA_ALLOC</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">o, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">priv_type</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">priv_type *priv; \
+   priv = <a class="code" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a" title="Retrieve user data stored on a smart object.">evas_object_smart_data_get</a>(o); \
+   <span class="keywordflow">if</span> (!priv) { \
+      priv = (priv_type *)calloc(1, <span class="keyword">sizeof</span>(priv_type)); \
+      <span class="keywordflow">if</span> (!priv) <span class="keywordflow">return</span>; \
+      <a class="code" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e" title="Store a pointer to user data for a smart object.">evas_object_smart_data_set</a>(o, priv); \
+   }
+</pre></div>
+<p>Convenience macro to allocate smart data only if needed. </p>
+<p>When writing a subclassable smart object, the .add function will need to check if the smart private data was already allocated by some child object or not. This macro makes it easier to do it.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>o</em>&nbsp;</td><td>Evas object passed to the .add function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>priv_type</em>&nbsp;</td><td>The type of the data to allocate </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga58dc94af6f064b39b2bf0155908fbe52"></a><!-- doxytag: member="Evas.h::EVAS_SMART_SUBCLASS_NEW" ref="ga58dc94af6f064b39b2bf0155908fbe52" args="(smart_name, prefix, api_type, parent_type, parent_func, cb_desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_SUBCLASS_NEW</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">smart_name, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">api_type, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">parent_type, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">parent_func, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">cb_desc</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">static</span> <span class="keyword">const</span> parent_type * prefix##_parent_sc = NULL;                   \
+  <span class="keyword">static</span> <span class="keywordtype">void</span> prefix##_smart_set_user(api_type *api);                   \
+  <span class="keyword">static</span> <span class="keywordtype">void</span> prefix##_smart_set(api_type *api)                         \
+  {                                                                     \
+     <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *sc;                                              \
+     <span class="keywordflow">if</span> (!(sc = (<a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *)api))                               \
+       <span class="keywordflow">return</span>;                                                          \
+     <span class="keywordflow">if</span> (!prefix##_parent_sc)                                           \
+       prefix##_parent_sc = parent_func();                              \
+     <a class="code" href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95" title="Easy to use version of evas_smart_class_inherit_full().">evas_smart_class_inherit</a>(sc, (<span class="keyword">const</span> <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *)prefix##_parent_sc); \
+     prefix##_smart_set_user(api);                                      \
+  }                                                                     \
+  <span class="keyword">static</span> <a class="code" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb" title="An Evas Smart Object handle.">Evas_Smart</a> * prefix##_smart_class_new(<span class="keywordtype">void</span>)                    \
+  {                                                                     \
+     <span class="keyword">static</span> <a class="code" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb" title="An Evas Smart Object handle.">Evas_Smart</a> *smart = NULL;                                   \
+     <span class="keyword">static</span> api_type api;                                               \
+     <span class="keywordflow">if</span> (!smart)                                                        \
+       {                                                                \
+          <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *sc = (<a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *)&amp;api;              \
+          memset(&amp;api, 0, <span class="keyword">sizeof</span>(api_type));                            \
+          sc-&gt;version = EVAS_SMART_CLASS_VERSION;                       \
+          sc-&gt;<a class="code" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f" title="the string name of the class">name</a> = smart_name;                                        \
+          sc-&gt;<a class="code" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067" title="callbacks at this level, NULL terminated">callbacks</a> = cb_desc;                                      \
+          prefix##_smart_set(&amp;api);                                     \
+          smart = <a class="code" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a" title="Creates an Evas_Smart from an Evas_Smart_Class.">evas_smart_class_new</a>(sc);                             \
+       }                                                                \
+     <span class="keywordflow">return</span> smart;                                                      \
+  }
+</pre></div>
+<p>Convenience macro to subclass a Smart Class. </p>
+<p>This macro saves some typing when writing a Smart Class derived from another one. In order to work, the user needs to provide some functions adhering to the following guidelines.</p>
+<ul>
+<li>&lt;prefix&gt;_smart_set_user(): the internal _smart_set function will call this one provided by the user after inheriting everything from the parent, which should take care of setting the right member functions for the class.</li>
+<li>&lt;prefix&gt;_parent_sc: pointer to the smart class of the parent. When calling parent functions from overloaded ones, use this global variable.</li>
+<li>&lt;prefix&gt;_smart_class_new(): this function returns the Evas_Smart needed to create smart objects with this class, should be called by the public _add() function.</li>
+<li>If this new class should be subclassable as well, a public _smart_set() function is desirable to fill the class used as parent by the children. It's up to the user to provide this interface, which will most likely call &lt;prefix&gt;_smart_set() to get the job done.</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>smart_name</em>&nbsp;</td><td>The name used for the Smart Class. e.g: "Evas_Object_Box". </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>Prefix used for all variables and functions defined. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>api_type</em>&nbsp;</td><td>Type of the structure used as API for the Smart Class. Either Evas_Smart_Class or something derived from it. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parent_type</em>&nbsp;</td><td>Type of the parent class API. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parent_func</em>&nbsp;</td><td>Function that gets the parent class. e.g: <a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff" title="Get Box Smart Class for inheritance purposes.">evas_object_box_smart_class_get()</a>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cb_desc</em>&nbsp;</td><td>Array of callback descriptions for this Smart Class. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga5532335a315b4c84ab914afbbe771363"></a><!-- doxytag: member="evas_smart.c::evas_smart_callback_description_find" ref="ga5532335a315b4c84ab914afbbe771363" args="(const Evas_Smart *s, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a>* evas_smart_callback_description_find </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Find callback description for callback called <em>name</em>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the Evas_Smart. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name of desired callback, must <b>not</b> be <code>NULL</code>. The search have a special case for <em>name</em> being the same pointer as registered with Evas_Smart_Cb_Description, one can use it to avoid excessive use of strcmp(). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>reference to description if found, <code>NULL</code> if not found. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga67ca7d389fd32a2dc4d7d6e29430d900"></a><!-- doxytag: member="evas_smart.c::evas_smart_callbacks_descriptions_get" ref="ga67ca7d389fd32a2dc4d7d6e29430d900" args="(const Evas_Smart *s, unsigned int *count)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a>** evas_smart_callbacks_descriptions_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>count</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the callbacks known by this Evas_Smart. </p>
+<p>This is likely different from <a class="el" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067" title="callbacks at this level, NULL terminated">Evas_Smart_Class::callbacks</a> as it will contain the callbacks of all class hierarchy sorted, while the direct smart class member refers only to that specific class and should not include parent's.</p>
+<p>If no callbacks are known, this function returns <code>NULL</code>.</p>
+<p>The array elements and thus their contents will be reference to original values given to evas_smart_new() as <a class="el" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067" title="callbacks at this level, NULL terminated">Evas_Smart_Class::callbacks</a>.</p>
+<p>The array is sorted by name. The last array element is the <code>NULL</code> pointer and is not counted in <em>count</em>. Loop iterations can check any of these cases.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the Evas_Smart. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>returns the number of elements in returned array. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the array with callback descriptions known by this class, its size is returned in <em>count</em> parameter. It should not be modified anyhow. If no callbacks are known, <code>NULL</code> is returned. The array is sorted by name and elements refer to the original value given to evas_smart_new().</dd></dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>objects may provide per-instance callbacks, use <a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d" title="Get the callbacks descriptions known by this smart object.">evas_object_smart_callbacks_descriptions_get()</a> to get those as well. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d" title="Get the callbacks descriptions known by this smart object.">evas_object_smart_callbacks_descriptions_get()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac41799a0e334d515fa8e07313b88c611"></a><!-- doxytag: member="evas_smart.c::evas_smart_class_get" ref="gac41799a0e334d515fa8e07313b88c611" args="(const Evas_Smart *s)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a>* evas_smart_class_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the Evas_Smart_Class of an Evas_Smart. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the Evas_Smart </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the Evas_Smart_Class </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga21f5af32f724500c3380906d166fc49f"></a><!-- doxytag: member="evas_smart.c::evas_smart_class_inherit_full" ref="ga21f5af32f724500c3380906d166fc49f" args="(Evas_Smart_Class *sc, const Evas_Smart_Class *parent_sc, unsigned int parent_sc_size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_smart_class_inherit_full </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td>
+          <td class="paramname"> <em>sc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td>
+          <td class="paramname"> <em>parent_sc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>parent_sc_size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets one class to inherit from the other. </p>
+<p>Copy all function pointers, set <code>parent</code> to <em>parent_sc</em> and copy everything after sizeof(Evas_Smart_Class) present in <em>parent_sc</em>, using <em>parent_sc_size</em> as reference.</p>
+<p>This is recommended instead of a single memcpy() since it will take care to not modify <em>sc</em> name, version, callbacks and possible other members.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>sc</em>&nbsp;</td><td>child class. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parent_sc</em>&nbsp;</td><td>parent class, will provide attributes. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parent_sc_size</em>&nbsp;</td><td>size of parent_sc structure, child should be at least this size. Everything after <code>Evas_Smart_Class</code> size is copied using regular memcpy(). </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">EVAS_SMART_CLASS_VERSION</a>, and <a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">_Evas_Smart_Class::parent</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga25a97a07a32a460c8c2d55916481dd1a"></a><!-- doxytag: member="evas_smart.c::evas_smart_class_new" ref="ga25a97a07a32a460c8c2d55916481dd1a" args="(const Evas_Smart_Class *sc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a>* evas_smart_class_new </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td>
+          <td class="paramname"> <em>sc</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates an Evas_Smart from an Evas_Smart_Class. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>sc</em>&nbsp;</td><td>the smart class definition </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>an Evas_Smart </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">EVAS_SMART_CLASS_VERSION</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa88f3f98a71031573b8dfc4bfeac2f64"></a><!-- doxytag: member="evas_smart.c::evas_smart_data_get" ref="gaa88f3f98a71031573b8dfc4bfeac2f64" args="(const Evas_Smart *s)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_smart_data_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the data pointer set on an Evas_Smart. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>Evas_Smart</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This data pointer is set either as the final parameter to evas_smart_new or as the data field in the Evas_Smart_Class passed in to evas_smart_class_new </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3501ae449533ae15eee9cbf65811cad2"></a><!-- doxytag: member="evas_smart.c::evas_smart_free" ref="ga3501ae449533ae15eee9cbf65811cad2" args="(Evas_Smart *s)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_smart_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Free an Evas_Smart. </p>
+<p>If this smart was created using <a class="el" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a" title="Creates an Evas_Smart from an Evas_Smart_Class.">evas_smart_class_new()</a>, the associated Evas_Smart_Class will not be freed.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the Evas_Smart to free </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Smart__Object__Clipped.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Smart__Object__Clipped.html
new file mode 100644 (file)
index 0000000..b74db01
--- /dev/null
@@ -0,0 +1,248 @@
+<html>
+<head>
+    <title>Evas: Clipped Smart Object</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Clipped Smart Object<br/>
+<small>
+[<a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">evas_object_smart_move_children_relative</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord dx, Evas_Coord dy)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves all children objects relative to given offset.  <a href="#ga1e051786da49a712512430fcb6360c12"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">evas_object_smart_clipped_clipper_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the clipper object for the given clipped smart object.  <a href="#ga27b74fdbecd5d915c9ec832199048907"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628">evas_object_smart_clipped_smart_set</a> (<a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set smart class callbacks so it implements the "Clipped Smart Object".  <a href="#ga3725ce3a781c93120637ad6a58f6e628"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga83e064112f527be0c2156c425562a57c"></a><!-- doxytag: member="Evas_Smart_Object_Clipped::evas_object_smart_clipped_class_get" ref="ga83e064112f527be0c2156c425562a57c" args="(void)" -->
+EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">evas_object_smart_clipped_class_get</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the Clipped Smart Class to use for proper inheritance. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children. </p>
+<p>This clipper will control the visibility, clipping and color of sibling objects (remember that the clipping is recursive, and clipper color modulates the color of its clippees). By default, this base will also move children relatively to the parent, and delete them when parent is deleted. In other words, it is the base for simple object grouping.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628" title="Set smart class callbacks so it implements the &quot;Clipped Smart Object&quot;.">evas_object_smart_clipped_smart_set()</a> </dd></dl>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga27b74fdbecd5d915c9ec832199048907"></a><!-- doxytag: member="evas_object_smart_clipped.c::evas_object_smart_clipped_clipper_get" ref="ga27b74fdbecd5d915c9ec832199048907" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_smart_clipped_clipper_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the clipper object for the given clipped smart object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the clipped smart object to retrieve the associated clipper. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the clipper object.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd>evas_object_smart_clipped_smart_add() </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">evas_object_smart_data_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3725ce3a781c93120637ad6a58f6e628"></a><!-- doxytag: member="evas_object_smart_clipped.c::evas_object_smart_clipped_smart_set" ref="ga3725ce3a781c93120637ad6a58f6e628" args="(Evas_Smart_Class *sc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_clipped_smart_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td>
+          <td class="paramname"> <em>sc</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set smart class callbacks so it implements the "Clipped Smart Object". </p>
+<p>This call will assign all the required methods of Evas_Smart_Class, if one wants to "subclass" it, call this function and later override values, if one wants to call the original method, save it somewhere, example:</p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">static</span> <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> parent_sc = EVAS_SMART_CLASS_INIT_NULL;
+
+ <span class="keyword">static</span> <span class="keywordtype">void</span> my_class_smart_add(<a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *o)
+ {
+    parent_sc.add(o);
+    <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(<a class="code" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907" title="Get the clipper object for the given clipped smart object.">evas_object_smart_clipped_clipper_get</a>(o),
+                          255, 0, 0, 255);
+ }
+
+ <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *my_class_new(<span class="keywordtype">void</span>)
+ {
+    <span class="keyword">static</span> <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> sc = <a class="code" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a>(<span class="stringliteral">&quot;MyClass&quot;</span>);
+    <span class="keywordflow">if</span> (!parent_sc.<a class="code" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f" title="the string name of the class">name</a>)
+      {
+         <a class="code" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628" title="Set smart class callbacks so it implements the &amp;quot;Clipped Smart Object&amp;quot;.">evas_object_smart_clipped_smart_set</a>(&amp;sc);
+         parent_sc = sc;
+         sc.add = my_class_smart_add;
+      }
+    <span class="keywordflow">return</span> &amp;sc;
+ }
+</pre></div><p>Default behavior is:</p>
+<ul>
+<li>add: creates a hidden clipper with "infinite" size;</li>
+<li>del: delete all children objects;</li>
+<li>move: move all objects relative relatively;</li>
+<li>resize: not defined;</li>
+<li>show: if there are children objects, show clipper;</li>
+<li>hide: hides clipper;</li>
+<li>color_set: set the color of clipper;</li>
+<li>clip_set: set clipper of clipper;</li>
+<li>clip_unset: unset the clipper of clipper; </li>
+</ul>
+
+<p>Referenced by <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">evas_object_smart_clipped_class_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1e051786da49a712512430fcb6360c12"></a><!-- doxytag: member="evas_object_smart_clipped.c::evas_object_smart_move_children_relative" ref="ga1e051786da49a712512430fcb6360c12" args="(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_move_children_relative </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>dx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>dy</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Moves all children objects relative to given offset. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart evas object to use. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dx</em>&nbsp;</td><td>horizontal offset. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dy</em>&nbsp;</td><td>vertical offset. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Smart__Object__Group.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Smart__Object__Group.html
new file mode 100644 (file)
index 0000000..0f88ec7
--- /dev/null
@@ -0,0 +1,859 @@
+<html>
+<head>
+    <title>Evas: Smart Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Smart Object Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions dealing with evas smart objects (instances).  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html">Clipped Smart Object</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html">Box (Sequence) Smart Object.</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Convenience smart object that packs children as a sequence using a layout function specified by user. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html">Table Smart Object.</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e">evas_object_smart_data_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a pointer to user data for a smart object.  <a href="#gae40928b2993cc169e606820ae21dbb6e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">evas_object_smart_data_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve user data stored on a smart object.  <a href="#gad77ac4b3dcb2929ff7d02e76a26e272a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gab1423d63011d7f3679c95ea1638fa714">evas_object_smart_smart_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Evas_Smart from which <code>obj</code> was created.  <a href="#gab1423d63011d7f3679c95ea1638fa714"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *smart_obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an evas object as a member of a smart object.  <a href="#ga88c6f460884a87d5a2915282ab1cf06f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a member object from a smart object.  <a href="#gaffa3573bd0f16f3eb21c3da8122194f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511">evas_object_smart_parent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the smart parent of an Evas_Object.  <a href="#gaee8228f86a2a896112b3dbfe09d83511"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga21c7f06371bf49bebaba0df0b8c7cbef">evas_object_smart_type_check</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *type)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks the Smart type of the object and its parents.  <a href="#ga21c7f06371bf49bebaba0df0b8c7cbef"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga2e93ee5ffcc0beec181cc640961ee3e6">evas_object_smart_type_check_ptr</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *type)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks the Smart type of the object and its parents using pointer comparison.  <a href="#ga2e93ee5ffcc0beec181cc640961ee3e6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaa61f845ee24ddb252a6fcb76d5f3c148">evas_object_smart_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Instantiates a new smart object described by <code>s</code>.  <a href="#gaa61f845ee24ddb252a6fcb76d5f3c148"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga13db802166db6890fe25bf63143ad3ee">evas_object_smart_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *event, void(*func)(void *data, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *event_info), const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a callback for the smart event specified by <code>event</code>.  <a href="#ga13db802166db6890fe25bf63143ad3ee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gab1f7248ecf036480e0fa2d1ca4e91c35">evas_object_smart_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *event, void(*func)(void *data, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *event_info))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a smart callback.  <a href="#gab1f7248ecf036480e0fa2d1ca4e91c35"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e">evas_object_smart_callback_call</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *event, void *event_info)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call any smart callbacks on <code>obj</code> for <code>event</code>.  <a href="#ga17bbe660f5bf9d8997913b08882f6f9e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaf724dbb075cdaf2b4b44dd883b792dc3">evas_object_smart_callbacks_descriptions_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> *descriptions)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set smart object instance callbacks descriptions.  <a href="#gaf724dbb075cdaf2b4b44dd883b792dc3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d">evas_object_smart_callbacks_descriptions_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***class_descriptions, unsigned int *class_count, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***instance_descriptions, unsigned int *instance_count)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the callbacks descriptions known by this smart object.  <a href="#gaf58d78bc21229defb9eafd541063391d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1">evas_object_smart_need_recalculate_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the need_recalculate flag of given smart object.  <a href="#ga58c34092eac9bfe6878b8e6ebc026de1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga38be19a4f09b071b3d984996b8f9b3ee">evas_object_smart_need_recalculate_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current value of need_recalculate flag.  <a href="#ga38be19a4f09b071b3d984996b8f9b3ee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga8013936b96d99d2ff375ca2b0b287f39">evas_object_smart_calculate</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call user provided calculate() and unset need_calculate.  <a href="#ga8013936b96d99d2ff375ca2b0b287f39"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaa30fa648297b723a73f28632d1dbec62">evas_smart_objects_calculate</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call user provided calculate() and unset need_calculate on all objects.  <a href="#gaa30fa648297b723a73f28632d1dbec62"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark smart object as changed, dirty.  <a href="#ga20b3bce805c272f3d11f4ba0ae952dc6"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions dealing with evas smart objects (instances). </p>
+<p>Smart objects are groupings of primitive evas objects that behave as a cohesive group. For instance, a file manager icon may be a smart object composed of an image object, a text label and two rectangles that appear behind the image and text when the icon is selected. As a smart object, the normal evas api could be used on the icon object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html">Smart Functions</a> for class definitions. </dd></dl>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaa61f845ee24ddb252a6fcb76d5f3c148"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_add" ref="gaa61f845ee24ddb252a6fcb76d5f3c148" args="(Evas *e, Evas_Smart *s)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_smart_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Instantiates a new smart object described by <code>s</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>the evas on which to add the object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the Evas_Smart describing the smart object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a new Evas_Object </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">evas_object_box_add()</a>, and <a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">evas_object_table_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8013936b96d99d2ff375ca2b0b287f39"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_calculate" ref="ga8013936b96d99d2ff375ca2b0b287f39" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_calculate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Call user provided calculate() and unset need_calculate. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga13db802166db6890fe25bf63143ad3ee"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_callback_add" ref="ga13db802166db6890fe25bf63143ad3ee" args="(Evas_Object *obj, const char *event, void(*func)(void *data, Evas_Object *obj, void *event_info), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>event</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *data, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *event_info)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add a callback for the smart event specified by <code>event</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>a smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>the event name </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>the callback function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>user data to be passed to the callback function </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga17bbe660f5bf9d8997913b08882f6f9e"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_callback_call" ref="ga17bbe660f5bf9d8997913b08882f6f9e" args="(Evas_Object *obj, const char *event, void *event_info)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_callback_call </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>event</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>event_info</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Call any smart callbacks on <code>obj</code> for <code>event</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>the event name </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>event_info</em>&nbsp;</td><td>an event specific struct of info to pass to the callback</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This should be called internally in the smart object when some specific event has occurred. The documentation for the smart object should include a list of possible events and what type of <code>event_info</code> to expect. </p>
+
+</div>
+</div>
+<a class="anchor" id="gab1f7248ecf036480e0fa2d1ca4e91c35"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_callback_del" ref="gab1f7248ecf036480e0fa2d1ca4e91c35" args="(Evas_Object *obj, const char *event, void(*func)(void *data, Evas_Object *obj, void *event_info))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_smart_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>event</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *data, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *event_info)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove a smart callback. </p>
+<p>Removes a callback that was added by <a class="el" href="group__Evas__Smart__Object__Group.html#ga13db802166db6890fe25bf63143ad3ee" title="Add a callback for the smart event specified by event.">evas_object_smart_callback_add()</a></p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>a smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>the event name </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>the callback function </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the data pointer </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf58d78bc21229defb9eafd541063391d"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_callbacks_descriptions_get" ref="gaf58d78bc21229defb9eafd541063391d" args="(const Evas_Object *obj, const Evas_Smart_Cb_Description ***class_descriptions, unsigned int *class_count, const Evas_Smart_Cb_Description ***instance_descriptions, unsigned int *instance_count)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_callbacks_descriptions_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***&nbsp;</td>
+          <td class="paramname"> <em>class_descriptions</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>class_count</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***&nbsp;</td>
+          <td class="paramname"> <em>instance_descriptions</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>instance_count</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the callbacks descriptions known by this smart object. </p>
+<p>This call retrieves processed callbacks descriptions for both instance and class. These arrays are sorted by description's name and are <code>NULL</code> terminated, so both <em>class_count</em> and <em>instance_count</em> can be ignored, the terminator <code>NULL</code> is not counted in these values.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>class_descriptions</em>&nbsp;</td><td>where to store class callbacks descriptions array, if any is known. If no descriptions are known, <code>NULL</code> is returned. This parameter may be <code>NULL</code> if it is not of interest. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>class_count</em>&nbsp;</td><td>returns how many class callbacks descriptions are known. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>instance_descriptions</em>&nbsp;</td><td>where to store instance callbacks descriptions array, if any is known. If no descriptions are known, <code>NULL</code> is returned. This parameter may be <code>NULL</code> if it is not of interest. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>instance_count</em>&nbsp;</td><td>returns how many instance callbacks descriptions are known.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>if just class descriptions are of interest, try <a class="el" href="group__Evas__Smart__Group.html#ga67ca7d389fd32a2dc4d7d6e29430d900" title="Get the callbacks known by this Evas_Smart.">evas_smart_callbacks_descriptions_get()</a> instead.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga67ca7d389fd32a2dc4d7d6e29430d900" title="Get the callbacks known by this Evas_Smart.">evas_smart_callbacks_descriptions_get()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf724dbb075cdaf2b4b44dd883b792dc3"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_callbacks_descriptions_set" ref="gaf724dbb075cdaf2b4b44dd883b792dc3" args="(Evas_Object *obj, const Evas_Smart_Cb_Description *descriptions)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_smart_callbacks_descriptions_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> *&nbsp;</td>
+          <td class="paramname"> <em>descriptions</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set smart object instance callbacks descriptions. </p>
+<p>These descriptions are hints to be used by introspection and are not enforced in any way.</p>
+<p>It will not be checked if instance callbacks descriptions have the same name as another in class. Both are kept in different arrays and users of <a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d" title="Get the callbacks descriptions known by this smart object.">evas_object_smart_callbacks_descriptions_get()</a> should handle this case as they wish.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>descriptions</em>&nbsp;</td><td>NULL terminated (name != NULL) array with descriptions. Array elements will not be modified, but reference to them and their contents will be made, so this array should be kept alive during object lifetime. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure.</dd></dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>while instance callbacks descriptions are possible, they are not recommended. Use class callbacks descriptions instead as they make user's life simpler and will use less memory as descriptions and arrays will be shared among all instances. </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Smart__Cb__Description.html#ab377859f4cfcf1c2dd3c149a76b70b53">_Evas_Smart_Cb_Description::name</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga20b3bce805c272f3d11f4ba0ae952dc6"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_changed" ref="ga20b3bce805c272f3d11f4ba0ae952dc6" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_changed </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mark smart object as changed, dirty. </p>
+<p>This will inform the scene that it changed and needs to be redraw, also setting need_recalculate on the given object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1" title="Set the need_recalculate flag of given smart object.">evas_object_smart_need_recalculate_set()</a>. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1">evas_object_smart_need_recalculate_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gae66fe763591e62621cf6352528d97e10">evas_object_box_align_set()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa06e910577a949fc55b3a661d17f2fb3">evas_object_box_append()</a>, <a class="el" href="group__Evas__Object__Box.html#ga9b1fc7ee0200ce3917da70b00fb8637c">evas_object_box_insert_after()</a>, <a class="el" href="group__Evas__Object__Box.html#ga01b2f0564057297d6853844b77fba3a6">evas_object_box_insert_at()</a>, <a class="el" href="group__Evas__Object__Box.html#ga5759fa41a7c3541f43ae98f58bd1ec85">evas_object_box_insert_before()</a>, <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570">evas_object_box_layout_set()</a>, <a class="el" href="group__Evas__Object__Box.html#ga56c828490bb5778be68908147c32fa6d">evas_object_box_option_property_vset()</a>, <a class="el" href="group__Evas__Object__Box.html#ga75ab3d2f84c328010c26a6b8d89c9c67">evas_object_box_padding_set()</a>, <a class="el" href="group__Evas__Object__Box.html#ga0fec96faf6bbc106b8af28ff479ddfc3">evas_object_box_prepend()</a>, <a class="el" href="group__Evas__Object__Box.html#ga90c644be44c06e2e4f966cb14b7a93a5">evas_object_box_remove()</a>, <a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">evas_object_box_remove_all()</a>, <a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">evas_object_box_remove_at()</a>, <a class="el" href="group__Evas__Object__Table.html#ga7299bcee8de1f9304fa31fff43347a45">evas_object_table_align_set()</a>, <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">evas_object_table_clear()</a>, <a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">evas_object_table_homogeneous_set()</a>, <a class="el" href="group__Evas__Object__Table.html#ga6c1129dcd7509ebde06cf753cf6a681d">evas_object_table_pack()</a>, <a class="el" href="group__Evas__Object__Table.html#ga6ea229f05036a9c5d30010ad40a30c66">evas_object_table_padding_set()</a>, and <a class="el" href="group__Evas__Object__Table.html#gac8b800b8a8f38589eae4b979ffc2d598">evas_object_table_unpack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad77ac4b3dcb2929ff7d02e76a26e272a"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_data_get" ref="gad77ac4b3dcb2929ff7d02e76a26e272a" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_smart_data_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieve user data stored on a smart object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The smart object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to data stored using <a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e" title="Store a pointer to user data for a smart object.">evas_object_smart_data_set()</a>, or NULL if none has been set. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">evas_object_smart_clipped_clipper_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae40928b2993cc169e606820ae21dbb6e"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_data_set" ref="gae40928b2993cc169e606820ae21dbb6e" args="(Evas_Object *obj, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_data_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Store a pointer to user data for a smart object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>A pointer to user data </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga88c6f460884a87d5a2915282ab1cf06f"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_member_add" ref="ga88c6f460884a87d5a2915282ab1cf06f" args="(Evas_Object *obj, Evas_Object *smart_obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_member_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>smart_obj</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set an evas object as a member of a smart object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The member object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>smart_obj</em>&nbsp;</td><td>The smart object</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Members will automatically be stacked and layered with the smart object. The various stacking function will operate on members relative to the other members instead of the entire canvas.</p>
+<p>Non-member objects can not interleave a smart object's members. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">evas_object_box_add_to()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa06e910577a949fc55b3a661d17f2fb3">evas_object_box_append()</a>, <a class="el" href="group__Evas__Object__Box.html#ga9b1fc7ee0200ce3917da70b00fb8637c">evas_object_box_insert_after()</a>, <a class="el" href="group__Evas__Object__Box.html#ga01b2f0564057297d6853844b77fba3a6">evas_object_box_insert_at()</a>, <a class="el" href="group__Evas__Object__Box.html#ga5759fa41a7c3541f43ae98f58bd1ec85">evas_object_box_insert_before()</a>, <a class="el" href="group__Evas__Object__Box.html#ga0fec96faf6bbc106b8af28ff479ddfc3">evas_object_box_prepend()</a>, <a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">evas_object_table_add_to()</a>, and <a class="el" href="group__Evas__Object__Table.html#ga6c1129dcd7509ebde06cf753cf6a681d">evas_object_table_pack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaffa3573bd0f16f3eb21c3da8122194f7"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_member_del" ref="gaffa3573bd0f16f3eb21c3da8122194f7" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_member_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Removes a member object from a smart object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the member object</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This removes a member object from a smart object. The object will still be on the canvas, but no longer associated with whichever smart object it was associated with. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga90c644be44c06e2e4f966cb14b7a93a5">evas_object_box_remove()</a>, <a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">evas_object_box_remove_all()</a>, <a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">evas_object_box_remove_at()</a>, <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>, <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">evas_object_table_clear()</a>, and <a class="el" href="group__Evas__Object__Table.html#gac8b800b8a8f38589eae4b979ffc2d598">evas_object_table_unpack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga38be19a4f09b071b3d984996b8f9b3ee"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_need_recalculate_get" ref="ga38be19a4f09b071b3d984996b8f9b3ee" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_smart_need_recalculate_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the current value of need_recalculate flag. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>this flag will be unset during the render phase, after calculate() is called if one is provided. If no calculate() is provided, then the flag will be left unchanged after render phase.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>if flag is set or not. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga58c34092eac9bfe6878b8e6ebc026de1"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_need_recalculate_set" ref="ga58c34092eac9bfe6878b8e6ebc026de1" args="(Evas_Object *obj, Eina_Bool value)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_need_recalculate_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the need_recalculate flag of given smart object. </p>
+<p>If this flag is set then calculate() callback (method) of the given smart object will be called, if one is provided, during render phase usually <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf" title="Force renderization of the given canvas.">evas_render()</a>. After this step, this flag will be automatically unset.</p>
+<p>If no calculate() is provided, this flag will be left unchanged.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>just setting this flag will not make scene dirty and <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf" title="Force renderization of the given canvas.">evas_render()</a> will have no effect. To do that, use <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6" title="Mark smart object as changed, dirty.">evas_object_smart_changed()</a>, that will automatically call this function with 1 as parameter.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>if one want to set or unset the need_recalculate flag. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaee8228f86a2a896112b3dbfe09d83511"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_parent_get" ref="gaee8228f86a2a896112b3dbfe09d83511" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_smart_parent_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the smart parent of an Evas_Object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the Evas_Object you want to get the parent </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the smart parent of <em>obj</em>, or NULL if <em>obj</em> is not a smart member of another Evas_Object </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Table.html#gac8b800b8a8f38589eae4b979ffc2d598">evas_object_table_unpack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab1423d63011d7f3679c95ea1638fa714"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_smart_get" ref="gab1423d63011d7f3679c95ea1638fa714" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a>* evas_object_smart_smart_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the Evas_Smart from which <code>obj</code> was created. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>a smart object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the Evas_Smart </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga21c7f06371bf49bebaba0df0b8c7cbef"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_type_check" ref="ga21c7f06371bf49bebaba0df0b8c7cbef" args="(const Evas_Object *obj, const char *type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_smart_type_check </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Checks the Smart type of the object and its parents. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the Evas_Object to check the type of </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>the type to check for </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if <em>obj</em> or any of its parents if of type <em>type</em>, EINA_FALSE otherwise </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f">_Evas_Smart_Class::name</a>, and <a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">_Evas_Smart_Class::parent</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2e93ee5ffcc0beec181cc640961ee3e6"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_type_check_ptr" ref="ga2e93ee5ffcc0beec181cc640961ee3e6" args="(const Evas_Object *obj, const char *type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_smart_type_check_ptr </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Checks the Smart type of the object and its parents using pointer comparison. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the Evas_Object to check the type of </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>the type to check for. Must be the name pointer in the smart class used to create the object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if <em>obj</em> or any of its parents if of type <em>type</em>, EINA_FALSE otherwise </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f">_Evas_Smart_Class::name</a>, and <a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">_Evas_Smart_Class::parent</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa30fa648297b723a73f28632d1dbec62"></a><!-- doxytag: member="evas_object_smart.c::evas_smart_objects_calculate" ref="gaa30fa648297b723a73f28632d1dbec62" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_smart_objects_calculate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Call user provided calculate() and unset need_calculate on all objects. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to calculate all objects in </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Utils.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/group__Evas__Utils.html
new file mode 100644 (file)
index 0000000..64c82fd
--- /dev/null
@@ -0,0 +1,579 @@
+<html>
+<head>
+    <title>Evas: General Utilities</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>General Utilities</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Some functions that are handy but are not specific of canvas or objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a">evas_load_error_str</a> (<a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a> error)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the given error code into a string describing it in english.  <a href="#ga50bb423e88ce97cf82cca9b316fc7a1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga2a28c2e6ecdc72189040ae3f5bd829d0">evas_color_hsv_to_rgb</a> (float h, float s, float v, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a given color from HSV to RGB format.  <a href="#ga2a28c2e6ecdc72189040ae3f5bd829d0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga4054acb14873d5923306ddde5537171d">evas_color_rgb_to_hsv</a> (int r, int g, int b, float *h, float *s, float *v)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a given color from RGB to HSV format.  <a href="#ga4054acb14873d5923306ddde5537171d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa">evas_color_argb_premul</a> (int a, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-multiplies a rgb triplet by an alpha factor.  <a href="#ga892ffc2ac011e24a141816e0c72f7dfa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga520b64aa41b81e13bf7fc9f16fd2f3e5">evas_color_argb_unpremul</a> (int a, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Undo pre-multiplication of a rgb triplet by an alpha factor.  <a href="#ga520b64aa41b81e13bf7fc9f16fd2f3e5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#gad61423a02fa7c3cb0293c3bdd5516216">evas_data_argb_premul</a> (unsigned int *data, unsigned int len)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-multiplies data by an alpha factor.  <a href="#gad61423a02fa7c3cb0293c3bdd5516216"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga6794135ce6545bd5e16f6563043a8f18">evas_data_argb_unpremul</a> (unsigned int *data, unsigned int len)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Undo pre-multiplication data by an alpha factor.  <a href="#ga6794135ce6545bd5e16f6563043a8f18"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga31161605cf449d16e0ea0183509a1e3b">evas_string_char_next_get</a> (const char *str, int pos, int *decoded)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the next character in the string.  <a href="#ga31161605cf449d16e0ea0183509a1e3b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga20119def41aa1f24aea7961b3fa0fd72">evas_string_char_prev_get</a> (const char *str, int pos, int *decoded)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the previous character in the string.  <a href="#ga20119def41aa1f24aea7961b3fa0fd72"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#gaf9edd726590b1f56ca3e566ba1a2dbb2">evas_string_char_len_get</a> (const char *str)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the length in characters of the string.  <a href="#gaf9edd726590b1f56ca3e566ba1a2dbb2"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Some functions that are handy but are not specific of canvas or objects. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga892ffc2ac011e24a141816e0c72f7dfa"></a><!-- doxytag: member="evas_main.c::evas_color_argb_premul" ref="ga892ffc2ac011e24a141816e0c72f7dfa" args="(int a, int *r, int *g, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_color_argb_premul </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Pre-multiplies a rgb triplet by an alpha factor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>The alpha factor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The Red component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The Green component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The Blue component of the color.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function pre-multiplies a given rbg triplet by an alpha factor. Alpha factor is used to define transparency. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga520b64aa41b81e13bf7fc9f16fd2f3e5"></a><!-- doxytag: member="evas_main.c::evas_color_argb_unpremul" ref="ga520b64aa41b81e13bf7fc9f16fd2f3e5" args="(int a, int *r, int *g, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_color_argb_unpremul </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Undo pre-multiplication of a rgb triplet by an alpha factor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>The alpha factor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The Red component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The Green component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The Blue component of the color.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function undoes pre-multiplication a given rbg triplet by an alpha factor. Alpha factor is used to define transparency.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa" title="Pre-multiplies a rgb triplet by an alpha factor.">evas_color_argb_premul()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2a28c2e6ecdc72189040ae3f5bd829d0"></a><!-- doxytag: member="evas_main.c::evas_color_hsv_to_rgb" ref="ga2a28c2e6ecdc72189040ae3f5bd829d0" args="(float h, float s, float v, int *r, int *g, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_color_hsv_to_rgb </td>
+          <td>(</td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>s</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>v</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert a given color from HSV to RGB format. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The Hue component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>The Saturation component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>The Value component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The Red component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The Green component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The Blue component of the color.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function converts a given color in HSV color format to RGB color format. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga4054acb14873d5923306ddde5537171d"></a><!-- doxytag: member="evas_main.c::evas_color_rgb_to_hsv" ref="ga4054acb14873d5923306ddde5537171d" args="(int r, int g, int b, float *h, float *s, float *v)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_color_rgb_to_hsv </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&nbsp;</td>
+          <td class="paramname"> <em>s</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&nbsp;</td>
+          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert a given color from RGB to HSV format. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The Red component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The Green component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The Blue component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The Hue component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>The Saturation component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>The Value component of the color.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function converts a given color in RGB color format to HSV color format. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad61423a02fa7c3cb0293c3bdd5516216"></a><!-- doxytag: member="evas_main.c::evas_data_argb_premul" ref="gad61423a02fa7c3cb0293c3bdd5516216" args="(unsigned int *data, unsigned int len)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_data_argb_premul </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Pre-multiplies data by an alpha factor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data value. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>The length value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function pre-multiplies a given data by an alpha factor. Alpha factor is used to define transparency. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga6794135ce6545bd5e16f6563043a8f18"></a><!-- doxytag: member="evas_main.c::evas_data_argb_unpremul" ref="ga6794135ce6545bd5e16f6563043a8f18" args="(unsigned int *data, unsigned int len)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_data_argb_unpremul </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Undo pre-multiplication data by an alpha factor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data value. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>The length value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function undoes pre-multiplication of a given data by an alpha factor. Alpha factor is used to define transparency. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga50bb423e88ce97cf82cca9b316fc7a1a"></a><!-- doxytag: member="evas_main.c::evas_load_error_str" ref="ga50bb423e88ce97cf82cca9b316fc7a1a" args="(Evas_Load_Error error)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_load_error_str </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a>&nbsp;</td>
+          <td class="paramname"> <em>error</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Converts the given error code into a string describing it in english. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>the error code. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Always return a valid string. If given <code>error</code> is not supported "Unknown error" is returned. </dd></dl>
+
+<p>References <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75">EVAS_LOAD_ERROR_CORRUPT_FILE</a>, <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529">EVAS_LOAD_ERROR_DOES_NOT_EXIST</a>, <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d">EVAS_LOAD_ERROR_GENERIC</a>, <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac">EVAS_LOAD_ERROR_NONE</a>, <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200">EVAS_LOAD_ERROR_PERMISSION_DENIED</a>, <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4">EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED</a>, and <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80">EVAS_LOAD_ERROR_UNKNOWN_FORMAT</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf9edd726590b1f56ca3e566ba1a2dbb2"></a><!-- doxytag: member="evas_object_text.c::evas_string_char_len_get" ref="gaf9edd726590b1f56ca3e566ba1a2dbb2" args="(const char *str)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_string_char_len_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the length in characters of the string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The string to get the length of. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The length in characters (not bytes) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga31161605cf449d16e0ea0183509a1e3b"></a><!-- doxytag: member="evas_object_text.c::evas_string_char_next_get" ref="ga31161605cf449d16e0ea0183509a1e3b" args="(const char *str, int pos, int *decoded)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_string_char_next_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>decoded</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the next character in the string. </p>
+<p>Given the UTF-8 string in <code>str</code>, and starting byte position in <code>pos</code>, this function will place in <code>decoded</code> the decoded code point at <code>pos</code> and return the byte index for the next character in the string.</p>
+<p>The only boundary check done is that <code>pos</code> must be &gt;= 0. Other than that, no checks are performed, so passing an index value that's not within the length of the string will result in undefined behavior.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The UTF-8 string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>The byte index where to start </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>decoded</em>&nbsp;</td><td>Address where to store the decoded code point. Optional.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The byte index of the next character </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga20119def41aa1f24aea7961b3fa0fd72"></a><!-- doxytag: member="evas_object_text.c::evas_string_char_prev_get" ref="ga20119def41aa1f24aea7961b3fa0fd72" args="(const char *str, int pos, int *decoded)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_string_char_prev_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>decoded</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the previous character in the string. </p>
+<p>Given the UTF-8 string in <code>str</code>, and starting byte position in <code>pos</code>, this function will place in <code>decoded</code> the decoded code point at <code>pos</code> and return the byte index for the previous character in the string.</p>
+<p>The only boundary check done is that <code>pos</code> must be &gt;= 1. Other than that, no checks are performed, so passing an index value that's not within the length of the string will result in undefined behavior.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The UTF-8 string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>The byte index where to start </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>decoded</em>&nbsp;</td><td>Address where to store the decoded code point. Optional.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The byte index of the previous character </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/head_bg.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/head_bg.png
new file mode 100644 (file)
index 0000000..081dc13
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/head_bg.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/hierarchy.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/hierarchy.html
new file mode 100644 (file)
index 0000000..585861e
--- /dev/null
@@ -0,0 +1,118 @@
+<html>
+<head>
+    <title>Evas: Hierarchical Index</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Class Hierarchy</h1>  </div>
+</div>
+<div class="contents">
+This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="struct__Evas__Coord__Rectangle.html">_Evas_Coord_Rectangle</a></li>
+<li><a class="el" href="struct__Evas__Cserve__Config.html">_Evas_Cserve_Config</a></li>
+<li><a class="el" href="struct__Evas__Cserve__Image.html">_Evas_Cserve_Image</a></li>
+<li><a class="el" href="struct__Evas__Cserve__Image__Cache.html">_Evas_Cserve_Image_Cache</a></li>
+<li><a class="el" href="struct__Evas__Cserve__Stats.html">_Evas_Cserve_Stats</a></li>
+<li><a class="el" href="struct__Evas__Engine__Info.html">_Evas_Engine_Info</a></li>
+<li><a class="el" href="struct__Evas__Event__Hold.html">_Evas_Event_Hold</a></li>
+<li><a class="el" href="struct__Evas__Event__Key__Down.html">_Evas_Event_Key_Down</a></li>
+<li><a class="el" href="struct__Evas__Event__Key__Up.html">_Evas_Event_Key_Up</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__Down.html">_Evas_Event_Mouse_Down</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__In.html">_Evas_Event_Mouse_In</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__Move.html">_Evas_Event_Mouse_Move</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__Out.html">_Evas_Event_Mouse_Out</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__Up.html">_Evas_Event_Mouse_Up</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__Wheel.html">_Evas_Event_Mouse_Wheel</a></li>
+<li><a class="el" href="struct__Evas__Event__Multi__Down.html">_Evas_Event_Multi_Down</a></li>
+<li><a class="el" href="struct__Evas__Event__Multi__Move.html">_Evas_Event_Multi_Move</a></li>
+<li><a class="el" href="struct__Evas__Event__Multi__Up.html">_Evas_Event_Multi_Up</a></li>
+<li><a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a></li>
+<li><a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a></li>
+<li><a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a><ul>
+<li><a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a></li>
+</ul>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/index.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/index.html
new file mode 100644 (file)
index 0000000..7ac035f
--- /dev/null
@@ -0,0 +1,522 @@
+<html>
+<head>
+    <title>Evas: Evas</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Evas </h1>  </div>
+</div>
+<div class="contents">
+<div align="center">
+<img src="e_big.png" alt="e_big.png"/>
+</div>
+<dl class="version"><dt><b>Version:</b></dt><dd>1.0.999.0 </dd></dl>
+<dl class="author"><dt><b>Author:</b></dt><dd>Carsten Haitzler &lt;raster@rasterman.com&gt; </dd>
+<dd>
+Till Adam &lt;till@adam-lilienthal.de&gt; </dd>
+<dd>
+Steve Ireland &lt;sireland@pobox.com&gt; </dd>
+<dd>
+Brett Nash &lt;nash@nash.id.au&gt; </dd>
+<dd>
+Tilman Sauerbeck &lt;tilman@code-monkey.de&gt; </dd>
+<dd>
+Corey Donohoe &lt;atmos@atmos.org&gt; </dd>
+<dd>
+Yuri Hudobin &lt;glassy_ape@users.sourceforge.net&gt; </dd>
+<dd>
+Nathan Ingersoll &lt;ningerso@d.umn.edu&gt; </dd>
+<dd>
+Willem Monsuwe &lt;willem@stack.nl&gt; </dd>
+<dd>
+Jose O Gonzalez &lt;jose_ogp@juno.com&gt; </dd>
+<dd>
+Bernhard Nemec &lt;Bernhard.Nemec@viasyshc.com&gt; </dd>
+<dd>
+Jorge Luis Zapata Muga &lt;jorgeluis.zapata@gmail.com&gt; </dd>
+<dd>
+Cedric Bail &lt;cedric.bail@free.fr&gt; </dd>
+<dd>
+Gustavo Sverzut Barbieri &lt;barbieri@profusion.mobi&gt; </dd>
+<dd>
+Vincent Torri &lt;vtorri@univ-evry.fr&gt; </dd>
+<dd>
+Tim Horton &lt;hortont424@gmail.com&gt; </dd>
+<dd>
+Tom Hacohen &lt;tom@stosb.com&gt; </dd>
+<dd>
+Mathieu Taillefumier &lt;mathieu.taillefumier@free.fr&gt; </dd>
+<dd>
+Iván Briano &lt;ivan@profusion.mobi&gt; </dd>
+<dd>
+Gustavo Lima Chaves &lt;glima@profusion.mobi&gt; </dd>
+<dd>
+Samsung Electronics &lt;tbd&gt; </dd>
+<dd>
+Samsung SAIT &lt;tbd&gt; </dd>
+<dd>
+Sung W. Park &lt;sungwoo@gmail.com&gt; </dd>
+<dd>
+Jiyoun Park &lt;jy0703.park@samsung.com&gt; </dd></dl>
+<dl class="date"><dt><b>Date:</b></dt><dd>2000-2011</dd></dl>
+<h2><a class="anchor" id="toc"></a>
+Table of Contents</h2>
+<ul>
+<li><a class="el" href="index.html#intro">What is Evas?</a> </li>
+<li><a class="el" href="index.html#work">How does Evas work?</a> </li>
+<li><a class="el" href="index.html#compiling">How to compile using Evas ?</a> </li>
+<li><a class="el" href="index.html#install">How is it installed?</a> </li>
+<li><a class="el" href="index.html#next_steps">Next Steps</a> </li>
+<li><a class="el" href="index.html#intro_example">Introductory Example</a></li>
+</ul>
+<h2><a class="anchor" id="intro"></a>
+What is Evas?</h2>
+<p>Evas is a clean display canvas API for several target display systems that can draw anti-aliased text, smooth super and sub-sampled scaled images, alpha-blend objects much and more.</p>
+<p>It abstracts any need to know much about what the characteristics of your display system are or what graphics calls are used to draw them and how. It deals on an object level where all you do is create and manipulate objects in a canvas, set their properties, and the rest is done for you.</p>
+<p>Evas optimises the rendering pipeline to minimise effort in redrawing changes made to the canvas and so takes this work out of the programmers hand, saving a lot of time and energy.</p>
+<p>It's small and lean, designed to work on embedded systems all the way to large and powerful multi-cpu workstations. It can be compiled to only have the features you need for your target platform if you so wish, thus keeping it small and lean. It has several display back-ends, letting it display on several display systems, making it portable for cross-device and cross-platform development.</p>
+<h3><a class="anchor" id="intro_not_evas"></a>
+What Evas is not?</h3>
+<p>Evas is not a widget set or widget toolkit, however it is their base. See Elementary (<a href="http://docs.enlightenment.org/auto/elementary/">http://docs.enlightenment.org/auto/elementary/</a>) for a toolkit based on Evas, Edje, Ecore and other Enlightenment technologies.</p>
+<p>It is not dependent or aware of main loops, input or output systems. Input should be polled from various sources and feed them to Evas. Similarly, it will not create windows or report windows updates to your system, rather just drawing the pixels and reporting to the user the areas that were changed. Of course these operations are quite common and thus they are ready to use in Ecore, particularly in Ecore_Evas (<a href="http://docs.enlightenment.org/auto/ecore/">http://docs.enlightenment.org/auto/ecore/</a>).</p>
+<h2><a class="anchor" id="work"></a>
+How does Evas work?</h2>
+<p>Evas is a canvas display library. This is markedly different from most display and windowing systems as a Canvas is structural and is also a state engine, whereas most display and windowing systems are immediate mode display targets. Evas handles the logic between a structural display via its' state engine, and controls the target windowing system in order to produce rendered results of the current canvases state on the display.</p>
+<p>Immediate mode display systems retain very little, or no state. A program will execute a series of commands, as in the pseudo code:</p>
+<div class="fragment"><pre class="fragment">
+draw line from position (0, 0) to position (100, 200);
+
+draw rectangle from position (10, 30) to position (50, 500);
+
+bitmap_handle = create_bitmap();
+scale bitmap_handle to size 100 x 100;
+draw image bitmap_handle at position (10, 30);
+</pre></div><p>The series of commands is executed by the windowing system and the results are displayed on the screen (normally). Once the commands are executed the display system has little or no idea of how to reproduce this image again, and so has to be instructed by the application how to redraw sections of the screen whenever needed. Each successive command will be executed as instructed by the application and either emulated by software or sent to the graphics hardware on the device to be performed.</p>
+<p>The advantage of such a system is that it is simple, and gives a program tight control over how something looks and is drawn. Given the increasing complexity of displays and demands by users to have better looking interfaces, more and more work is needing to be done at this level by the internals of widget sets, custom display widgets and other programs. This means more and more logic and display rendering code needs to be written time and time again, each time the application needs to figure out how to minimise redraws so that display is fast and interactive, and keep track of redraw logic. The power comes at a high-price, lots of extra code and work. Programmers not very familiar with graphics programming will often make mistakes at this level and produce code that is sub optimal. Those familiar with this kind of programming will simply get bored by writing the same code again and again.</p>
+<p>For example, if in the above scene, the windowing system requires the application to redraw the area from 0, 0 to 50, 50 (also referred as "expose event"), then the programmer must calculate manually the updates and repaint it again:</p>
+<div class="fragment"><pre class="fragment">
+Redraw from position (0, 0) to position (50, 50):
+
+// what was in area (0, 0, 50, 50)?
+
+// 1. intersection part of line (0, 0) to (100, 200)?
+      draw line from position (0, 0) to position (25, 50);
+
+// 2. intersection part of rectangle (10, 30) to (50, 500)?
+      draw rectangle from position (10, 30) to position (50, 50)
+
+// 3. intersection part of image at (10, 30), size 100 x 100?
+      bitmap_subimage = subregion from position (0, 0) to position (40, 20)
+      draw image bitmap_subimage at position (10, 30);
+</pre></div><p>The clever reader might have noticed that, if all elements in the above scene are opaque, then the system is doing useless paints: part of the line is behind the rectangle, and part of the rectangle is behind the image. These useless paints tends to be very costly, as pixels tend to be 4 bytes in size, thus an overlapping region of 100 x 100 pixels is around 40000 useless writes! The developer could write code to calculate the overlapping areas and avoid painting then, but then it should be mixed with the "expose event" handling mentioned above and quickly one realizes the initially simpler method became really complex.</p>
+<p>Evas is a structural system in which the programmer creates and manages display objects and their properties, and as a result of this higher level state management, the canvas is able to redraw the set of objects when needed to represent the current state of the canvas.</p>
+<p>For example, the pseudo code:</p>
+<div class="fragment"><pre class="fragment">
+line_handle = create_line();
+set line_handle from position (0, 0) to position (100, 200);
+show line_handle;
+
+rectangle_handle = create_rectangle();
+move rectangle_handle to position (10, 30);
+resize rectangle_handle to size 40 x 470;
+show rectangle_handle;
+
+bitmap_handle = create_bitmap();
+scale bitmap_handle to size 100 x 100;
+move bitmap_handle to position (10, 30);
+show bitmap_handle;
+
+render scene;
+</pre></div><p>This may look longer, but when the display needs to be refreshed or updated, the programmer only moves, resizes, shows, hides etc. the objects that they need to change. The programmer simply thinks at the object logic level, and the canvas software does the rest of the work for them, figuring out what actually changed in the canvas since it was last drawn, how to most efficiently redraw he canvas and its contents to reflect the current state, and then it can go off and do the actual drawing of the canvas.</p>
+<p>This lets the programmer think in a more natural way when dealing with a display, and saves time and effort of working out how to load and display images, render given the current display system etc. Since Evas also is portable across different display systems, this also gives the programmer the ability to have their code ported and display on different display systems with very little work.</p>
+<p>Evas can be seen as a display system that stands somewhere between a widget set and an immediate mode display system. It retains basic display logic, but does very little high-level logic such as scrollbars, sliders, push buttons etc.</p>
+<h2><a class="anchor" id="compiling"></a>
+How to compile using Evas ?</h2>
+<p>Evas is a library your application links to. The procedure for this is very simple. You simply have to compile your application with the appropriate compiler flags that the <code>pkg-config</code> script outputs. For example:</p>
+<p>Compiling C or C++ files into object files:</p>
+<div class="fragment"><pre class="fragment">
+gcc -c -o main.o main.c `pkg-config --cflags evas`
+</pre></div><p>Linking object files into a binary executable:</p>
+<div class="fragment"><pre class="fragment">
+gcc -o my_application main.o `pkg-config --libs evas`
+</pre></div><p>You simply have to make sure that pkg-config is in your shell's PATH (see the manual page for your appropriate shell) and evas.pc in /usr/lib/pkgconfig or its path is in the PKG_CONFIG_PATH environment variable. It's that simple to link and use Evas once you have written your code to use it.</p>
+<p>Since the program is linked to Evas, it is now able to use any advertised API calls to display graphics in a canvas managed by Evas, as well as use the API calls provided to manage data as well.</p>
+<p>You should make sure you add any extra compile and link flags to your compile commands that your application may need as well. The above example is only guaranteed to make Evas add it's own requirements.</p>
+<h2><a class="anchor" id="install"></a>
+How is it installed?</h2>
+<p>Simple:</p>
+<div class="fragment"><pre class="fragment">
+./configure
+make
+su -
+...
+make install
+</pre></div><h2><a class="anchor" id="next_steps"></a>
+Next Steps</h2>
+<p>After you understood what Evas is and installed it in your system you should proceed understanding the programming interface for all objects, then see the specific for the most used elements. We'd recommend you to take a while to learn Ecore (<a href="http://docs.enlightenment.org/auto/ecore/">http://docs.enlightenment.org/auto/ecore/</a>) and Edje (<a href="http://docs.enlightenment.org/auto/edje/">http://docs.enlightenment.org/auto/edje/</a>) as they will likely save you tons of work compared to using just Evas directly.</p>
+<p>Recommended reading:</p>
+<ul>
+<li><a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a> </li>
+<li><a class="el" href="group__Evas__Object__Rectangle.html">Rectangle Object Functions</a> </li>
+<li><a class="el" href="group__Evas__Object__Image.html">Image Object Functions</a> </li>
+<li><a class="el" href="group__Evas__Object__Text.html">Text Object Functions</a> </li>
+<li><a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a> and <a class="el" href="group__Evas__Smart__Group.html">Smart Functions</a> to define an object that provides custom functions to handle clipping, hiding, moving, resizing, setting the color and more. These could be as simple as a group of objects that move together (see <a class="el" href="group__Evas__Smart__Object__Clipped.html">Clipped Smart Object</a>). These smart objects can implement what ends to be a widget, providing some intelligence (thus the name), like a button or check box.</li>
+</ul>
+<h2><a class="anchor" id="intro_example"></a>
+Introductory Example</h2>
+<div class="fragment"><pre class="fragment"><span class="comment">/**</span>
+<span class="comment"> * Simple Evas example using the Buffer engine.</span>
+<span class="comment"> *</span>
+<span class="comment"> * You must have Evas compiled with the buffer engine, and have the</span>
+<span class="comment"> * evas-software-buffer pkg-config files installed.</span>
+<span class="comment"> *</span>
+<span class="comment"> * Compile with:</span>
+<span class="comment"> *</span>
+<span class="comment"> * @verbatim</span>
+<span class="comment"> * gcc -o evas-buffer-simple evas-buffer-simple.c `pkg-config --libs --cflags evas evas-software-buffer`</span>
+<span class="comment"> * @endverbatim</span>
+<span class="comment"> *</span>
+<span class="comment"> */</span>
+<span class="preprocessor">#include &lt;<a class="code" href="Evas_8h.html" title="These routines are used for Evas library interaction.">Evas.h</a>&gt;</span>
+<span class="preprocessor">#include &lt;Evas_Engine_Buffer.h&gt;</span>
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<span class="preprocessor">#include &lt;errno.h&gt;</span>
+
+<span class="preprocessor">#define WIDTH (320)</span>
+<span class="preprocessor"></span><span class="preprocessor">#define HEIGHT (240)</span>
+<span class="preprocessor"></span>
+<span class="comment">/*</span>
+<span class="comment"> * create_canvas(), destroy_canvas() and draw_scene() are support functions.</span>
+<span class="comment"> *</span>
+<span class="comment"> * They are only required to use raw Evas, but for real world usage,</span>
+<span class="comment"> * it is recommended to use ecore and its ecore-evas submodule, that</span>
+<span class="comment"> * provide convenience canvas creators, integration with main loop and</span>
+<span class="comment"> * automatic render of updates (draw_scene()) when system goes back to</span>
+<span class="comment"> * main loop.</span>
+<span class="comment"> */</span>
+<span class="keyword">static</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *create_canvas(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
+<span class="keyword">static</span> <span class="keywordtype">void</span> destroy_canvas(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas);
+<span class="keyword">static</span> <span class="keywordtype">void</span> draw_scene(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas);
+
+<span class="comment">// support function to save scene as PPM image</span>
+<span class="keyword">static</span> <span class="keywordtype">void</span> save_scene(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas, <span class="keyword">const</span> <span class="keywordtype">char</span> *dest);
+
+<span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)
+{
+   <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas;
+   <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *bg, *r1, *r2, *r3;
+
+   <a class="code" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init</a>();
+
+   <span class="comment">// create your canvas</span>
+   <span class="comment">// NOTE: consider using ecore_evas_buffer_new() instead!</span>
+   canvas = create_canvas(WIDTH, HEIGHT);
+   <span class="keywordflow">if</span> (!canvas)
+     <span class="keywordflow">return</span> -1;
+
+   bg = <a class="code" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa" title="Adds a rectangle to the given evas.">evas_object_rectangle_add</a>(canvas);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(bg, 255, 255, 255, 255); <span class="comment">// white bg</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(bg, 0, 0);                    <span class="comment">// at origin</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(bg, WIDTH, HEIGHT);         <span class="comment">// covers full canvas</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(bg);
+
+   puts(<span class="stringliteral">&quot;initial scene, with just background:&quot;</span>);
+   draw_scene(canvas);
+
+   r1 = <a class="code" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa" title="Adds a rectangle to the given evas.">evas_object_rectangle_add</a>(canvas);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(r1, 255, 0, 0, 255); <span class="comment">// 100% opaque red</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(r1, 10, 10);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(r1, 100, 100);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(r1);
+
+   <span class="comment">// pay attention to transparency! Evas color values are pre-multiplied by</span>
+   <span class="comment">// alpha, so 50% opaque green is:</span>
+   <span class="comment">// non-premul: r=0, g=255, b=0    a=128 (50% alpha)</span>
+   <span class="comment">// premul:</span>
+   <span class="comment">//         r_premul = r * a / 255 =      0 * 128 / 255 =      0</span>
+   <span class="comment">//         g_premul = g * a / 255 =    255 * 128 / 255 =    128</span>
+   <span class="comment">//         b_premul = b * a / 255 =      0 * 128 / 255 =      0</span>
+   <span class="comment">//</span>
+   <span class="comment">// this 50% green is over a red background, so it will show in the</span>
+   <span class="comment">// final output as yellow (green + red = yellow)</span>
+   r2 = <a class="code" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa" title="Adds a rectangle to the given evas.">evas_object_rectangle_add</a>(canvas);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(r2, 0, 128, 0, 128); <span class="comment">// 50% opaque green</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(r2, 10, 10);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(r2, 50, 50);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(r2);
+
+   r3 = <a class="code" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa" title="Adds a rectangle to the given evas.">evas_object_rectangle_add</a>(canvas);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(r3, 0, 128, 0, 255); <span class="comment">// 100% opaque dark green</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(r3, 60, 60);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(r3, 50, 50);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(r3);
+
+   puts(<span class="stringliteral">&quot;final scene (note updates):&quot;</span>);
+   draw_scene(canvas);
+   save_scene(canvas, <span class="stringliteral">&quot;/tmp/evas-buffer-simple-render.ppm&quot;</span>);
+
+   <span class="comment">// NOTE: use ecore_evas_buffer_new() and here ecore_evas_free()</span>
+   destroy_canvas(canvas);
+
+   <a class="code" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed" title="Shutdown Evas.">evas_shutdown</a>();
+
+   <span class="keywordflow">return</span> 0;
+}
+
+<span class="keyword">static</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *create_canvas(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height)
+{
+   <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas;
+   Evas_Engine_Info_Buffer *einfo;
+   <span class="keywordtype">int</span> method;
+   <span class="keywordtype">void</span> *pixels;
+
+   method = <a class="code" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b" title="Look up a numeric ID from a string name of a rendering engine.">evas_render_method_lookup</a>(<span class="stringliteral">&quot;buffer&quot;</span>);
+   <span class="keywordflow">if</span> (method &lt;= 0)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: evas was not compiled with &#39;buffer&#39; engine!\n&quot;</span>, stderr);
+        <span class="keywordflow">return</span> NULL;
+     }
+
+   canvas = <a class="code" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87" title="Creates a new empty evas.">evas_new</a>();
+   <span class="keywordflow">if</span> (!canvas)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: could not instantiate new evas canvas.\n&quot;</span>, stderr);
+        <span class="keywordflow">return</span> NULL;
+     }
+
+   <a class="code" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11" title="Sets the output engine for the given evas.">evas_output_method_set</a>(canvas, method);
+   <a class="code" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063" title="Sets the output size of the render engine of the given evas.">evas_output_size_set</a>(canvas, width, height);
+   <a class="code" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08" title="Sets the output viewport of the given evas in evas units.">evas_output_viewport_set</a>(canvas, 0, 0, width, height);
+
+   einfo = (Evas_Engine_Info_Buffer *)<a class="code" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713" title="Retrieves the current render engine info struct from the given evas.">evas_engine_info_get</a>(canvas);
+   <span class="keywordflow">if</span> (!einfo)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: could not get evas engine info!\n&quot;</span>, stderr);
+        <a class="code" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free</a>(canvas);
+        <span class="keywordflow">return</span> NULL;
+     }
+
+   <span class="comment">// ARGB32 is sizeof(int), that is 4 bytes, per pixel</span>
+   pixels = malloc(width * height * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));
+   <span class="keywordflow">if</span> (!pixels)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: could not allocate canvas pixels!\n&quot;</span>, stderr);
+        <a class="code" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free</a>(canvas);
+        <span class="keywordflow">return</span> NULL;
+     }
+
+   einfo-&gt;info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
+   einfo-&gt;info.dest_buffer = pixels;
+   einfo-&gt;info.dest_buffer_row_bytes = width * <span class="keyword">sizeof</span>(int);
+   einfo-&gt;info.use_color_key = 0;
+   einfo-&gt;info.alpha_threshold = 0;
+   einfo-&gt;info.func.new_update_region = NULL;
+   einfo-&gt;info.func.free_update_region = NULL;
+   <a class="code" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604" title="Applies the engine settings for the given evas from the given Evas_Engine_Info structure.">evas_engine_info_set</a>(canvas, (<a class="code" href="struct__Evas__Engine__Info.html" title="Generic engine information.">Evas_Engine_Info</a> *)einfo);
+
+   <span class="keywordflow">return</span> canvas;
+}
+
+<span class="keyword">static</span> <span class="keywordtype">void</span> destroy_canvas(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas)
+{
+   Evas_Engine_Info_Buffer *einfo;
+
+   einfo = (Evas_Engine_Info_Buffer *)<a class="code" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713" title="Retrieves the current render engine info struct from the given evas.">evas_engine_info_get</a>(canvas);
+   <span class="keywordflow">if</span> (!einfo)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: could not get evas engine info!\n&quot;</span>, stderr);
+        <a class="code" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free</a>(canvas);
+        <span class="keywordflow">return</span>;
+     }
+
+   free(einfo-&gt;info.dest_buffer);
+   <a class="code" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free</a>(canvas);
+}
+
+<span class="keyword">static</span> <span class="keywordtype">void</span> draw_scene(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas)
+{
+   Eina_List *updates, *n;
+   Eina_Rectangle *update;
+
+   <span class="comment">// render and get the updated rectangles:</span>
+   updates = <a class="code" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca" title="Force immediate renderization of the given canvas.">evas_render_updates</a>(canvas);
+
+   <span class="comment">// informative only here, just print the updated areas:</span>
+   EINA_LIST_FOREACH(updates, n, update)
+     printf(&quot;UPDATED REGION: pos: %3d, %3d    size: %3dx%3d\n&quot;,
+            update-&gt;x, update-&gt;y, update-&gt;w, update-&gt;h);
+
+   <span class="comment">// free list of updates</span>
+   <a class="code" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b" title="Free the rectangles returned by evas_render_updates().">evas_render_updates_free</a>(updates);
+}
+
+static <span class="keywordtype">void</span> save_scene(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas, const <span class="keywordtype">char</span> *dest)
+{
+   Evas_Engine_Info_Buffer *einfo;
+   <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *pixels, *pixels_end;
+   <span class="keywordtype">int</span> width, height;
+   FILE *f;
+
+   einfo = (Evas_Engine_Info_Buffer *)<a class="code" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713" title="Retrieves the current render engine info struct from the given evas.">evas_engine_info_get</a>(canvas);
+   <span class="keywordflow">if</span> (!einfo)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: could not get evas engine info!\n&quot;</span>, stderr);
+        <span class="keywordflow">return</span>;
+     }
+   <a class="code" href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a" title="Retrieve the output size of the render engine of the given evas.">evas_output_size_get</a>(canvas, &amp;width, &amp;height);
+
+   f = fopen(dest, <span class="stringliteral">&quot;wb+&quot;</span>);
+   <span class="keywordflow">if</span> (!f)
+     {
+        fprintf(stderr, <span class="stringliteral">&quot;ERROR: could not open for writing &#39;%s&#39;: %s\n&quot;</span>,
+                dest, strerror(errno));
+        <span class="keywordflow">return</span>;
+     }
+
+   pixels = einfo-&gt;info.dest_buffer;
+   pixels_end = pixels + (width * height);
+
+   <span class="comment">// PPM P6 format is dead simple to write:</span>
+   fprintf(f, <span class="stringliteral">&quot;P6\n%d %d\n255\n&quot;</span>,  width, height);
+   <span class="keywordflow">for</span> (; pixels &lt; pixels_end; pixels++)
+     {
+        <span class="keywordtype">int</span> r, g, b;
+
+        r = ((*pixels) &amp; 0xff0000) &gt;&gt; 16;
+        g = ((*pixels) &amp; 0x00ff00) &gt;&gt; 8;
+        b = (*pixels) &amp; 0x0000ff;
+
+        fprintf(f, <span class="stringliteral">&quot;%c%c%c&quot;</span>, r, g, b);
+     }
+
+   fclose(f);
+   printf(<span class="stringliteral">&quot;saved scene as &#39;%s&#39;\n&quot;</span>, dest);
+}
+</pre></div><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd><p class="startdd">(1.0) Need a way ot scaling an image and just PRODUCING the output (scaling direct to target buffe r- no blend/copy etc.) </p>
+<p>(1.0) Could improve evas's scaling down code to limit multiple samples per output pixel to maybe 2x2? </p>
+<p>(1.0) Document API </p>
+<p>(1.0) Evas needs to check delete_me member for all object functions </p>
+<p>(1.0) Evas engine that renders to Evas_Objects </p>
+<p>(1.0) OpenGL engine needs to use texture meshes </p>
+<p>(1.0) OpenGL engine needs texture cache and size setting </p>
+<p>(1.0) OpenGL Engine needs YUV import API to YUV texture </p>
+<p>(1.0) All engines need pixel import API </p>
+<p>(1.0) Add parital render through composite layer api to engines </p>
+<p>(1.0) Move callback processing to a queue and do it asynchronously??? </p>
+<p>(1.0) Add button grabbing </p>
+<p>(1.0) Add generic object method call system </p>
+<p>(1.0) Add callbacks set for smart object parents to be set on all child smart objects too. </p>
+<p>(1.0) Add font load query calls (so we know if a font load failed) </p>
+<p>(1.0) Add font listing calls </p>
+<p>(1.0) Add ability to check image comments &amp; disk format </p>
+<p>(1.0) Add fontset support </p>
+<p>(1.0) Export engine rendering API cleanly to Evas API </p>
+<p>(1.0) Add smart object ability to provide rendering callback </p>
+<p>(1.1) Make freetype optional and put in optional graymap font engine </p>
+<p>(1.1) Free images if object invisible (and put back in chache) </p>
+<p>(1.1) Check robustness of malloc/calloc/realloc failures. </p>
+<p>(1.1) Add memory use reduction code if any allocations fail </p>
+<p>(1.1) If image loads fails due to memory allocatue failure, load reduced res version </p>
+<p>(1.1) If image load fails due to memory allocation failure, try split it up into tiles and demand-load them </p>
+<p>(1.2) Add external image loaders (application provided callbacks to load) </p>
+<p>(1.2) Add loadable image loader module support (evas loads file.so) </p>
+<p>(1.2) Add external image loader modules (application provides path to file.so) </p>
+<p>(1.3) Add X11 primtive engine (ie pixmap) </p>
+<p>(1.3) Add immediate mode drawing commands to image objects </p>
+<p>(1.3) Fix FB engine to allocate vt and release properly </p>
+<p>(1.4) Add ellipse objects (circle, arc, ellipse etc.) </p>
+<p>(1.5) Make software engine draw lines &amp; polys etc. with aa </p>
+<p>(1.5) Add radial gradients to gradient objects </p>
+<p>(1.5) Add Symbian Engine </p>
+<p>(1.6) Add PalmOS Engine </p>
+<p>(1.6) Add Apple OpenGL Engine </p>
+<p>(1.7) Document engine API and other internals </p>
+<p>(1.7) Allow any object to clip any other object, and not just rectangles </p>
+<p>(1.8) Add more evas demos </p>
+<p>(1.9) Write the error mechanism in evas_xcb_buffer.c </p>
+<p>(1.9) Rewrite the render xcb engine </p>
+<p class="enddd">(1.10) Improve Win32 Direct3D Engine</p>
+</dd></dl>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:29</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg.png
new file mode 100644 (file)
index 0000000..e978743
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_current.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_current.png
new file mode 100644 (file)
index 0000000..de97c92
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_current.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_hover.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_hover.png
new file mode 100644 (file)
index 0000000..3fd851d
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_hover.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_last.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_last.png
new file mode 100644 (file)
index 0000000..88c116c
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_last.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_unsel.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_unsel.png
new file mode 100644 (file)
index 0000000..50e5fd8
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/menu_bg_unsel.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/modules.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/modules.html
new file mode 100644 (file)
index 0000000..4c192d3
--- /dev/null
@@ -0,0 +1,138 @@
+<html>
+<head>
+    <title>Evas: Module Index</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Modules</h1>  </div>
+</div>
+<div class="contents">
+Here is a list of all modules:<ul>
+<li><a class="el" href="group__Evas__Group.html">Top Level Functions</a></li>
+<li><a class="el" href="group__Evas__Canvas.html">Canvas Functions</a><ul>
+<li><a class="el" href="group__Evas__Output__Method.html">Render Engine Functions</a></li>
+<li><a class="el" href="group__Evas__Output__Size.html">Output and Viewport Resizing Functions</a></li>
+<li><a class="el" href="group__Evas__Coord__Mapping__Group.html">Coordinate Mapping Functions</a></li>
+<li><a class="el" href="group__Evas__Pointer__Group.html">Pointer (Mouse) Functions</a></li>
+<li><a class="el" href="group__Evas__Event__Freezing__Group.html">Event Freezing Functions</a></li>
+<li><a class="el" href="group__Evas__Event__Feeding__Group.html">Event Feeding Functions</a></li>
+<li><a class="el" href="group__Evas__Canvas__Events.html">Canvas Events</a></li>
+<li><a class="el" href="group__Evas__Image__Group.html">Image Functions</a></li>
+<li><a class="el" href="group__Evas__Font__Group.html">Font Functions</a><ul>
+<li><a class="el" href="group__Evas__Font__Path__Group.html">Font Path Functions</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a><ul>
+<li><a class="el" href="group__Evas__Object__Group__Basic.html">Basic Object Manipulation</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Events.html">Object Events</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Map.html">UV Mapping (Rotation, Perspecitve, 3D...)</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Size__Hints.html">Size Hints</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Extras.html">Extra Object Manipulation</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Find.html">Finding Objects</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Interceptors.html">Object Method Interceptors</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a><ul>
+<li><a class="el" href="group__Evas__Object__Rectangle.html">Rectangle Object Functions</a></li>
+<li><a class="el" href="group__Evas__Object__Image.html">Image Object Functions</a></li>
+<li><a class="el" href="group__Evas__Object__Text.html">Text Object Functions</a></li>
+<li><a class="el" href="group__Evas__Object__Textblock.html">Textblock Object Functions</a></li>
+<li><a class="el" href="group__Evas__Line__Group.html">Line Object Functions</a></li>
+<li><a class="el" href="group__Evas__Object__Polygon.html">Polygon Object Functions</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__Evas__Smart__Group.html">Smart Functions</a></li>
+<li><a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a><ul>
+<li><a class="el" href="group__Evas__Smart__Object__Clipped.html">Clipped Smart Object</a></li>
+<li><a class="el" href="group__Evas__Object__Box.html">Box (Sequence) Smart Object.</a></li>
+<li><a class="el" href="group__Evas__Object__Table.html">Table Smart Object.</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__Evas__Cserve.html">Shared Image Cache Server</a></li>
+<li><a class="el" href="group__Evas__Utils.html">General Utilities</a></li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/nav_f.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/nav_f.png
new file mode 100644 (file)
index 0000000..1b07a16
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/nav_f.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/nav_h.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/nav_h.png
new file mode 100644 (file)
index 0000000..01f5fa6
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/nav_h.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/open.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/open.png
new file mode 100644 (file)
index 0000000..7b35d2c
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/open.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/pages.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/pages.html
new file mode 100644 (file)
index 0000000..2d6c194
--- /dev/null
@@ -0,0 +1,96 @@
+<html>
+<head>
+    <title>Evas: Page Index</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Related Pages</h1>  </div>
+</div>
+<div class="contents">
+Here is a list of all related documentation pages:<ul>
+<li><a class="el" href="todo.html">Todo List</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:29</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Coord__Rectangle.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Coord__Rectangle.html
new file mode 100644 (file)
index 0000000..c6908e0
--- /dev/null
@@ -0,0 +1,115 @@
+<html>
+<head>
+    <title>Evas: _Evas_Coord_Rectangle Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Coord_Rectangle Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Coord_Rectangle" -->
+<p>&lt; A rectangle in Evas_Coord  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8281ece9529d16c84be8b388ea5ae983"></a><!-- doxytag: member="_Evas_Coord_Rectangle::x" ref="a8281ece9529d16c84be8b388ea5ae983" args="" -->
+Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Coord__Rectangle.html#a8281ece9529d16c84be8b388ea5ae983">x</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">top-left x co-ordinate of rectangle <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adafcf87056501a29d628801e8cacd0d5"></a><!-- doxytag: member="_Evas_Coord_Rectangle::y" ref="adafcf87056501a29d628801e8cacd0d5" args="" -->
+Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Coord__Rectangle.html#adafcf87056501a29d628801e8cacd0d5">y</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">top-left y co-ordinate of rectangle <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a72fe41e483e3fcaefa1ee2fdd2f925"></a><!-- doxytag: member="_Evas_Coord_Rectangle::w" ref="a5a72fe41e483e3fcaefa1ee2fdd2f925" args="" -->
+Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Coord__Rectangle.html#a5a72fe41e483e3fcaefa1ee2fdd2f925">w</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">width of rectangle <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb6159a85268fc627520a3436cf94a7a"></a><!-- doxytag: member="_Evas_Coord_Rectangle::h" ref="afb6159a85268fc627520a3436cf94a7a" args="" -->
+Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Coord__Rectangle.html#afb6159a85268fc627520a3436cf94a7a">h</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">height of rectangle <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>&lt; A rectangle in Evas_Coord </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Config.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Config.html
new file mode 100644 (file)
index 0000000..c59e8d8
--- /dev/null
@@ -0,0 +1,102 @@
+<html>
+<head>
+    <title>Evas: _Evas_Cserve_Config Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Cserve_Config Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Cserve.html">Shared Image Cache Server</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Cserve_Config" -->
+<p>Configuration that controls the server that shares cached bitmaps.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Configuration that controls the server that shares cached bitmaps. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Image.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Image.html
new file mode 100644 (file)
index 0000000..adb9572
--- /dev/null
@@ -0,0 +1,102 @@
+<html>
+<head>
+    <title>Evas: _Evas_Cserve_Image Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Cserve_Image Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Cserve.html">Shared Image Cache Server</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Cserve_Image" -->
+<p>An image shared by the server.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>An image shared by the server. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Image__Cache.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Image__Cache.html
new file mode 100644 (file)
index 0000000..d372cd3
--- /dev/null
@@ -0,0 +1,102 @@
+<html>
+<head>
+    <title>Evas: _Evas_Cserve_Image_Cache Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Cserve_Image_Cache Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Cserve.html">Shared Image Cache Server</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Cserve_Image_Cache" -->
+<p>Cache of images shared by server.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Cache of images shared by server. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Stats.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Cserve__Stats.html
new file mode 100644 (file)
index 0000000..94ffc24
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+<head>
+    <title>Evas: _Evas_Cserve_Stats Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Cserve_Stats Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Cserve.html">Shared Image Cache Server</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Cserve_Stats" -->
+<p>Statistics about server that shares cached bitmaps.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7fa72c981c855ee8c0e49dd3395f113"></a><!-- doxytag: member="_Evas_Cserve_Stats::saved_memory" ref="af7fa72c981c855ee8c0e49dd3395f113" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#af7fa72c981c855ee8c0e49dd3395f113">saved_memory</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">current saved memory, in bytes <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab98e8e5dd83545a2c6acc3c914ea488e"></a><!-- doxytag: member="_Evas_Cserve_Stats::wasted_memory" ref="ab98e8e5dd83545a2c6acc3c914ea488e" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#ab98e8e5dd83545a2c6acc3c914ea488e">wasted_memory</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">current wasted memory, in bytes <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9738ab5831d7b402111db096b6ff972b"></a><!-- doxytag: member="_Evas_Cserve_Stats::saved_memory_peak" ref="a9738ab5831d7b402111db096b6ff972b" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#a9738ab5831d7b402111db096b6ff972b">saved_memory_peak</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">peak of saved memory, in bytes <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcdf3ed844a2e8241c0ee5986e6532bb"></a><!-- doxytag: member="_Evas_Cserve_Stats::wasted_memory_peak" ref="afcdf3ed844a2e8241c0ee5986e6532bb" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#afcdf3ed844a2e8241c0ee5986e6532bb">wasted_memory_peak</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">peak of wasted memory, in bytes <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35301ae776cdf63793735930d8fe0873"></a><!-- doxytag: member="_Evas_Cserve_Stats::saved_time_image_header_load" ref="a35301ae776cdf63793735930d8fe0873" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#a35301ae776cdf63793735930d8fe0873">saved_time_image_header_load</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">time, in seconds, saved in header loads by sharing cached loads instead <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f9d701eb8a7d84937422999ff002a1a"></a><!-- doxytag: member="_Evas_Cserve_Stats::saved_time_image_data_load" ref="a8f9d701eb8a7d84937422999ff002a1a" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#a8f9d701eb8a7d84937422999ff002a1a">saved_time_image_data_load</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">time, in seconds, saved in data loads by sharing cached loads instead <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Statistics about server that shares cached bitmaps. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Engine__Info.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Engine__Info.html
new file mode 100644 (file)
index 0000000..60fe431
--- /dev/null
@@ -0,0 +1,107 @@
+<html>
+<head>
+    <title>Evas: _Evas_Engine_Info Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Engine_Info Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Engine_Info" -->
+<p>Generic engine information.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad990a452b19dbd3b0ea73e3c1827dcb1"></a><!-- doxytag: member="_Evas_Engine_Info::magic" ref="ad990a452b19dbd3b0ea73e3c1827dcb1" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Engine__Info.html#ad990a452b19dbd3b0ea73e3c1827dcb1">magic</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Magic number. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Generic engine information. </p>
+<p>Generic info is useless </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Hold.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Hold.html
new file mode 100644 (file)
index 0000000..13462d9
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Hold Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Hold Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Hold" -->
+<p>Hold change event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21f7238382ebd994e083623f777853f3"></a><!-- doxytag: member="_Evas_Event_Hold::hold" ref="a21f7238382ebd994e083623f777853f3" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Hold.html#a21f7238382ebd994e083623f777853f3">hold</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The hold flag. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Hold change event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Key__Down.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Key__Down.html
new file mode 100644 (file)
index 0000000..3023342
--- /dev/null
@@ -0,0 +1,115 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Key_Down Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Key_Down Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Key_Down" -->
+<p>Key press event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01909378c9e67734aa0e6ce2b603ad2c"></a><!-- doxytag: member="_Evas_Event_Key_Down::keyname" ref="a01909378c9e67734aa0e6ce2b603ad2c" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Down.html#a01909378c9e67734aa0e6ce2b603ad2c">keyname</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The string name of the key pressed. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70473bba88a1afaee180a54150513824"></a><!-- doxytag: member="_Evas_Event_Key_Down::key" ref="a70473bba88a1afaee180a54150513824" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Down.html#a70473bba88a1afaee180a54150513824">key</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The logical key : (eg shift+1 == exclamation). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b64741ca0b90a5119463f320ebeea00"></a><!-- doxytag: member="_Evas_Event_Key_Down::string" ref="a1b64741ca0b90a5119463f320ebeea00" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Down.html#a1b64741ca0b90a5119463f320ebeea00">string</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A UTF8 string if this keystroke has produced a visible string to be ADDED. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ea3ff931ae945c486abd2388c6d653a"></a><!-- doxytag: member="_Evas_Event_Key_Down::compose" ref="a5ea3ff931ae945c486abd2388c6d653a" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Down.html#a5ea3ff931ae945c486abd2388c6d653a">compose</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Key press event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Key__Up.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Key__Up.html
new file mode 100644 (file)
index 0000000..a335713
--- /dev/null
@@ -0,0 +1,115 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Key_Up Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Key_Up Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Key_Up" -->
+<p>Key release event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03b32c8ba37a03fbd3ea7cd63e5f47be"></a><!-- doxytag: member="_Evas_Event_Key_Up::keyname" ref="a03b32c8ba37a03fbd3ea7cd63e5f47be" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Up.html#a03b32c8ba37a03fbd3ea7cd63e5f47be">keyname</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The string name of the key released. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a865118cf93e4454ac101d663b8027b41"></a><!-- doxytag: member="_Evas_Event_Key_Up::key" ref="a865118cf93e4454ac101d663b8027b41" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Up.html#a865118cf93e4454ac101d663b8027b41">key</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The logical key : (eg shift+1 == exclamation). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadff1de218baec7322b0ed0f6cf6d662"></a><!-- doxytag: member="_Evas_Event_Key_Up::string" ref="aadff1de218baec7322b0ed0f6cf6d662" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Up.html#aadff1de218baec7322b0ed0f6cf6d662">string</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A UTF8 string if this keystroke has produced a visible string to be ADDED. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0d6a67e53331d863d141475b1b905fb"></a><!-- doxytag: member="_Evas_Event_Key_Up::compose" ref="ac0d6a67e53331d863d141475b1b905fb" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Up.html#ac0d6a67e53331d863d141475b1b905fb">compose</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Key release event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Down.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Down.html
new file mode 100644 (file)
index 0000000..799c863
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_Down Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_Down Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_Down" -->
+<p>Mouse button press event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ab02808721d6c55fc642ecbb37d5ff9"></a><!-- doxytag: member="_Evas_Event_Mouse_Down::button" ref="a0ab02808721d6c55fc642ecbb37d5ff9" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Down.html#a0ab02808721d6c55fc642ecbb37d5ff9">button</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button number that went down (1 - 32). <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Mouse button press event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__In.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__In.html
new file mode 100644 (file)
index 0000000..9bdf1fa
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_In Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_In Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_In" -->
+<p>Mouse enter event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">buttons</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.  <a href="#abdd04878ea8584eb57926223bb381294"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Mouse enter event. </p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="abdd04878ea8584eb57926223bb381294"></a><!-- doxytag: member="_Evas_Event_Mouse_In::buttons" ref="abdd04878ea8584eb57926223bb381294" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In::buttons</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. </p>
+<p>) </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">evas_event_feed_mouse_in()</a>, <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Move.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Move.html
new file mode 100644 (file)
index 0000000..4445692
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_Move Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_Move Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_Move" -->
+<p>Mouse button down event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Move.html#a455bf48e5f7badcc6c525162e0997d08">buttons</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.  <a href="#a455bf48e5f7badcc6c525162e0997d08"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Mouse button down event. </p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a455bf48e5f7badcc6c525162e0997d08"></a><!-- doxytag: member="_Evas_Event_Mouse_Move::buttons" ref="a455bf48e5f7badcc6c525162e0997d08" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="struct__Evas__Event__Mouse__Move.html#a455bf48e5f7badcc6c525162e0997d08">_Evas_Event_Mouse_Move::buttons</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. </p>
+<p>) </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Out.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Out.html
new file mode 100644 (file)
index 0000000..ab117f3
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_Out Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_Out Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_Out" -->
+<p>Mouse leave event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">buttons</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.  <a href="#a11f204198c8faa5998c1c21f1ad55684"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Mouse leave event. </p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a11f204198c8faa5998c1c21f1ad55684"></a><!-- doxytag: member="_Evas_Event_Mouse_Out::buttons" ref="a11f204198c8faa5998c1c21f1ad55684" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out::buttons</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. </p>
+<p>) </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, <a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13">evas_event_feed_mouse_out()</a>, <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">evas_object_hide()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Up.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Up.html
new file mode 100644 (file)
index 0000000..29c5d38
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_Up Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_Up Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_Up" -->
+<p>Mouse button release event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa513164499624ee1e6f1790899efe60f"></a><!-- doxytag: member="_Evas_Event_Mouse_Up::button" ref="aa513164499624ee1e6f1790899efe60f" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Up.html#aa513164499624ee1e6f1790899efe60f">button</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button number that was raised (1 - 32). <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Mouse button release event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Wheel.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Mouse__Wheel.html
new file mode 100644 (file)
index 0000000..4cd2fee
--- /dev/null
@@ -0,0 +1,99 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_Wheel Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_Wheel Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_Wheel" -->
+<p>Wheel event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Wheel event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Down.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Down.html
new file mode 100644 (file)
index 0000000..0e87ca5
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Multi_Down Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Multi_Down Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Multi_Down" -->
+<p>Multi button press event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a990b8c081ce4bb5b494ae6632b78cbe4"></a><!-- doxytag: member="_Evas_Event_Multi_Down::device" ref="a990b8c081ce4bb5b494ae6632b78cbe4" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Down.html#a990b8c081ce4bb5b494ae6632b78cbe4">device</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi device number that went down (1 or more for extra touches). <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Multi button press event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Move.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Move.html
new file mode 100644 (file)
index 0000000..fd1a081
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Multi_Move Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Multi_Move Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Multi_Move" -->
+<p>Multi button down event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a664db8b96c8999777c79e9ba165d124a"></a><!-- doxytag: member="_Evas_Event_Multi_Move::device" ref="a664db8b96c8999777c79e9ba165d124a" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Move.html#a664db8b96c8999777c79e9ba165d124a">device</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi device number that moved (1 or more for extra touches). <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Multi button down event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Up.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Event__Multi__Up.html
new file mode 100644 (file)
index 0000000..7920c9d
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Multi_Up Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Multi_Up Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Multi_Up" -->
+<p>Multi button release event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6569e24edde1a26221efbdf54b62f5c9"></a><!-- doxytag: member="_Evas_Event_Multi_Up::device" ref="a6569e24edde1a26221efbdf54b62f5c9" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Up.html#a6569e24edde1a26221efbdf54b62f5c9">device</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi device number that went up (1 or more for extra touches). <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Multi button release event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Object__Box__Api.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Object__Box__Api.html
new file mode 100644 (file)
index 0000000..c296f2d
--- /dev/null
@@ -0,0 +1,102 @@
+<html>
+<head>
+    <title>Evas: _Evas_Object_Box_Api Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Object_Box_Api Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Box.html">Box (Sequence) Smart Object.</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Object_Box_Api" --><!-- doxytag: inherits="_Evas_Smart_Class" -->
+<p>This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a>.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a>. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Object__Box__Data.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Object__Box__Data.html
new file mode 100644 (file)
index 0000000..a0b9040
--- /dev/null
@@ -0,0 +1,103 @@
+<html>
+<head>
+    <title>Evas: _Evas_Object_Box_Data Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Object_Box_Data Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Box.html">Box (Sequence) Smart Object.</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Object_Box_Data" --><!-- doxytag: inherits="_Evas_Object_Smart_Clipped_Data" -->
+<p>This structure augments clipped smart object's instance data, providing extra members required by generic box implementation.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This structure augments clipped smart object's instance data, providing extra members required by generic box implementation. </p>
+<p>If a subclass inherits from <a class="el" href="group__Evas__Object__Box.html#ga2a8fbeeab4f5ae23e7bc1b291e27c5e1" title="Smart Class extension providing extra box requirements.">Evas_Object_Box_Api</a> then it may augment <a class="el" href="group__Evas__Object__Box.html#gac9047b7cff95df59f61c7321967caf7b" title="Smart instance data providing box requirements.">Evas_Object_Box_Data</a> to fit its own needs. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Smart__Cb__Description.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Smart__Cb__Description.html
new file mode 100644 (file)
index 0000000..ae87145
--- /dev/null
@@ -0,0 +1,143 @@
+<html>
+<head>
+    <title>Evas: _Evas_Smart_Cb_Description Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Smart_Cb_Description Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Smart__Group.html">Smart Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Smart_Cb_Description" -->
+<p>Describes a callback used by a smart class <a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e" title="Call any smart callbacks on obj for event.">evas_object_smart_callback_call()</a>, particularly useful to explain to user and its code (ie: introspection) what the parameter <code>event_info</code> will contain.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab377859f4cfcf1c2dd3c149a76b70b53"></a><!-- doxytag: member="_Evas_Smart_Cb_Description::name" ref="ab377859f4cfcf1c2dd3c149a76b70b53" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Cb__Description.html#ab377859f4cfcf1c2dd3c149a76b70b53">name</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">callback name, ie: "changed" <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Cb__Description.html#af0d4ce3d62a068eab1b89a34abb056ad">type</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hint type of <code>event_info</code> parameter of Evas_Smart_Cb.  <a href="#af0d4ce3d62a068eab1b89a34abb056ad"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Describes a callback used by a smart class <a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e" title="Call any smart callbacks on obj for event.">evas_object_smart_callback_call()</a>, particularly useful to explain to user and its code (ie: introspection) what the parameter <code>event_info</code> will contain. </p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="af0d4ce3d62a068eab1b89a34abb056ad"></a><!-- doxytag: member="_Evas_Smart_Cb_Description::type" ref="af0d4ce3d62a068eab1b89a34abb056ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* <a class="el" href="struct__Evas__Smart__Cb__Description.html#af0d4ce3d62a068eab1b89a34abb056ad">_Evas_Smart_Cb_Description::type</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Hint type of <code>event_info</code> parameter of Evas_Smart_Cb. </p>
+<p>The type string uses the pattern similar to</p>
+<p><a href="http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-signatures">http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-signatures</a></p>
+<p>but extended to optionally include variable names within brackets preceding types. Example:</p>
+<ul>
+<li>Structure with two integers: <code>"(ii)"</code> </li>
+</ul>
+<ul>
+<li>Structure called 'x' with two integers named 'a' and 'b': <code>"[x]([a]i[b]i)"</code> </li>
+</ul>
+<ul>
+<li>Array of integers: <code>"ai"</code> </li>
+</ul>
+<ul>
+<li>Array called 'x' of struct with two integers: <code>"[x]a(ii)"</code> </li>
+</ul>
+<dl class="note"><dt><b>Note:</b></dt><dd>This type string is used as a hint and is <b>not</b> validated or enforced anyhow. Implementors should make the best use of it to help bindings, documentation and other users of introspection features. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Smart__Class.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/struct__Evas__Smart__Class.html
new file mode 100644 (file)
index 0000000..e430304
--- /dev/null
@@ -0,0 +1,118 @@
+<html>
+<head>
+    <title>Evas: _Evas_Smart_Class Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Smart_Class Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Smart__Group.html">Smart Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Smart_Class" -->
+<p>a smart object class  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34b0476dfa714dff39812ed72636005f"></a><!-- doxytag: member="_Evas_Smart_Class::name" ref="a34b0476dfa714dff39812ed72636005f" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f">name</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the string name of the class <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b009bf8125551b4bec8bc114756fc3e"></a><!-- doxytag: member="_Evas_Smart_Class::parent" ref="a4b009bf8125551b4bec8bc114756fc3e" args="" -->
+const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">parent</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this class inherits from this parent <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7074494030024c3d0e502bca7b19067"></a><!-- doxytag: member="_Evas_Smart_Class::callbacks" ref="af7074494030024c3d0e502bca7b19067" args="" -->
+const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067">callbacks</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">callbacks at this level, NULL terminated <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6698ec8ff46b2678f920979ae11d939d"></a><!-- doxytag: member="_Evas_Smart_Class::interfaces" ref="a6698ec8ff46b2678f920979ae11d939d" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html#a6698ec8ff46b2678f920979ae11d939d">interfaces</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be used in a future near you <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>a smart object class </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_a.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_a.png
new file mode 100644 (file)
index 0000000..2d99ef2
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_a.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_b.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_b.png
new file mode 100644 (file)
index 0000000..b2c3d2b
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_b.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_h.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_h.png
new file mode 100644 (file)
index 0000000..c11f48f
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_h.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_s.png b/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_s.png
new file mode 100644 (file)
index 0000000..978943a
Binary files /dev/null and b/debian/libevas-doc/usr/share/doc/libevas-doc/html/tab_s.png differ
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/tabs.css b/debian/libevas-doc/usr/share/doc/libevas-doc/html/tabs.css
new file mode 100644 (file)
index 0000000..2192056
--- /dev/null
@@ -0,0 +1,59 @@
+.tabs, .tabs2, .tabs3 {
+    background-image: url('tab_b.png');
+    width: 100%;
+    z-index: 101;
+    font-size: 13px;
+}
+
+.tabs2 {
+    font-size: 10px;
+}
+.tabs3 {
+    font-size: 9px;
+}
+
+.tablist {
+    margin: 0;
+    padding: 0;
+    display: table;
+}
+
+.tablist li {
+    float: left;
+    display: table-cell;
+    background-image: url('tab_b.png');
+    line-height: 36px;
+    list-style: none;
+}
+
+.tablist a {
+    display: block;
+    padding: 0 20px;
+    font-weight: bold;
+    background-image:url('tab_s.png');
+    background-repeat:no-repeat;
+    background-position:right;
+    color: #283A5D;
+    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+    text-decoration: none;
+    outline: none;
+}
+
+.tabs3 .tablist a {
+    padding: 0 10px;
+}
+
+.tablist a:hover {
+    background-image: url('tab_h.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+    text-decoration: none;
+}
+
+.tablist li.current a {
+    background-image: url('tab_a.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
diff --git a/debian/libevas-doc/usr/share/doc/libevas-doc/html/todo.html b/debian/libevas-doc/usr/share/doc/libevas-doc/html/todo.html
new file mode 100644 (file)
index 0000000..37bfcb6
--- /dev/null
@@ -0,0 +1,171 @@
+<html>
+<head>
+    <title>Evas: Todo List</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Todo List </h1>  </div>
+</div>
+<div class="contents">
+<p><a class="anchor" id="_todo000004"></a> </p>
+<dl>
+<dt>Global <a class="el" href="group__Evas__Object__Textblock.html#gac8ab2a94f6b027a2b24fffdd23b113fb">ENFN</a>  </dt>
+<dd>Write  </dd>
+</dl>
+<p><a class="anchor" id="_todo000001"></a> </p>
+<dl>
+<dt>page <a class="el" href="index.html">Evas</a>  </dt>
+<dd><p class="startdd">(1.0) Need a way ot scaling an image and just PRODUCING the output (scaling direct to target buffe r- no blend/copy etc.) </p>
+<p>(1.0) Could improve evas's scaling down code to limit multiple samples per output pixel to maybe 2x2? </p>
+<p>(1.0) Document API </p>
+<p>(1.0) Evas needs to check delete_me member for all object functions </p>
+<p>(1.0) Evas engine that renders to Evas_Objects </p>
+<p>(1.0) OpenGL engine needs to use texture meshes </p>
+<p>(1.0) OpenGL engine needs texture cache and size setting </p>
+<p>(1.0) OpenGL Engine needs YUV import API to YUV texture </p>
+<p>(1.0) All engines need pixel import API </p>
+<p>(1.0) Add parital render through composite layer api to engines </p>
+<p>(1.0) Move callback processing to a queue and do it asynchronously??? </p>
+<p>(1.0) Add button grabbing </p>
+<p>(1.0) Add generic object method call system </p>
+<p>(1.0) Add callbacks set for smart object parents to be set on all child smart objects too. </p>
+<p>(1.0) Add font load query calls (so we know if a font load failed) </p>
+<p>(1.0) Add font listing calls </p>
+<p>(1.0) Add ability to check image comments &amp; disk format </p>
+<p>(1.0) Add fontset support </p>
+<p>(1.0) Export engine rendering API cleanly to Evas API </p>
+<p>(1.0) Add smart object ability to provide rendering callback </p>
+<p>(1.1) Make freetype optional and put in optional graymap font engine </p>
+<p>(1.1) Free images if object invisible (and put back in chache) </p>
+<p>(1.1) Check robustness of malloc/calloc/realloc failures. </p>
+<p>(1.1) Add memory use reduction code if any allocations fail </p>
+<p>(1.1) If image loads fails due to memory allocatue failure, load reduced res version </p>
+<p>(1.1) If image load fails due to memory allocation failure, try split it up into tiles and demand-load them </p>
+<p>(1.2) Add external image loaders (application provided callbacks to load) </p>
+<p>(1.2) Add loadable image loader module support (evas loads file.so) </p>
+<p>(1.2) Add external image loader modules (application provides path to file.so) </p>
+<p>(1.3) Add X11 primtive engine (ie pixmap) </p>
+<p>(1.3) Add immediate mode drawing commands to image objects </p>
+<p>(1.3) Fix FB engine to allocate vt and release properly </p>
+<p>(1.4) Add ellipse objects (circle, arc, ellipse etc.) </p>
+<p>(1.5) Make software engine draw lines &amp; polys etc. with aa </p>
+<p>(1.5) Add radial gradients to gradient objects </p>
+<p>(1.5) Add Symbian Engine </p>
+<p>(1.6) Add PalmOS Engine </p>
+<p>(1.6) Add Apple OpenGL Engine </p>
+<p>(1.7) Document engine API and other internals </p>
+<p>(1.7) Allow any object to clip any other object, and not just rectangles </p>
+<p>(1.8) Add more evas demos </p>
+<p>(1.9) Write the error mechanism in evas_xcb_buffer.c </p>
+<p>(1.9) Rewrite the render xcb engine </p>
+<p class="enddd">(1.10) Improve Win32 Direct3D Engine</p>
+</dd>
+</dl>
+<p><a class="anchor" id="_todo000005"></a> </p>
+<dl>
+<dt>File <a class="el" href="Evas_8h.html">Evas.h</a>  </dt>
+<dd><p class="startdd">check boolean return values and convert to Eina_Bool </p>
+<p>change all api to use EINA_SAFETY_* </p>
+<p class="enddd">finish api documentation </p>
+</dd>
+</dl>
+<p><a class="anchor" id="_todo000007"></a> </p>
+<dl>
+<dt>Global <a class="el" href="Evas_8h.html#a5c233a1e9eea970c1db0de87ff343e77">evas_key_modifier_get</a> (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE </dt>
+<dd>document key modifiers.</dd>
+</dl>
+<p><a class="anchor" id="_todo000002"></a> </p>
+<dl>
+<dt>Global <a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">evas_object_table_homogeneous_set</a> (Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous) </dt>
+<dd><p class="startdd">consider aspect hint and respect it.</p>
+<p class="enddd"><code>EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE</code> should balance weight.</p>
+</dd>
+</dl>
+<p><a class="anchor" id="_todo000006"></a> </p>
+<dl>
+<dt>Group <a class="el" href="group__Evas__Object__Textblock.html">Evas_Object_Textblock</a>  </dt>
+<dd>put here some usage examples</dd>
+</dl>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/debian/libevas-engines-extras.debhelper.log b/debian/libevas-engines-extras.debhelper.log
new file mode 100644 (file)
index 0000000..f2cf077
--- /dev/null
@@ -0,0 +1,32 @@
+dh_installdirs
+dh_installdirs
+dh_installdocs
+dh_installexamples
+dh_installman
+dh_installinfo
+dh_installmenu
+dh_installcron
+dh_installinit
+dh_installdebconf
+dh_installemacsen
+dh_installcatalogs
+dh_installpam
+dh_installlogrotate
+dh_installlogcheck
+dh_installchangelogs
+dh_installudev
+dh_lintian
+dh_install
+dh_link
+dh_buildinfo
+dh_installmime
+dh_strip
+dh_compress
+dh_fixperms
+dh_makeshlibs
+dh_installdeb
+dh_perl
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
diff --git a/debian/libevas-engines-extras.substvars b/debian/libevas-engines-extras.substvars
new file mode 100644 (file)
index 0000000..6da5349
--- /dev/null
@@ -0,0 +1,2 @@
+shlibs:Depends=libc6 (>= 2.4), libeina (>= 1.0.0.001+svn20100831), libevas (>= 0.9.9.060+svn20100203), libgcc1 (>= 1:4.4.0), libx11-6, libxrender1
+misc:Depends=
diff --git a/debian/libevas-engines-extras/DEBIAN/control b/debian/libevas-engines-extras/DEBIAN/control
new file mode 100644 (file)
index 0000000..032ef8c
--- /dev/null
@@ -0,0 +1,20 @@
+Package: libevas-engines-extras
+Source: evas
+Version: 1.0.0.001+svn.58227slp2+build04
+Architecture: armel
+Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Sangjin Lee <lsj119@samsung.com>, Doyoun Kang <doyoun.kang@samsung.com>, YoungHoon Jung <yhoon.jung@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Gwanglim Lee <gl77.lee@samsung.com>, Jeonghyun Yun <jh0506.yun@samsung.com>, Seokjae Jeong <seok.j.jeong@samsung.com>, MyoungWoon Kim <myoungwoon.kim@samsung.com>, ChunEon Park <chuneon.park@samsung.com>, Hyoyoung Chang <hyoyoung.chang@samsung.com>, WooHyun Jung <wh0705.jung@samsung.com>, Gwangyeong Mun <kk.moon@samsung.com>
+Installed-Size: 200
+Depends: libc6 (>= 2.4), libeina (>= 1.0.0.001+svn20100831), libevas (>= 0.9.9.060+svn20100203), libgcc1 (>= 1:4.4.0), libx11-6, libxrender1, libevas-engines, opengl-es
+Conflicts: libevas-0.9.9.050a-engines-extras
+Section: libs
+Priority: optional
+Homepage: http://www.enlightenment.org
+Description: Evas module providing the Xrender engine
+ Evas is an advanced canvas library, providing six engines for rendering: X11,
+ OpenGL (hardware accelerated), DirectFB, the framebuffer, Microsoft Windows
+ and Qtopia.
+ Due to its simple API, evas can be developed with rapidly, and cleanly.
+ .
+ This package contains some extra Evas engine modules:
+  - GL/X11
+  - Framebuffer
diff --git a/debian/libevas-engines-extras/DEBIAN/md5sums b/debian/libevas-engines-extras/DEBIAN/md5sums
new file mode 100644 (file)
index 0000000..95304bb
--- /dev/null
@@ -0,0 +1,7 @@
+0bb46deeac07618375a3fccad44038b5  usr/lib/evas/modules/engines/fb/linux-gnueabi-arm-1.0.999/module.so
+50dc7e31494dabf7fb0d2bf79f1e7f9d  usr/lib/evas/modules/engines/gl_x11/linux-gnueabi-arm-1.0.999/module.so
+f58b02d3abce84aa429f0f08f2ad32a9  usr/share/doc/libevas-engines-extras/AUTHORS
+81321a3cc059cc0a97c4616df991f164  usr/share/doc/libevas-engines-extras/README.gz
+9cefa447439e504a954af74ce09544db  usr/share/doc/libevas-engines-extras/buildinfo.gz
+8ea8ab9fff20001597fdcdae574a279e  usr/share/doc/libevas-engines-extras/changelog.gz
+c3a4c42ad2241197ee1a2cde8a0e2854  usr/share/doc/libevas-engines-extras/copyright
diff --git a/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/AUTHORS b/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/AUTHORS
new file mode 100644 (file)
index 0000000..75b5960
--- /dev/null
@@ -0,0 +1,24 @@
+Carsten Haitzler <raster@rasterman.com>
+Till Adam <till@adam-lilienthal.de>
+Steve Ireland <sireland@pobox.com>
+Brett Nash <nash@fluffyspider.com.au>
+Tilman Sauerbeck <tilman@code-monkey.de>
+Corey Donohoe <atmos@atmos.org>
+Yuri Hudobin <glassy_ape@users.sourceforge.net>
+Nathan Ingersoll <ningerso@d.umn.edu>
+Willem Monsuwe <willem@stack.nl>
+Jose O Gonzalez <jose_ogp@juno.com>
+Bernhard Nemec <Bernhard.Nemec@viasyshc.com>
+Jorge Luis Zapata Muga <jorgeluis.zapata@gmail.com>
+Cedric Bail <cedric.bail@free.fr>
+Gustavo Sverzut Barbieri <barbieri@gmail.com>
+Vincent Torri <vtorri at univ-evry dot fr>
+Tim Horton <hortont424@gmail.com>
+Tom Hacohen <tom@stosb.com>
+Mathieu Taillefumier <mathieu.taillefumier@free.fr>
+Iván Briano <ivan@profusion.mobi>
+Gustavo Lima Chaves <glima@profusion.mobi>
+Samsung Electronics <tbd>
+Samsung SAIT <tbd>
+Sung W. Park <sungwoo@gmail.com>
+Jiyoun Park <jy0703.park@samsung.com>
diff --git a/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/README.gz b/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/README.gz
new file mode 100644 (file)
index 0000000..9aef7f0
Binary files /dev/null and b/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/README.gz differ
diff --git a/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/buildinfo.gz b/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/buildinfo.gz
new file mode 100644 (file)
index 0000000..fa9b233
Binary files /dev/null and b/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/buildinfo.gz differ
diff --git a/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/changelog.gz b/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/changelog.gz
new file mode 100644 (file)
index 0000000..d9362b0
Binary files /dev/null and b/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/changelog.gz differ
diff --git a/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/copyright b/debian/libevas-engines-extras/usr/share/doc/libevas-engines-extras/copyright
new file mode 100644 (file)
index 0000000..3353e50
--- /dev/null
@@ -0,0 +1,38 @@
+This package was debianized by Debian Pkg-e Team <pkg-e-devel@lists.alioth.debian.org> 
+Sat, 07 Jul 2007 09:29:10 +0000.
+
+It was downloaded from http://download.enlightenment.org/
+
+Upstream Authors: 
+
+       Enlightenment team <enlightenment-devel@lists.sourceforge.net>
+
+Copyright:
+
+       Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS)
+    src/modules/engines/fb/evas_fb.h: Copyright (c) 1999 - Carsten Haitzler
+    src/modules/engines/fb/evas_fb_main.c: Copyright (c) 1999 - Carsten Haitzler
+
+License:
+
+  Permission is hereby granted, free of charge, to any person obtaining a
+  copy of this software and associated documentation files (the "Software"),
+  to deal in the Software without restriction, including without limitation
+  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+  and/or sell copies of the Software, and to permit persons to whom the
+  Software is furnished to do so, subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be included in
+  all copies of the Software, its documentation and marketing & publicity
+  materials, and acknowledgment shall be given in the documentation,
+  materials and software packages that this Software was used.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+  THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+On Debian systems, the complete text of the BSD License can be found
+in `/usr/share/common-licenses/BSD'.
diff --git a/debian/libevas-engines.debhelper.log b/debian/libevas-engines.debhelper.log
new file mode 100644 (file)
index 0000000..f2cf077
--- /dev/null
@@ -0,0 +1,32 @@
+dh_installdirs
+dh_installdirs
+dh_installdocs
+dh_installexamples
+dh_installman
+dh_installinfo
+dh_installmenu
+dh_installcron
+dh_installinit
+dh_installdebconf
+dh_installemacsen
+dh_installcatalogs
+dh_installpam
+dh_installlogrotate
+dh_installlogcheck
+dh_installchangelogs
+dh_installudev
+dh_lintian
+dh_install
+dh_link
+dh_buildinfo
+dh_installmime
+dh_strip
+dh_compress
+dh_fixperms
+dh_makeshlibs
+dh_installdeb
+dh_perl
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
diff --git a/debian/libevas-engines.substvars b/debian/libevas-engines.substvars
new file mode 100644 (file)
index 0000000..167dc9c
--- /dev/null
@@ -0,0 +1,2 @@
+shlibs:Depends=libc6 (>= 2.4), libeina (>= 1.0.0.001+svn20100831), libevas (>= 0.9.9.060+svn20100203), libgcc1 (>= 1:4.4.0), libx11-6, libxext6
+misc:Depends=
diff --git a/debian/libevas-engines/DEBIAN/control b/debian/libevas-engines/DEBIAN/control
new file mode 100644 (file)
index 0000000..3833ce3
--- /dev/null
@@ -0,0 +1,22 @@
+Package: libevas-engines
+Source: evas
+Version: 1.0.0.001+svn.58227slp2+build04
+Architecture: armel
+Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Sangjin Lee <lsj119@samsung.com>, Doyoun Kang <doyoun.kang@samsung.com>, YoungHoon Jung <yhoon.jung@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Gwanglim Lee <gl77.lee@samsung.com>, Jeonghyun Yun <jh0506.yun@samsung.com>, Seokjae Jeong <seok.j.jeong@samsung.com>, MyoungWoon Kim <myoungwoon.kim@samsung.com>, ChunEon Park <chuneon.park@samsung.com>, Hyoyoung Chang <hyoyoung.chang@samsung.com>, WooHyun Jung <wh0705.jung@samsung.com>, Gwangyeong Mun <kk.moon@samsung.com>
+Installed-Size: 152
+Depends: libc6 (>= 2.4), libeina (>= 1.0.0.001+svn20100831), libevas (>= 0.9.9.060+svn20100203), libgcc1 (>= 1:4.4.0), libx11-6, libxext6
+Conflicts: libevas-0.9.9.050a-engines
+Section: libs
+Priority: optional
+Homepage: http://www.enlightenment.org
+Description: Evas module providingg the framebuffer render engine
+ Evas is an advanced canvas library, providing six engines for rendering: X11,
+ OpenGL (hardware accelerated), DirectFB, the framebuffer, Microsoft Windows
+ and Qtopia.
+ Due to its simple API, evas can be developed with rapidly, and cleanly.
+ .
+ This package contains the following Evas engine modules:
+  - buffer
+  - software/genenric
+  - software/X11
+  - xrender/X11
diff --git a/debian/libevas-engines/DEBIAN/md5sums b/debian/libevas-engines/DEBIAN/md5sums
new file mode 100644 (file)
index 0000000..962f396
--- /dev/null
@@ -0,0 +1,8 @@
+d7eb1f040ca2dc9ff233e2be06a925c8  usr/lib/evas/modules/engines/buffer/linux-gnueabi-arm-1.0.999/module.so
+be48b6431f7b4975c3edd48c1ddf7bb0  usr/lib/evas/modules/engines/software_generic/linux-gnueabi-arm-1.0.999/module.so
+ef42f883352ae213b6db9e4e208a8aad  usr/lib/evas/modules/engines/software_x11/linux-gnueabi-arm-1.0.999/module.so
+f58b02d3abce84aa429f0f08f2ad32a9  usr/share/doc/libevas-engines/AUTHORS
+81321a3cc059cc0a97c4616df991f164  usr/share/doc/libevas-engines/README.gz
+bb0c34effd34967c73546d8a8919f6a9  usr/share/doc/libevas-engines/buildinfo.gz
+8ea8ab9fff20001597fdcdae574a279e  usr/share/doc/libevas-engines/changelog.gz
+c3a4c42ad2241197ee1a2cde8a0e2854  usr/share/doc/libevas-engines/copyright
diff --git a/debian/libevas-engines/usr/share/doc/libevas-engines/AUTHORS b/debian/libevas-engines/usr/share/doc/libevas-engines/AUTHORS
new file mode 100644 (file)
index 0000000..75b5960
--- /dev/null
@@ -0,0 +1,24 @@
+Carsten Haitzler <raster@rasterman.com>
+Till Adam <till@adam-lilienthal.de>
+Steve Ireland <sireland@pobox.com>
+Brett Nash <nash@fluffyspider.com.au>
+Tilman Sauerbeck <tilman@code-monkey.de>
+Corey Donohoe <atmos@atmos.org>
+Yuri Hudobin <glassy_ape@users.sourceforge.net>
+Nathan Ingersoll <ningerso@d.umn.edu>
+Willem Monsuwe <willem@stack.nl>
+Jose O Gonzalez <jose_ogp@juno.com>
+Bernhard Nemec <Bernhard.Nemec@viasyshc.com>
+Jorge Luis Zapata Muga <jorgeluis.zapata@gmail.com>
+Cedric Bail <cedric.bail@free.fr>
+Gustavo Sverzut Barbieri <barbieri@gmail.com>
+Vincent Torri <vtorri at univ-evry dot fr>
+Tim Horton <hortont424@gmail.com>
+Tom Hacohen <tom@stosb.com>
+Mathieu Taillefumier <mathieu.taillefumier@free.fr>
+Iván Briano <ivan@profusion.mobi>
+Gustavo Lima Chaves <glima@profusion.mobi>
+Samsung Electronics <tbd>
+Samsung SAIT <tbd>
+Sung W. Park <sungwoo@gmail.com>
+Jiyoun Park <jy0703.park@samsung.com>
diff --git a/debian/libevas-engines/usr/share/doc/libevas-engines/README.gz b/debian/libevas-engines/usr/share/doc/libevas-engines/README.gz
new file mode 100644 (file)
index 0000000..9aef7f0
Binary files /dev/null and b/debian/libevas-engines/usr/share/doc/libevas-engines/README.gz differ
diff --git a/debian/libevas-engines/usr/share/doc/libevas-engines/buildinfo.gz b/debian/libevas-engines/usr/share/doc/libevas-engines/buildinfo.gz
new file mode 100644 (file)
index 0000000..5b48219
Binary files /dev/null and b/debian/libevas-engines/usr/share/doc/libevas-engines/buildinfo.gz differ
diff --git a/debian/libevas-engines/usr/share/doc/libevas-engines/changelog.gz b/debian/libevas-engines/usr/share/doc/libevas-engines/changelog.gz
new file mode 100644 (file)
index 0000000..d9362b0
Binary files /dev/null and b/debian/libevas-engines/usr/share/doc/libevas-engines/changelog.gz differ
diff --git a/debian/libevas-engines/usr/share/doc/libevas-engines/copyright b/debian/libevas-engines/usr/share/doc/libevas-engines/copyright
new file mode 100644 (file)
index 0000000..3353e50
--- /dev/null
@@ -0,0 +1,38 @@
+This package was debianized by Debian Pkg-e Team <pkg-e-devel@lists.alioth.debian.org> 
+Sat, 07 Jul 2007 09:29:10 +0000.
+
+It was downloaded from http://download.enlightenment.org/
+
+Upstream Authors: 
+
+       Enlightenment team <enlightenment-devel@lists.sourceforge.net>
+
+Copyright:
+
+       Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS)
+    src/modules/engines/fb/evas_fb.h: Copyright (c) 1999 - Carsten Haitzler
+    src/modules/engines/fb/evas_fb_main.c: Copyright (c) 1999 - Carsten Haitzler
+
+License:
+
+  Permission is hereby granted, free of charge, to any person obtaining a
+  copy of this software and associated documentation files (the "Software"),
+  to deal in the Software without restriction, including without limitation
+  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+  and/or sell copies of the Software, and to permit persons to whom the
+  Software is furnished to do so, subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be included in
+  all copies of the Software, its documentation and marketing & publicity
+  materials, and acknowledgment shall be given in the documentation,
+  materials and software packages that this Software was used.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+  THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+On Debian systems, the complete text of the BSD License can be found
+in `/usr/share/common-licenses/BSD'.
diff --git a/debian/libevas.debhelper.log b/debian/libevas.debhelper.log
new file mode 100644 (file)
index 0000000..f2cf077
--- /dev/null
@@ -0,0 +1,32 @@
+dh_installdirs
+dh_installdirs
+dh_installdocs
+dh_installexamples
+dh_installman
+dh_installinfo
+dh_installmenu
+dh_installcron
+dh_installinit
+dh_installdebconf
+dh_installemacsen
+dh_installcatalogs
+dh_installpam
+dh_installlogrotate
+dh_installlogcheck
+dh_installchangelogs
+dh_installudev
+dh_lintian
+dh_install
+dh_link
+dh_buildinfo
+dh_installmime
+dh_strip
+dh_compress
+dh_fixperms
+dh_makeshlibs
+dh_installdeb
+dh_perl
+dh_shlibdeps
+dh_gencontrol
+dh_md5sums
+dh_builddeb
diff --git a/debian/libevas.postinst.debhelper b/debian/libevas.postinst.debhelper
new file mode 100644 (file)
index 0000000..3d89d3e
--- /dev/null
@@ -0,0 +1,5 @@
+# Automatically added by dh_makeshlibs
+if [ "$1" = "configure" ]; then
+       ldconfig
+fi
+# End automatically added section
diff --git a/debian/libevas.postrm.debhelper b/debian/libevas.postrm.debhelper
new file mode 100644 (file)
index 0000000..7f44047
--- /dev/null
@@ -0,0 +1,5 @@
+# Automatically added by dh_makeshlibs
+if [ "$1" = "remove" ]; then
+       ldconfig
+fi
+# End automatically added section
diff --git a/debian/libevas.substvars b/debian/libevas.substvars
new file mode 100644 (file)
index 0000000..50fa96b
--- /dev/null
@@ -0,0 +1,2 @@
+shlibs:Depends=libc6 (>= 2.7), libeet1 (>= 1.1.0), libeina (>= 1.0.0.001+svn20100831), libevas (>= 0.9.9.060+svn20100203), libfontconfig1, libfreetype6, libfribidi0, libgcc1 (>= 1:4.4.0), libgif4 (>= 4.1.6), libjpeg7, libpng12-0
+misc:Depends=
diff --git a/debian/libevas/DEBIAN/control b/debian/libevas/DEBIAN/control
new file mode 100644 (file)
index 0000000..0b56081
--- /dev/null
@@ -0,0 +1,21 @@
+Package: libevas
+Source: evas
+Version: 1.0.0.001+svn.58227slp2+build04
+Architecture: armel
+Maintainer: Jaehwan Kim <jae.hwan.kim@samsung.com>, Sangjin Lee <lsj119@samsung.com>, Doyoun Kang <doyoun.kang@samsung.com>, YoungHoon Jung <yhoon.jung@samsung.com>, Myungjae Lee <mjae.lee@samsung.com>, Juyung Seo <juyung.seo@samsung.com>, Gwanglim Lee <gl77.lee@samsung.com>, Jeonghyun Yun <jh0506.yun@samsung.com>, Seokjae Jeong <seok.j.jeong@samsung.com>, MyoungWoon Kim <myoungwoon.kim@samsung.com>, ChunEon Park <chuneon.park@samsung.com>, Hyoyoung Chang <hyoyoung.chang@samsung.com>, WooHyun Jung <wh0705.jung@samsung.com>, Gwangyeong Mun <kk.moon@samsung.com>
+Installed-Size: 964
+Depends: libc6 (>= 2.7), libeet1 (>= 1.1.0), libeina (>= 1.0.0.001+svn20100831), libfontconfig1, libfreetype6, libfribidi0, libgcc1 (>= 1:4.4.0), libgif4 (>= 4.1.6), libjpeg7, libpng12-0, libevas-engines (>= 0.9.9.060+svn20100304)
+Conflicts: libevas
+Provides: libevas
+Section: libs
+Priority: optional
+Homepage: http://www.enlightenment.org
+Description: Enlightenment DR17 advanced canvas library
+ Evas is an advanced canvas library, providing six engines for rendering: X11,
+ OpenGL (hardware accelerated), DirectFB, the framebuffer, Microsoft Windows
+ and Qtopia.
+ .
+ Due to its simple API, evas can be developed with rapidly, and cleanly.
+ .
+ This package contains the core library and a set of image loaders and/or savers
+ for various formats: eet, gif, jpeg, png, svg, tiff, bmp, wbmp and xpm
diff --git a/debian/libevas/DEBIAN/md5sums b/debian/libevas/DEBIAN/md5sums
new file mode 100644 (file)
index 0000000..7dc7f42
--- /dev/null
@@ -0,0 +1,19 @@
+2445500832794b2cb9c8f8cb6a91f795  usr/lib/evas/modules/loaders/bmp/linux-gnueabi-arm-1.0.999/module.so
+21bde325e38ba915620320c854201c2b  usr/lib/evas/modules/loaders/eet/linux-gnueabi-arm-1.0.999/module.so
+75d879af3a9e5fb0d94264d11490b4f4  usr/lib/evas/modules/loaders/gif/linux-gnueabi-arm-1.0.999/module.so
+323b9d9004d7a605cf3fe97feaa6d172  usr/lib/evas/modules/loaders/ico/linux-gnueabi-arm-1.0.999/module.so
+0facbc7cf575fcbef3aca43949b03de2  usr/lib/evas/modules/loaders/jpeg/linux-gnueabi-arm-1.0.999/module.so
+db2d4cf85786f757b7cc54a6baa774fd  usr/lib/evas/modules/loaders/pmaps/linux-gnueabi-arm-1.0.999/module.so
+26b7a2fab019daf94d239b6a0b79a04d  usr/lib/evas/modules/loaders/png/linux-gnueabi-arm-1.0.999/module.so
+61c9224c7f4916615038fa33d098d1a3  usr/lib/evas/modules/loaders/tga/linux-gnueabi-arm-1.0.999/module.so
+3826d03c53229a8a0359bb6185c4ab98  usr/lib/evas/modules/loaders/wbmp/linux-gnueabi-arm-1.0.999/module.so
+384fe9cfd7656f9622c8a00c134997b1  usr/lib/evas/modules/loaders/xpm/linux-gnueabi-arm-1.0.999/module.so
+7eafd7caf8640803bf167d92d23556a7  usr/lib/evas/modules/savers/eet/linux-gnueabi-arm-1.0.999/module.so
+aa8757fac3eb37248568566bc88eea44  usr/lib/evas/modules/savers/jpeg/linux-gnueabi-arm-1.0.999/module.so
+b2da337e15549d3df5b98628479d34d7  usr/lib/evas/modules/savers/png/linux-gnueabi-arm-1.0.999/module.so
+c3a4490ecb649dac042f3d358d70565b  usr/lib/libevas.so.1.0.999
+f58b02d3abce84aa429f0f08f2ad32a9  usr/share/doc/libevas/AUTHORS
+81321a3cc059cc0a97c4616df991f164  usr/share/doc/libevas/README.gz
+71be03d131d5ed3100b3ef3f34512a1a  usr/share/doc/libevas/buildinfo.gz
+8ea8ab9fff20001597fdcdae574a279e  usr/share/doc/libevas/changelog.gz
+c3a4c42ad2241197ee1a2cde8a0e2854  usr/share/doc/libevas/copyright
diff --git a/debian/libevas/DEBIAN/postinst b/debian/libevas/DEBIAN/postinst
new file mode 100755 (executable)
index 0000000..379f1fa
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -e
+# Automatically added by dh_makeshlibs
+if [ "$1" = "configure" ]; then
+       ldconfig
+fi
+# End automatically added section
diff --git a/debian/libevas/DEBIAN/postrm b/debian/libevas/DEBIAN/postrm
new file mode 100755 (executable)
index 0000000..3e73d38
--- /dev/null
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -e
+# Automatically added by dh_makeshlibs
+if [ "$1" = "remove" ]; then
+       ldconfig
+fi
+# End automatically added section
diff --git a/debian/libevas/DEBIAN/shlibs b/debian/libevas/DEBIAN/shlibs
new file mode 100644 (file)
index 0000000..f70d2e4
--- /dev/null
@@ -0,0 +1 @@
+libevas 1 libevas (>= 0.9.9.060+svn20100203)
diff --git a/debian/libevas/usr/lib/libevas.so.1 b/debian/libevas/usr/lib/libevas.so.1
new file mode 120000 (symlink)
index 0000000..e59587c
--- /dev/null
@@ -0,0 +1 @@
+libevas.so.1.0.999
\ No newline at end of file
diff --git a/debian/libevas/usr/lib/libevas.so.1.0.999 b/debian/libevas/usr/lib/libevas.so.1.0.999
new file mode 100644 (file)
index 0000000..f500fd4
Binary files /dev/null and b/debian/libevas/usr/lib/libevas.so.1.0.999 differ
diff --git a/debian/libevas/usr/share/doc/libevas/AUTHORS b/debian/libevas/usr/share/doc/libevas/AUTHORS
new file mode 100644 (file)
index 0000000..75b5960
--- /dev/null
@@ -0,0 +1,24 @@
+Carsten Haitzler <raster@rasterman.com>
+Till Adam <till@adam-lilienthal.de>
+Steve Ireland <sireland@pobox.com>
+Brett Nash <nash@fluffyspider.com.au>
+Tilman Sauerbeck <tilman@code-monkey.de>
+Corey Donohoe <atmos@atmos.org>
+Yuri Hudobin <glassy_ape@users.sourceforge.net>
+Nathan Ingersoll <ningerso@d.umn.edu>
+Willem Monsuwe <willem@stack.nl>
+Jose O Gonzalez <jose_ogp@juno.com>
+Bernhard Nemec <Bernhard.Nemec@viasyshc.com>
+Jorge Luis Zapata Muga <jorgeluis.zapata@gmail.com>
+Cedric Bail <cedric.bail@free.fr>
+Gustavo Sverzut Barbieri <barbieri@gmail.com>
+Vincent Torri <vtorri at univ-evry dot fr>
+Tim Horton <hortont424@gmail.com>
+Tom Hacohen <tom@stosb.com>
+Mathieu Taillefumier <mathieu.taillefumier@free.fr>
+Iván Briano <ivan@profusion.mobi>
+Gustavo Lima Chaves <glima@profusion.mobi>
+Samsung Electronics <tbd>
+Samsung SAIT <tbd>
+Sung W. Park <sungwoo@gmail.com>
+Jiyoun Park <jy0703.park@samsung.com>
diff --git a/debian/libevas/usr/share/doc/libevas/README.gz b/debian/libevas/usr/share/doc/libevas/README.gz
new file mode 100644 (file)
index 0000000..9aef7f0
Binary files /dev/null and b/debian/libevas/usr/share/doc/libevas/README.gz differ
diff --git a/debian/libevas/usr/share/doc/libevas/buildinfo.gz b/debian/libevas/usr/share/doc/libevas/buildinfo.gz
new file mode 100644 (file)
index 0000000..0071f24
Binary files /dev/null and b/debian/libevas/usr/share/doc/libevas/buildinfo.gz differ
diff --git a/debian/libevas/usr/share/doc/libevas/changelog.gz b/debian/libevas/usr/share/doc/libevas/changelog.gz
new file mode 100644 (file)
index 0000000..d9362b0
Binary files /dev/null and b/debian/libevas/usr/share/doc/libevas/changelog.gz differ
diff --git a/debian/libevas/usr/share/doc/libevas/copyright b/debian/libevas/usr/share/doc/libevas/copyright
new file mode 100644 (file)
index 0000000..3353e50
--- /dev/null
@@ -0,0 +1,38 @@
+This package was debianized by Debian Pkg-e Team <pkg-e-devel@lists.alioth.debian.org> 
+Sat, 07 Jul 2007 09:29:10 +0000.
+
+It was downloaded from http://download.enlightenment.org/
+
+Upstream Authors: 
+
+       Enlightenment team <enlightenment-devel@lists.sourceforge.net>
+
+Copyright:
+
+       Copyright (C) 2000 Carsten Haitzler and various contributors (see AUTHORS)
+    src/modules/engines/fb/evas_fb.h: Copyright (c) 1999 - Carsten Haitzler
+    src/modules/engines/fb/evas_fb_main.c: Copyright (c) 1999 - Carsten Haitzler
+
+License:
+
+  Permission is hereby granted, free of charge, to any person obtaining a
+  copy of this software and associated documentation files (the "Software"),
+  to deal in the Software without restriction, including without limitation
+  the rights to use, copy, modify, merge, publish, distribute, sublicense,
+  and/or sell copies of the Software, and to permit persons to whom the
+  Software is furnished to do so, subject to the following conditions:
+
+  The above copyright notice and this permission notice shall be included in
+  all copies of the Software, its documentation and marketing & publicity
+  materials, and acknowledgment shall be given in the documentation,
+  materials and software packages that this Software was used.
+
+  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+  THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
+  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+On Debian systems, the complete text of the BSD License can be found
+in `/usr/share/common-licenses/BSD'.
diff --git a/debian/stamp-autotools b/debian/stamp-autotools
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/debian/stamp-autotools-files b/debian/stamp-autotools-files
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/debian/stamp-makefile-build b/debian/stamp-makefile-build
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/debian/stamp-makefile-install b/debian/stamp-makefile-install
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/debian/tmp/usr/bin/evas_cserve b/debian/tmp/usr/bin/evas_cserve
new file mode 100755 (executable)
index 0000000..6fa018d
Binary files /dev/null and b/debian/tmp/usr/bin/evas_cserve differ
diff --git a/debian/tmp/usr/bin/evas_cserve_tool b/debian/tmp/usr/bin/evas_cserve_tool
new file mode 100755 (executable)
index 0000000..acf55d2
Binary files /dev/null and b/debian/tmp/usr/bin/evas_cserve_tool differ
diff --git a/debian/tmp/usr/include/evas-1/Evas.h b/debian/tmp/usr/include/evas-1/Evas.h
new file mode 100644 (file)
index 0000000..6e5156e
--- /dev/null
@@ -0,0 +1,2251 @@
+#ifndef _EVAS_H
+#define _EVAS_H
+
+#include <time.h>
+
+#include <Eina.h>
+
+#ifdef EAPI
+# undef EAPI
+#endif
+
+#ifdef _WIN32
+# ifdef EFL_EVAS_BUILD
+#  ifdef DLL_EXPORT
+#   define EAPI __declspec(dllexport)
+#  else
+#   define EAPI
+#  endif /* ! DLL_EXPORT */
+# else
+#  define EAPI __declspec(dllimport)
+# endif /* ! EFL_EVAS_BUILD */
+#else
+# ifdef __GNUC__
+#  if __GNUC__ >= 4
+#   define EAPI __attribute__ ((visibility("default")))
+#  else
+#   define EAPI
+#  endif
+# else
+#  define EAPI
+# endif
+#endif /* ! _WIN32 */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#define EVAS_VERSION_MAJOR 1
+#define EVAS_VERSION_MINOR 0
+
+typedef struct _Evas_Version
+{
+   int major;
+   int minor;
+   int micro;
+   int revision;
+} Evas_Version;
+
+EAPI extern Evas_Version *evas_version;
+
+/**
+ * @file
+ * @brief These routines are used for Evas library interaction.
+ *
+ * @todo check boolean return values and convert to Eina_Bool
+ * @todo change all api to use EINA_SAFETY_*
+ * @todo finish api documentation
+ */
+
+/* BiDi exposed stuff */
+   /*FIXME: document */
+typedef enum _Evas_BiDi_Direction
+{
+   EVAS_BIDI_DIRECTION_NATURAL,
+   EVAS_BIDI_DIRECTION_LTR,
+   EVAS_BIDI_DIRECTION_RTL
+} Evas_BiDi_Direction;
+
+/**
+ * Identifier of callbacks to be used with object or canvas.
+ *
+ * @see evas_object_event_callback_add()
+ * @see evas_event_callback_add()
+ */
+typedef enum _Evas_Callback_Type
+{
+   /*
+    * The following events are only for use with objects
+    * evas_object_event_callback_add():
+    */
+   EVAS_CALLBACK_MOUSE_IN, /**< Mouse In Event */
+   EVAS_CALLBACK_MOUSE_OUT, /**< Mouse Out Event */
+   EVAS_CALLBACK_MOUSE_DOWN, /**< Mouse Button Down Event */
+   EVAS_CALLBACK_MOUSE_UP, /**< Mouse Button Up Event */
+   EVAS_CALLBACK_MOUSE_MOVE, /**< Mouse Move Event */
+   EVAS_CALLBACK_MOUSE_WHEEL, /**< Mouse Wheel Event */
+   EVAS_CALLBACK_MULTI_DOWN, /**< Multi-touch Down Event */
+   EVAS_CALLBACK_MULTI_UP, /**< Multi-touch Up Event */
+   EVAS_CALLBACK_MULTI_MOVE, /**< Multi-touch Move Event */
+   EVAS_CALLBACK_FREE, /**< Object Being Freed (Called after Del) */
+   EVAS_CALLBACK_KEY_DOWN, /**< Key Press Event */
+   EVAS_CALLBACK_KEY_UP, /**< Key Release Event */
+   EVAS_CALLBACK_FOCUS_IN, /**< Focus In Event */
+   EVAS_CALLBACK_FOCUS_OUT, /**< Focus Out Event */
+   EVAS_CALLBACK_SHOW, /**< Show Event */
+   EVAS_CALLBACK_HIDE, /**< Hide Event */
+   EVAS_CALLBACK_MOVE, /**< Move Event */
+   EVAS_CALLBACK_RESIZE, /**< Resize Event */
+   EVAS_CALLBACK_RESTACK, /**< Restack Event */
+   EVAS_CALLBACK_DEL, /**< Object Being Deleted (called before Free) */
+   EVAS_CALLBACK_HOLD, /**< Events go on/off hold */
+   EVAS_CALLBACK_CHANGED_SIZE_HINTS, /**< Size hints changed event */
+   EVAS_CALLBACK_IMAGE_PRELOADED, /**< Image as been preloaded */
+
+   /*
+    * The following events are only for use with canvas
+    * evas_event_callback_add():
+    */
+   EVAS_CALLBACK_CANVAS_FOCUS_IN, /**< Canvas got focus as a whole */
+   EVAS_CALLBACK_CANVAS_FOCUS_OUT, /**< Canvas lost focus as a whole */
+   EVAS_CALLBACK_RENDER_FLUSH_PRE, /**< Called just before rendering is updated on the canvas target */
+   EVAS_CALLBACK_RENDER_FLUSH_POST, /**< Called just after rendering is updated on the canvas target */
+   EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, /**< Canvas object got focus */
+   EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, /**< Canvas object lost focus */
+
+   /* 
+    * More object event types - see evas_object_event_callback_add():
+    */
+   EVAS_CALLBACK_IMAGE_UNLOADED, /**< Image data has been unloaded (by some mechanims in evas that throws out original image data) */
+
+   /* the following id no event number, but a sentinel: */
+   EVAS_CALLBACK_LAST /**< keep as last element/sentinel -- not really an event */
+} Evas_Callback_Type; /**< The type of event to trigger the callback */
+
+/**
+ * Flags for Mouse Button events
+ */
+typedef enum _Evas_Button_Flags
+{
+   EVAS_BUTTON_NONE = 0, /**< No extra mouse button data */
+   EVAS_BUTTON_DOUBLE_CLICK = (1 << 0), /**< This mouse button press was the 2nd press of a double click */
+   EVAS_BUTTON_TRIPLE_CLICK = (1 << 1) /**< This mouse button press was the 3rd press of a triple click */
+} Evas_Button_Flags; /**< Flags for Mouse Button events */
+
+/**
+ * Flags for Events
+ */
+typedef enum _Evas_Event_Flags
+{
+   EVAS_EVENT_FLAG_NONE = 0, /**< No fancy flags set */
+   EVAS_EVENT_FLAG_ON_HOLD = (1 << 0), /**< This event is being delivered but should be put "on hold" until the on hold flag is unset. the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */
+   EVAS_EVENT_FLAG_ON_SCROLL = (1 << 1) /**< This event flag indicates the event occurs while scrolling; for exameple, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything */
+} Evas_Event_Flags; /**< Flags for Events */
+
+/**
+ * Flags for Font Hinting
+ * @ingroup Evas_Font_Group
+ */
+typedef enum _Evas_Font_Hinting_Flags
+{
+   EVAS_FONT_HINTING_NONE, /**< No font hinting */
+   EVAS_FONT_HINTING_AUTO, /**< Automatic font hinting */
+   EVAS_FONT_HINTING_BYTECODE /**< Bytecode font hinting */
+} Evas_Font_Hinting_Flags; /**< Flags for Font Hinting */
+
+/**
+ * Colorspaces for pixel data supported by Evas
+ * @ingroup Evas_Object_Image
+ */
+typedef enum _Evas_Colorspace
+{
+   EVAS_COLORSPACE_ARGB8888, /**< ARGB 32 bits per pixel, high-byte is Alpha, accessed 1 32bit word at a time */
+     /* these are not currently supported - but planned for the future */
+   EVAS_COLORSPACE_YCBCR422P601_PL, /**< YCbCr 4:2:2 Planar, ITU.BT-601 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */
+   EVAS_COLORSPACE_YCBCR422P709_PL,/**< YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows */
+   EVAS_COLORSPACE_RGB565_A5P, /**< 16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte */
+   EVAS_COLORSPACE_GRY8, /**< 8bit grayscale */
+} Evas_Colorspace; /**< Colorspaces for pixel data supported by Evas */
+
+/**
+ * How to pack items into cells in a table.
+ * @ingroup Evas_Object_Table
+ */
+typedef enum _Evas_Object_Table_Homogeneous_Mode
+{
+  EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE = 0,
+  EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE = 1,
+  EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM = 2
+} Evas_Object_Table_Homogeneous_Mode; /**< Table cell pack mode. */
+
+typedef struct _Evas_Coord_Rectangle  Evas_Coord_Rectangle; /**< A generic rectangle handle */
+typedef struct _Evas_Point                   Evas_Point; /**< integer point */
+
+typedef struct _Evas_Coord_Point             Evas_Coord_Point;  /**< Evas_Coord point */
+typedef struct _Evas_Coord_Precision_Point   Evas_Coord_Precision_Point; /**< Evas_Coord point with sub-pixel precision */
+
+typedef struct _Evas_Position                Evas_Position; /**< associates given point in Canvas and Output */
+typedef struct _Evas_Precision_Position      Evas_Precision_Position; /**< associates given point in Canvas and Output, with sub-pixel precision */
+
+/**
+ * @typedef Evas_Smart_Class
+ * A smart object base class
+ * @ingroup Evas_Smart_Group
+ */
+typedef struct _Evas_Smart_Class             Evas_Smart_Class;
+
+/**
+ * @typedef Evas_Smart_Cb_Description
+ * A smart object callback description, used to provide introspection
+ * @ingroup Evas_Smart_Group
+ */
+typedef struct _Evas_Smart_Cb_Description    Evas_Smart_Cb_Description;
+
+/**
+ * @typedef Evas_Map
+ * An opaque handle to map points
+ * @see evas_map_new()
+ * @see evas_map_free()
+ * @see evas_map_dup()
+ * @ingroup Evas_Object_Group_Map
+ */
+typedef struct _Evas_Map            Evas_Map;
+
+/**
+ * @typedef Evas
+ * An Evas canvas handle.
+ * @see evas_new()
+ * @see evas_free()
+ * @ingroup Evas_Canvas
+ */
+typedef struct _Evas                Evas;
+
+/**
+ * @typedef Evas_Object
+ * An Evas Object handle.
+ * @ingroup Evas_Object_Group
+ */
+typedef struct _Evas_Object         Evas_Object;
+
+typedef void                        Evas_Performance; /**< An Evas Performance handle */
+typedef struct _Evas_Modifier       Evas_Modifier; /**< An Evas Modifier */
+typedef struct _Evas_Lock           Evas_Lock; /**< An Evas Lock */
+typedef struct _Evas_Smart          Evas_Smart; /**< An Evas Smart Object handle */
+typedef struct _Evas_Native_Surface Evas_Native_Surface; /**< A generic datatype for engine specific native surface information */
+typedef unsigned long long          Evas_Modifier_Mask; /**< An Evas modifier mask type */
+
+typedef int                         Evas_Coord;
+typedef int                         Evas_Font_Size;
+typedef int                         Evas_Angle;
+
+struct _Evas_Coord_Rectangle /**< A rectangle in Evas_Coord */
+{
+   Evas_Coord x; /**< top-left x co-ordinate of rectangle */
+   Evas_Coord y; /**< top-left y co-ordinate of rectangle */
+   Evas_Coord w; /**< width of rectangle */
+   Evas_Coord h; /**< height of rectangle */
+};
+
+struct _Evas_Point
+{
+   int x, y;
+};
+
+struct _Evas_Coord_Point
+{
+   Evas_Coord x, y;
+};
+
+struct _Evas_Coord_Precision_Point
+{
+   Evas_Coord x, y;
+   double xsub, ysub;
+};
+
+struct _Evas_Position
+{
+    Evas_Point output;
+    Evas_Coord_Point canvas;
+};
+
+struct _Evas_Precision_Position
+{
+    Evas_Point output;
+    Evas_Coord_Precision_Point canvas;
+};
+
+typedef enum _Evas_Aspect_Control
+{
+   EVAS_ASPECT_CONTROL_NONE = 0,
+   EVAS_ASPECT_CONTROL_NEITHER = 1,
+   EVAS_ASPECT_CONTROL_HORIZONTAL = 2,
+   EVAS_ASPECT_CONTROL_VERTICAL = 3,
+   EVAS_ASPECT_CONTROL_BOTH = 4
+} Evas_Aspect_Control;
+
+typedef struct _Evas_Pixel_Import_Source Evas_Pixel_Import_Source; /**< A source description of pixels for importing pixels */
+typedef struct _Evas_Engine_Info      Evas_Engine_Info; /**< A generic Evas Engine information structure */
+typedef struct _Evas_Device           Evas_Device; /**< A source device handle - where the event came from */
+typedef struct _Evas_Event_Mouse_Down Evas_Event_Mouse_Down; /**< Event structure for #EVAS_CALLBACK_MOUSE_DOWN event callbacks */
+typedef struct _Evas_Event_Mouse_Up   Evas_Event_Mouse_Up; /**< Event structure for #EVAS_CALLBACK_MOUSE_UP event callbacks */
+typedef struct _Evas_Event_Mouse_In   Evas_Event_Mouse_In; /**< Event structure for #EVAS_CALLBACK_MOUSE_IN event callbacks */
+typedef struct _Evas_Event_Mouse_Out  Evas_Event_Mouse_Out; /**< Event structure for #EVAS_CALLBACK_MOUSE_OUT event callbacks */
+typedef struct _Evas_Event_Mouse_Move Evas_Event_Mouse_Move; /**< Event structure for #EVAS_CALLBACK_MOUSE_MOVE event callbacks */
+typedef struct _Evas_Event_Mouse_Wheel Evas_Event_Mouse_Wheel; /**< Event structure for #EVAS_CALLBACK_MOUSE_WHEEL event callbacks */
+typedef struct _Evas_Event_Multi_Down Evas_Event_Multi_Down; /**< Event structure for #EVAS_CALLBACK_MULTI_DOWN event callbacks */
+typedef struct _Evas_Event_Multi_Up   Evas_Event_Multi_Up; /**< Event structure for #EVAS_CALLBACK_MULTI_UP event callbacks */
+typedef struct _Evas_Event_Multi_Move Evas_Event_Multi_Move; /**< Event structure for #EVAS_CALLBACK_MULTI_MOVE event callbacks */
+typedef struct _Evas_Event_Key_Down   Evas_Event_Key_Down; /**< Event structure for #EVAS_CALLBACK_KEY_DOWN event callbacks */
+typedef struct _Evas_Event_Key_Up     Evas_Event_Key_Up; /**< Event structure for #EVAS_CALLBACK_KEY_UP event callbacks */
+typedef struct _Evas_Event_Hold       Evas_Event_Hold; /**< Event structure for #EVAS_CALLBACK_HOLD event callbacks */
+
+typedef enum _Evas_Load_Error
+{
+   EVAS_LOAD_ERROR_NONE = 0, /**< No error on load */
+   EVAS_LOAD_ERROR_GENERIC = 1, /**< A non-specific error occurred */
+   EVAS_LOAD_ERROR_DOES_NOT_EXIST = 2, /**< File (or file path) does not exist */
+   EVAS_LOAD_ERROR_PERMISSION_DENIED = 3, /**< Permission deinied to an existing file (or path) */
+   EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED = 4, /**< Allocation of resources failure prevented load */
+   EVAS_LOAD_ERROR_CORRUPT_FILE = 5, /**< File corrupt (but was detected as a known format) */
+   EVAS_LOAD_ERROR_UNKNOWN_FORMAT = 6 /**< File is not a known format */
+} Evas_Load_Error; /**< Load error you can get from loading of files - see evas_load_error_str() too */
+
+typedef enum _Evas_Alloc_Error
+{
+   EVAS_ALLOC_ERROR_NONE = 0, /**< No allocation error */
+   EVAS_ALLOC_ERROR_FATAL = 1, /**< Allocation failed despite attempts to free up memory */
+   EVAS_ALLOC_ERROR_RECOVERED = 2 /**< Allocation succeeded, but extra memory had to be found by freeing up speculative resources */
+} Evas_Alloc_Error; /**< Possible allocation errors returned by evas_alloc_error() */
+   
+typedef enum _Evas_Fill_Spread
+{
+   EVAS_TEXTURE_REFLECT = 0, /**< image fill tiling mode - tiling reflects */
+   EVAS_TEXTURE_REPEAT = 1, /**< tiling repeats */
+   EVAS_TEXTURE_RESTRICT = 2, /**< tiling clamps - range offset ignored */
+   EVAS_TEXTURE_RESTRICT_REFLECT = 3, /**< tiling clamps and any range offset reflects */
+   EVAS_TEXTURE_RESTRICT_REPEAT = 4, /**< tiling clamps and any range offset repeats */
+   EVAS_TEXTURE_PAD = 5 /**< tiling extends with end values */
+} Evas_Fill_Spread; /**< Fill types used for evas_object_image_fill_spread_set() */
+
+typedef enum _Evas_Pixel_Import_Pixel_Format
+{
+   EVAS_PIXEL_FORMAT_NONE = 0, /**< No pixel format */
+   EVAS_PIXEL_FORMAT_ARGB32 = 1, /**< ARGB 32bit pixel format with A in the high byte per 32bit pixel word */
+   EVAS_PIXEL_FORMAT_YUV420P_601 = 2, /**< YUV 420 Planar format with CCIR 601 color encoding wuth contiguous planes in the order Y, U and V */
+} Evas_Pixel_Import_Pixel_Format; /**< Pixel format for import call. See evas_object_image_pixels_import() */
+
+struct _Evas_Pixel_Import_Source
+{
+   Evas_Pixel_Import_Pixel_Format format; /**< pixel format type ie ARGB32, YUV420P_601 etc. */
+   int w, h; /**< width and height of source in pixels */
+   void **rows; /**< an array of pointers (size depends on format) pointing to left edge of each scanline */
+};
+
+/* magic version number to know what the native surf struct looks like */
+#define EVAS_NATIVE_SURFACE_VERSION 2
+  
+typedef enum _Evas_Native_Surface_Type
+{
+   EVAS_NATIVE_SURFACE_NONE,
+   EVAS_NATIVE_SURFACE_X11,
+   EVAS_NATIVE_SURFACE_OPENGL
+} Evas_Native_Surface_Type;
+  
+struct _Evas_Native_Surface
+{
+   int                         version;
+   Evas_Native_Surface_Type    type;
+   union {
+     struct {
+       void          *visual; /**< visual of the pixmap to use (Visual) */
+       unsigned long  pixmap; /**< pixmap id to use (Pixmap) */
+     } x11;
+     struct {
+       unsigned int   texture_id; /**< opengl texture id to use from glGenTextures() */
+       unsigned int   framebuffer_id; /**< 0 if not a FBO, FBO id otherwise from glGenFramebuffers() */
+       unsigned int   internal_format; /**< same as 'internalFormat' for glTexImage2D() */
+       unsigned int   format; /**< same as 'format' for glTexImage2D() */
+       unsigned int   x, y, w, h; /**< region inside the texture to use (image size is assumed as texture size, with 0, 0 being the top-left and co-ordinates working down to the right and bottom being positive) */
+     } opengl;
+   } data;
+};
+
+#define EVAS_LAYER_MIN -32768 /**< bottom-most layer number */
+#define EVAS_LAYER_MAX 32767  /**< top-most layer number */
+
+#define EVAS_COLOR_SPACE_ARGB 0 /**< Not used for anything */
+#define EVAS_COLOR_SPACE_AHSV 1 /**< Not used for anything */
+#define EVAS_TEXT_INVALID -1 /**< Not used for anything */
+#define EVAS_TEXT_SPECIAL -2 /**< Not used for anything */
+
+#define EVAS_HINT_EXPAND  1.0 /**< Use with evas_object_size_hint_weight_set(), evas_object_size_hint_weight_get(), evas_object_size_hint_expand_set(), evas_object_size_hint_expand_get() */
+#define EVAS_HINT_FILL   -1.0 /**< Use with evas_object_size_hint_align_set(), evas_object_size_hint_align_get(), evas_object_size_hint_fill_set(), evas_object_size_hint_fill_get() */
+#define evas_object_size_hint_fill_set evas_object_size_hint_align_set /**< Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align) */
+#define evas_object_size_hint_fill_get evas_object_size_hint_align_get /**< Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align) */
+#define evas_object_size_hint_expand_set evas_object_size_hint_weight_set /**< Convenience macro to make it easier to understand that weight is also used for expand properties */
+#define evas_object_size_hint_expand_get evas_object_size_hint_weight_get /**< Convenience macro to make it easier to understand that weight is also used for expand properties */
+
+/**
+ * How the object should be rendered to output.
+ * @ingroup Evas_Object_Group_Extras
+ */
+typedef enum _Evas_Render_Op
+{
+   EVAS_RENDER_BLEND = 0, /**< default op: d = d*(1-sa) + s */
+   EVAS_RENDER_BLEND_REL = 1, /**< d = d*(1 - sa) + s*da */
+   EVAS_RENDER_COPY = 2, /**< d = s */
+   EVAS_RENDER_COPY_REL = 3, /**< d = s*da */
+   EVAS_RENDER_ADD = 4, /**< d = d + s */
+   EVAS_RENDER_ADD_REL = 5, /**< d = d + s*da */
+   EVAS_RENDER_SUB = 6, /**< d = d - s */
+   EVAS_RENDER_SUB_REL = 7, /**< d = d - s*da */
+   EVAS_RENDER_TINT = 8, /**< d = d*s + d*(1 - sa) + s*(1 - da) */
+   EVAS_RENDER_TINT_REL = 9, /**< d = d*(1 - sa + s) */
+   EVAS_RENDER_MASK = 10, /**< d = d*sa */
+   EVAS_RENDER_MUL = 11 /**< d = d*s */
+} Evas_Render_Op; /**< How the object should be rendered to output. */
+
+typedef enum _Evas_Border_Fill_Mode
+{
+   EVAS_BORDER_FILL_NONE = 0,
+   EVAS_BORDER_FILL_DEFAULT = 1,
+   EVAS_BORDER_FILL_SOLID = 2
+} Evas_Border_Fill_Mode;
+
+typedef enum _Evas_Image_Scale_Hint
+{
+   EVAS_IMAGE_SCALE_HINT_NONE = 0,
+   EVAS_IMAGE_SCALE_HINT_DYNAMIC = 1,
+   EVAS_IMAGE_SCALE_HINT_STATIC = 2
+} Evas_Image_Scale_Hint;
+
+typedef enum _Evas_Engine_Render_Mode
+{
+   EVAS_RENDER_MODE_BLOCKING = 0,
+   EVAS_RENDER_MODE_NONBLOCKING = 1,
+} Evas_Engine_Render_Mode;
+
+typedef enum _Evas_Image_Content_Hint
+{
+   EVAS_IMAGE_CONTENT_HINT_NONE = 0,
+   EVAS_IMAGE_CONTENT_HINT_DYNAMIC = 1,
+   EVAS_IMAGE_CONTENT_HINT_STATIC = 2
+} Evas_Image_Content_Hint;
+
+struct _Evas_Engine_Info /** Generic engine information. Generic info is useless */
+{
+   int magic; /**< Magic number */
+};
+
+struct _Evas_Event_Mouse_Down /** Mouse button press event */
+{
+   int button; /**< Mouse button number that went down (1 - 32) */
+
+   Evas_Point output;
+   Evas_Coord_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   Evas_Button_Flags flags;
+   unsigned int      timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Mouse_Up /** Mouse button release event */
+{
+   int button; /**< Mouse button number that was raised (1 - 32) */
+
+   Evas_Point output;
+   Evas_Coord_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   Evas_Button_Flags flags;
+   unsigned int      timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Mouse_In /** Mouse enter event */
+{
+   int buttons; /**< Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.) */
+
+   Evas_Point output;
+   Evas_Coord_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Mouse_Out /** Mouse leave event */
+{
+   int buttons; /**< Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.) */
+
+
+   Evas_Point output;
+   Evas_Coord_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Mouse_Move /** Mouse button down event */
+{
+   int buttons; /**< Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.) */
+
+   Evas_Position cur, prev;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Mouse_Wheel /** Wheel event */
+{
+   int direction; /* 0 = default up/down wheel FIXME: more wheel types */
+   int z; /* ...,-2,-1 = down, 1,2,... = up */
+
+   Evas_Point output;
+   Evas_Coord_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Multi_Down /** Multi button press event */
+{
+   int device; /**< Multi device number that went down (1 or more for extra touches) */
+   double radius, radius_x, radius_y;
+   double pressure, angle;
+
+   Evas_Point output;
+   Evas_Coord_Precision_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   Evas_Button_Flags flags;
+   unsigned int      timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Multi_Up /** Multi button release event */
+{
+   int device; /**< Multi device number that went up (1 or more for extra touches) */
+   double radius, radius_x, radius_y;
+   double pressure, angle;
+
+   Evas_Point output;
+   Evas_Coord_Precision_Point canvas;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   Evas_Button_Flags flags;
+   unsigned int      timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Multi_Move /** Multi button down event */
+{
+   int device; /**< Multi device number that moved (1 or more for extra touches) */
+   double radius, radius_x, radius_y;
+   double pressure, angle;
+
+   Evas_Precision_Position cur;
+
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Key_Down /** Key press event */
+{
+   char          *keyname; /**< The string name of the key pressed */
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   const char    *key; /**< The logical key : (eg shift+1 == exclamation) */
+   const char    *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */
+   const char    *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Key_Up /** Key release event */
+{
+   char          *keyname; /**< The string name of the key released */
+   void          *data;
+   Evas_Modifier *modifiers;
+   Evas_Lock     *locks;
+
+   const char    *key; /**< The logical key : (eg shift+1 == exclamation) */
+   const char    *string; /**< A UTF8 string if this keystroke has produced a visible string to be ADDED */
+   const char    *compose; /**< A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one */
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+struct _Evas_Event_Hold /** Hold change event */
+{
+   int            hold; /**< The hold flag */
+   void          *data;
+
+   unsigned int   timestamp;
+   Evas_Event_Flags  event_flags;
+   Evas_Device      *dev;
+};
+
+/**
+ * How mouse pointer should be handled by Evas.
+ *
+ * If #EVAS_OBJECT_POINTER_MODE_AUTOGRAB, then when mouse is down an
+ * object, then moves outside of it, the pointer still behaves as
+ * being bound to the object, albeit out of its drawing region. On
+ * mouse up, the event will be feed to the object, that may check if
+ * the final position is over or not and do something about it.
+ *
+ * @ingroup Evas_Object_Group_Extras
+ */
+typedef enum _Evas_Object_Pointer_Mode
+{
+   EVAS_OBJECT_POINTER_MODE_AUTOGRAB, /**< default, X11-like */
+   EVAS_OBJECT_POINTER_MODE_NOGRAB
+} Evas_Object_Pointer_Mode; /**< How mouse pointer should be handled by Evas. */
+
+typedef void      (*Evas_Smart_Cb) (void *data, Evas_Object *obj, void *event_info);
+typedef void      (*Evas_Event_Cb) (void *data, Evas *e, void *event_info);
+typedef Eina_Bool (*Evas_Object_Event_Post_Cb) (void *data, Evas *e);
+typedef void      (*Evas_Object_Event_Cb) (void *data, Evas *e, Evas_Object *obj, void *event_info);
+typedef void      (*Evas_Async_Events_Put_Cb)(void *target, Evas_Callback_Type type, void *event_info);
+
+/**
+ * @defgroup Evas_Group Top Level Functions
+ *
+ * Functions that affect Evas as a whole.
+ */
+   EAPI int               evas_init                         (void);
+   EAPI int               evas_shutdown                     (void);
+
+   EAPI Evas_Alloc_Error  evas_alloc_error                  (void);
+
+   EAPI int               evas_async_events_fd_get          (void) EINA_WARN_UNUSED_RESULT EINA_PURE;
+   EAPI int               evas_async_events_process         (void);
+   EAPI Eina_Bool         evas_async_events_put             (const void *target, Evas_Callback_Type type, void *event_info, Evas_Async_Events_Put_Cb func) EINA_ARG_NONNULL(1, 4);
+
+/**
+ * @defgroup Evas_Canvas Canvas Functions
+ *
+ * Functions that deal with the basic evas object.  They are the
+ * functions you need to use at a minimum to get a working evas, and
+ * to destroy it.
+ *
+ */
+
+   EAPI Evas             *evas_new                          (void) EINA_WARN_UNUSED_RESULT EINA_MALLOC;
+   EAPI void              evas_free                         (Evas *e)  EINA_ARG_NONNULL(1);
+
+   EAPI void              evas_focus_in                     (Evas *e);
+   EAPI void              evas_focus_out                    (Evas *e);
+   EAPI Eina_Bool         evas_focus_state_get              (const Evas *e) EINA_PURE;
+   EAPI void              evas_nochange_push                (Evas *e);
+   EAPI void              evas_nochange_pop                 (Evas *e);
+         
+   EAPI void              evas_data_attach_set              (Evas *e, void *data) EINA_ARG_NONNULL(1);
+   EAPI void             *evas_data_attach_get              (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_damage_rectangle_add         (Evas *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_obscured_rectangle_add       (Evas *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_obscured_clear               (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI Eina_List        *evas_render_updates               (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI void              evas_render_updates_free          (Eina_List *updates);
+   EAPI void              evas_render                       (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_norender                     (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_render_idle_flush            (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_render_dump                  (Evas *e) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Output_Method Render Engine Functions
+ *
+ * Functions that are used to set the render engine for a given
+ * function, and then get that engine working.
+ *
+ * The following code snippet shows how they can be used to
+ * initialise an evas that uses the X11 software engine:
+ * @code
+ * Evas *evas;
+ * Evas_Engine_Info_Software_X11 *einfo;
+ * extern Display *display;
+ * extern Window win;
+ *
+ * evas_init();
+ *
+ * evas = evas_new();
+ * evas_output_method_set(evas, evas_render_method_lookup("software_x11"));
+ * evas_output_size_set(evas, 640, 480);
+ * evas_output_viewport_set(evas, 0, 0, 640, 480);
+ * einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(evas);
+ * einfo->info.display = display;
+ * einfo->info.visual = DefaultVisual(display, DefaultScreen(display));
+ * einfo->info.colormap = DefaultColormap(display, DefaultScreen(display));
+ * einfo->info.drawable = win;
+ * einfo->info.depth = DefaultDepth(display, DefaultScreen(display));
+ * evas_engine_info_set(evas, (Evas_Engine_Info *)einfo);
+ * @endcode
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI int               evas_render_method_lookup         (const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI Eina_List        *evas_render_method_list           (void) EINA_WARN_UNUSED_RESULT;
+   EAPI void              evas_render_method_list_free      (Eina_List *list);
+
+   EAPI void              evas_output_method_set            (Evas *e, int render_method) EINA_ARG_NONNULL(1);
+   EAPI int               evas_output_method_get            (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Evas_Engine_Info *evas_engine_info_get              (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_Bool         evas_engine_info_set              (Evas *e, Evas_Engine_Info *info) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Output_Size Output and Viewport Resizing Functions
+ *
+ * Functions that set and retrieve the output and viewport size of an
+ * evas.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void              evas_output_size_set              (Evas *e, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_output_size_get              (const Evas *e, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_output_viewport_set          (Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_output_viewport_get          (const Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Coord_Mapping_Group Coordinate Mapping Functions
+ *
+ * Functions that are used to map coordinates from the canvas to the
+ * screen or the screen to the canvas.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI Evas_Coord        evas_coord_screen_x_to_world      (const Evas *e, int x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI Evas_Coord        evas_coord_screen_y_to_world      (const Evas *e, int y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI int               evas_coord_world_x_to_screen      (const Evas *e, Evas_Coord x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI int               evas_coord_world_y_to_screen      (const Evas *e, Evas_Coord y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Pointer_Group Pointer (Mouse) Functions
+ *
+ * Functions that deal with the status of the pointer (mouse cursor).
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void              evas_pointer_output_xy_get        (const Evas *e, int *x, int *y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_pointer_canvas_xy_get        (const Evas *e, Evas_Coord *x, Evas_Coord *y) EINA_ARG_NONNULL(1);
+   EAPI int               evas_pointer_button_down_mask_get (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_pointer_inside_get           (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI void              evas_sync(Evas *e) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Event_Freezing_Group Event Freezing Functions
+ *
+ * Functions that deal with the freezing of event processing of an
+ * evas.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void              evas_event_freeze                 (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_thaw                   (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI int               evas_event_freeze_get             (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Event_Feeding_Group Event Feeding Functions
+ *
+ * Functions to tell Evas that events happened and should be
+ * processed.
+ *
+ * As explained in @ref intro_not_evas, Evas does not know how to poll
+ * for events, so the developer should do it and then feed such events
+ * to the canvas to be processed. This is only required if operating
+ * Evas directly as modules such as Ecore_Evas does that for you.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void              evas_event_feed_mouse_down        (Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_mouse_up          (Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_mouse_move        (Evas *e, int x, int y, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_mouse_in          (Evas *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_mouse_out         (Evas *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_multi_down        (Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data);
+   EAPI void              evas_event_feed_multi_up          (Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, Evas_Button_Flags flags, unsigned int timestamp, const void *data);
+   EAPI void              evas_event_feed_multi_move        (Evas *e, int d, int x, int y, double rad, double radx, double rady, double pres, double ang, double fx, double fy, unsigned int timestamp, const void *data);
+   EAPI void              evas_event_feed_mouse_cancel      (Evas *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_mouse_wheel       (Evas *e, int direction, int z, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_key_down          (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_key_up            (Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_event_feed_hold              (Evas *e, int hold, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Canvas_Events Canvas Events
+ *
+ * Canvas generates some events
+ *
+ * @ingroup Evas_Canvas
+ */
+
+   EAPI void              evas_event_callback_add              (Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3);
+   EAPI void             *evas_event_callback_del              (Evas *e, Evas_Callback_Type type, Evas_Event_Cb func) EINA_ARG_NONNULL(1, 3);
+   EAPI void             *evas_event_callback_del_full         (Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3);
+   EAPI void              evas_post_event_callback_push        (Evas *e, Evas_Object_Event_Post_Cb func, const void *data);
+   EAPI void              evas_post_event_callback_remove      (Evas *e, Evas_Object_Event_Post_Cb func);
+   EAPI void              evas_post_event_callback_remove_full (Evas *e, Evas_Object_Event_Post_Cb func, const void *data);
+       
+/**
+ * @defgroup Evas_Image_Group Image Functions
+ *
+ * Functions that deals with images at canvas level.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void              evas_image_cache_flush            (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_image_cache_reload           (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_image_cache_set              (Evas *e, int size) EINA_ARG_NONNULL(1);
+   EAPI int               evas_image_cache_get              (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Font_Group Font Functions
+ *
+ * Functions that deals with fonts.
+ *
+ * @ingroup Evas_Canvas
+ */
+   EAPI void                     evas_font_hinting_set        (Evas *e, Evas_Font_Hinting_Flags hinting) EINA_ARG_NONNULL(1);
+   EAPI Evas_Font_Hinting_Flags  evas_font_hinting_get        (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_Bool                evas_font_hinting_can_hint   (const Evas *e, Evas_Font_Hinting_Flags hinting) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                     evas_font_cache_flush        (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_font_cache_set          (Evas *e, int size) EINA_ARG_NONNULL(1);
+   EAPI int                      evas_font_cache_get          (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Eina_List               *evas_font_available_list     (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_font_available_list_free(Evas *e, Eina_List *available) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Font_Path_Group Font Path Functions
+ *
+ * Functions that edit the paths being used to load fonts.
+ *
+ * @ingroup Evas_Font_Group
+ */
+   EAPI void              evas_font_path_clear              (Evas *e) EINA_ARG_NONNULL(1);
+   EAPI void              evas_font_path_append             (Evas *e, const char *path) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_font_path_prepend            (Evas *e, const char *path) EINA_ARG_NONNULL(1, 2);
+   EAPI const Eina_List  *evas_font_path_list               (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Object_Group Generic Object Functions
+ *
+ * Functions that manipulate generic evas objects.
+ */
+
+/**
+ * @defgroup Evas_Object_Group_Basic Basic Object Manipulation
+ *
+ * Methods that are often used, like those that change the color,
+ * clippers and geometry of the object.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI void              evas_object_clip_set              (Evas_Object *obj, Evas_Object *clip) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object      *evas_object_clip_get              (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_clip_unset            (Evas_Object *obj);
+   EAPI const Eina_List  *evas_object_clipees_get           (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_focus_set             (Evas_Object *obj, Eina_Bool focus) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_focus_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_layer_set             (Evas_Object *obj, short l) EINA_ARG_NONNULL(1);
+   EAPI short             evas_object_layer_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_name_set              (Evas_Object *obj, const char *name) EINA_ARG_NONNULL(1);
+   EAPI const char       *evas_object_name_get              (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_ref                   (Evas_Object *obj);
+   EAPI void              evas_object_unref                 (Evas_Object *obj);
+   
+   EAPI void              evas_object_del                   (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_move                  (Evas_Object *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_resize                (Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_geometry_get          (const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+
+   EAPI void              evas_object_show                  (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_hide                  (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_visible_get           (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_color_set             (Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_color_get             (const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
+
+   EAPI Evas             *evas_object_evas_get              (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI const char       *evas_object_type_get              (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void              evas_object_raise                 (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_lower                 (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_stack_above           (Evas_Object *obj, Evas_Object *above) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_stack_below           (Evas_Object *obj, Evas_Object *below) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object      *evas_object_above_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Object      *evas_object_below_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Object_Group_Events Object Events
+ *
+ * Objects generates events when they are moved, resized, when their
+ * visibility change, when they are deleted and so on. These methods
+ * will allow one to handle such events.
+ *
+ * The events can be those from keyboard and mouse, if the object
+ * accepts these events.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI void              evas_object_event_callback_add     (Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3);
+   EAPI void             *evas_object_event_callback_del     (Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func) EINA_ARG_NONNULL(1, 3);
+   EAPI void             *evas_object_event_callback_del_full(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 3);
+
+   EAPI void              evas_object_pass_events_set        (Evas_Object *obj, Eina_Bool pass) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_pass_events_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_repeat_events_set      (Evas_Object *obj, Eina_Bool repeat) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_repeat_events_get      (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_propagate_events_set   (Evas_Object *obj, Eina_Bool prop) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_propagate_events_get   (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Object_Group_Map UV Mapping (Rotation, Perspecitve, 3D...)
+ *
+ * Evas allows different transformations to be applied to all kinds of
+ * objects. These are applied by means of UV mapping.
+ *
+ * With UV mapping, one maps points in the source object to a 3D space
+ * positioning at target. This allows rotation, perspective, scale and
+ * lots of other effects, depending on the map that is used.
+ *
+ * Each map point may carry a multiplier color. If properly
+ * calculated, these can do shading effects on the object, producing
+ * 3D effects.
+ *
+ * As usual, Evas provides both the raw and easy to use methods. The
+ * raw methods allow developer to create its maps somewhere else,
+ * maybe load them from some file format. The easy to use methods,
+ * calculate the points given some high-level parameters, such as
+ * rotation angle, ambient light and so on.
+ *
+ * @note applying mapping will reduce performance, so use with
+ *       care. The impact on performance depends on engine in
+ *       use. Software is quite optimized, but not as fast as OpenGL.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI void              evas_object_map_enable_set        (Evas_Object *obj, Eina_Bool enabled);
+   EAPI Eina_Bool         evas_object_map_enable_get        (const Evas_Object *obj);
+   EAPI void              evas_object_map_source_set        (Evas_Object *obj, Evas_Object *src);
+   EAPI Evas_Object      *evas_object_map_source_get        (const Evas_Object *obj);
+   EAPI void              evas_object_map_set               (Evas_Object *obj, const Evas_Map *map);
+   EAPI const Evas_Map   *evas_object_map_get               (const Evas_Object *obj);
+
+   EAPI void              evas_map_util_points_populate_from_object_full(Evas_Map *m, const Evas_Object *obj, Evas_Coord z);
+   EAPI void              evas_map_util_points_populate_from_object     (Evas_Map *m, const Evas_Object *obj);
+   EAPI void              evas_map_util_points_populate_from_geometry   (Evas_Map *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z);
+   EAPI void              evas_map_util_points_color_set                (Evas_Map *m, int r, int g, int b, int a);
+   EAPI void              evas_map_util_rotate                          (Evas_Map *m, double degrees, Evas_Coord cx, Evas_Coord cy);
+   EAPI void              evas_map_util_zoom                            (Evas_Map *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy);
+   EAPI void              evas_map_util_3d_rotate                       (Evas_Map *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz);
+   EAPI void              evas_map_util_3d_lighting                     (Evas_Map *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab);
+   EAPI void              evas_map_util_3d_perspective                  (Evas_Map *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc);
+   EAPI Eina_Bool         evas_map_util_clockwise_get                   (Evas_Map *m);
+
+   EAPI Evas_Map         *evas_map_new                      (int count);
+   EAPI void              evas_map_smooth_set               (Evas_Map *m, Eina_Bool enabled);
+   EAPI Eina_Bool         evas_map_smooth_get               (const Evas_Map *m);
+   EAPI void              evas_map_alpha_set                (Evas_Map *m, Eina_Bool enabled);
+   EAPI Eina_Bool         evas_map_alpha_get                (const Evas_Map *m);
+   EAPI Evas_Map         *evas_map_dup                      (const Evas_Map *m);
+   EAPI void              evas_map_free                     (Evas_Map *m);
+   EAPI int               evas_map_count_get               (const Evas_Map *m) EINA_CONST;
+   EAPI void              evas_map_point_coord_set          (Evas_Map *m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z);
+   EAPI void              evas_map_point_coord_get          (const Evas_Map *m, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z);
+   EAPI void              evas_map_point_image_uv_set       (Evas_Map *m, int idx, double u, double v);
+   EAPI void              evas_map_point_image_uv_get       (const Evas_Map *m, int idx, double *u, double *v);
+   EAPI void              evas_map_point_color_set          (Evas_Map *m, int idx, int r, int g, int b, int a);
+   EAPI void              evas_map_point_color_get          (const Evas_Map *m, int idx, int *r, int *g, int *b, int *a);
+
+/**
+ * @defgroup Evas_Object_Group_Size_Hints Size Hints
+ *
+ * Objects may carry hints so another object that acts as a manager
+ * (see @ref Evas_Smart_Object_Group) may know how to properly position
+ * and resize the object. The Size Hints provide a common interface
+ * that is recommended as the protocol for such information.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI void              evas_object_size_hint_min_get     (const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_min_set     (Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_max_get     (const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_max_set     (Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_request_get (const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_request_set (Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_aspect_get  (const Evas_Object *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_aspect_set  (Evas_Object *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_align_get   (const Evas_Object *obj, double *x, double *y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_align_set   (Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_weight_get  (const Evas_Object *obj, double *x, double *y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_weight_set  (Evas_Object *obj, double x, double y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_padding_get (const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_size_hint_padding_set (Evas_Object *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Object_Group_Extras Extra Object Manipulation
+ *
+ * Miscellaneous functions that also apply to any object, but are less
+ * used or not implemented by all objects.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI void                      evas_object_data_set             (Evas_Object *obj, const char *key, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                     *evas_object_data_get             (const Evas_Object *obj, const char *key) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI void                     *evas_object_data_del             (Evas_Object *obj, const char *key) EINA_ARG_NONNULL(1, 2);
+
+   EAPI void                      evas_object_pointer_mode_set     (Evas_Object *obj, Evas_Object_Pointer_Mode setting) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object_Pointer_Mode  evas_object_pointer_mode_get     (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                      evas_object_anti_alias_set       (Evas_Object *obj, Eina_Bool antialias) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                 evas_object_anti_alias_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                      evas_object_scale_set            (Evas_Object *obj, double scale) EINA_ARG_NONNULL(1);
+   EAPI double                    evas_object_scale_get            (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                      evas_object_render_op_set        (Evas_Object *obj, Evas_Render_Op op) EINA_ARG_NONNULL(1);
+   EAPI Evas_Render_Op            evas_object_render_op_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                      evas_object_precise_is_inside_set(Evas_Object *obj, Eina_Bool precise) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                 evas_object_precise_is_inside_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                      evas_object_static_clip_set      (Evas_Object *obj, Eina_Bool is_static_clip) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                 evas_object_static_clip_get      (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+         
+/**
+ * @defgroup Evas_Object_Group_Find Finding Objects
+ *
+ * Functions that allows finding objects by their position, name or
+ * other properties.
+ *
+ * @ingroup Evas_Object_Group
+ */
+   EAPI Evas_Object      *evas_focus_get                    (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Evas_Object      *evas_object_name_find             (const Evas *e, const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Evas_Object      *evas_object_top_at_xy_get         (const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Object      *evas_object_top_at_pointer_get    (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Object      *evas_object_top_in_rectangle_get  (const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Eina_List        *evas_objects_at_xy_get            (const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_List        *evas_objects_in_rectangle_get     (const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Evas_Object      *evas_object_bottom_get            (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Object      *evas_object_top_get               (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * @defgroup Evas_Object_Group_Interceptors Object Method Interceptors
+ *
+ * Evas provides a way to intercept method calls. The interceptor
+ * callback may opt to completely deny the call, or may check and
+ * change the parameters before continuing. The continuation of an
+ * intercepted call is done by calling the intercepted call again,
+ * from inside the interceptor callback.
+ *
+ * @ingroup Evas_Object_Group
+ */
+typedef void (*Evas_Object_Intercept_Show_Cb) (void *data, Evas_Object *obj);
+typedef void (*Evas_Object_Intercept_Hide_Cb) (void *data, Evas_Object *obj);
+typedef void (*Evas_Object_Intercept_Move_Cb) (void *data, Evas_Object *obj, Evas_Coord x, Evas_Coord y);
+typedef void (*Evas_Object_Intercept_Resize_Cb) (void *data, Evas_Object *obj, Evas_Coord w, Evas_Coord h);
+typedef void (*Evas_Object_Intercept_Raise_Cb) (void *data, Evas_Object *obj);
+typedef void (*Evas_Object_Intercept_Lower_Cb) (void *data, Evas_Object *obj);
+typedef void (*Evas_Object_Intercept_Stack_Above_Cb) (void *data, Evas_Object *obj, Evas_Object *above);
+typedef void (*Evas_Object_Intercept_Stack_Below_Cb) (void *data, Evas_Object *obj, Evas_Object *above);
+typedef void (*Evas_Object_Intercept_Layer_Set_Cb) (void *data, Evas_Object *obj, int l);
+typedef void (*Evas_Object_Intercept_Color_Set_Cb) (void *data, Evas_Object *obj, int r, int g, int b, int a);
+typedef void (*Evas_Object_Intercept_Clip_Set_Cb) (void *data, Evas_Object *obj, Evas_Object *clip);
+typedef void (*Evas_Object_Intercept_Clip_Unset_Cb) (void *data, Evas_Object *obj);
+   
+   EAPI void              evas_object_intercept_show_callback_add        (Evas_Object *obj, Evas_Object_Intercept_Show_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_show_callback_del        (Evas_Object *obj, Evas_Object_Intercept_Show_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_hide_callback_add        (Evas_Object *obj, Evas_Object_Intercept_Hide_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_hide_callback_del        (Evas_Object *obj, Evas_Object_Intercept_Hide_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_move_callback_add        (Evas_Object *obj, Evas_Object_Intercept_Move_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_move_callback_del        (Evas_Object *obj, Evas_Object_Intercept_Move_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_resize_callback_add      (Evas_Object *obj, Evas_Object_Intercept_Resize_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_resize_callback_del      (Evas_Object *obj, Evas_Object_Intercept_Resize_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_raise_callback_add       (Evas_Object *obj, Evas_Object_Intercept_Raise_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_raise_callback_del       (Evas_Object *obj, Evas_Object_Intercept_Raise_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_lower_callback_add       (Evas_Object *obj, Evas_Object_Intercept_Lower_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_lower_callback_del       (Evas_Object *obj, Evas_Object_Intercept_Lower_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_stack_above_callback_add (Evas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_stack_above_callback_del (Evas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_stack_below_callback_add (Evas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_stack_below_callback_del (Evas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_layer_set_callback_add   (Evas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_layer_set_callback_del   (Evas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_color_set_callback_add   (Evas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_color_set_callback_del   (Evas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_clip_set_callback_add    (Evas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_clip_set_callback_del    (Evas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_intercept_clip_unset_callback_add  (Evas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void             *evas_object_intercept_clip_unset_callback_del  (Evas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func) EINA_ARG_NONNULL(1, 2);
+
+
+
+/**
+ * @defgroup Evas_Object_Specific Specific Object Functions
+ *
+ * Functions that work on specific objects.
+ *
+ */
+
+/**
+ * @defgroup Evas_Object_Rectangle Rectangle Object Functions
+ *
+ * Functions that operate on evas rectangle objects.
+ *
+ * @ingroup Evas_Object_Specific
+ */
+   EAPI Evas_Object      *evas_object_rectangle_add         (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+/**
+ * @defgroup Evas_Object_Image Image Object Functions
+ *
+ * Functions used to create and manipulate image objects.
+ *
+ * Note - Image objects may return or accept "image data" in multiple
+ * formats.  This is based on the colorspace of an object. Here is a
+ * rundown on formats:
+ *
+ * EVAS_COLORSPACE_ARGB8888:
+ *
+ * This pixel format is a linear block of pixels, starting at the
+ * top-left row by row until the bottom right of the image or pixel
+ * region. All pixels are 32-bit unsigned int's with the high-byte
+ * being alpha and the low byte being blue in the format ARGB. Alpha
+ * may or may not be used by evas depending on the alpha flag of the
+ * image, but if not used, should be set to 0xff anyway.
+ *
+ * This colorspace uses premultiplied alpha. That means that R, G and
+ * B cannot exceed A in value. The conversion from non-premultiplied
+ * colorspace is:
+ *
+ * R = (r * a) / 255; G = (g * a) / 255; B = (b * a) / 255;
+ *
+ * So 50% transparent blue will be: 0x80000080. This will not be
+ * "dark" - just 50% transparent. Values are 0 == black, 255 == solid
+ * or full red, green or blue.
+ *
+ * EVAS_COLORSPACE_YCBCR422P601_PL:
+ *
+ * This is a pointer-list indirected set of YUV (YCbCr) pixel
+ * data. This means that the data returned or set is not actual pixel
+ * data, but pointers TO lines of pixel data. The list of pointers
+ * will first be N rows of pointers to the Y plane - pointing to the
+ * first pixel at the start of each row in the Y plane. N is the
+ * height of the image data in pixels. Each pixel in the Y, U and V
+ * planes is 1 byte exactly, packed. The next N / 2 pointers will
+ * point to rows in the U plane, and the next N / 2 pointers will
+ * point to the V plane rows. U and V planes are half the horizontal
+ * and vertical resolution of the Y plane.
+ *
+ * Row order is top to bottom and row pixels are stored left to right.
+ *
+ * There is a limitation that these images MUST be a multiple of 2
+ * pixels in size horizontally or vertically. This is due to the U and
+ * V planes being half resolution. Also note that this assumes the
+ * itu601 YUV colorspace specification. This is defined for standard
+ * television and mpeg streams.  HDTV may use the itu709
+ * specification.
+ *
+ * Values are 0 to 255, indicating full or no signal in that plane
+ * respectively.
+ *
+ * EVAS_COLORSPACE_YCBCR422P709_PL:
+ *
+ * Not implemented yet.
+ *
+ * EVAS_COLORSPACE_RGB565_A5P:
+ *
+ * In the process of being implemented in 1 engine only. This may change.
+ *
+ * This is a pointer to image data for 16-bit half-word pixel data in
+ * 16bpp RGB 565 format (5 bits red, 6 bits green, 5 bits blue), with
+ * the high-byte containing red and the low byte containing blue, per
+ * pixel. This data is packed row by row from the top-left to the
+ * bottom right.
+ *
+ * If the image has an alpha channel enabled there will be an extra
+ * alpha plane after the color pixel plane. If not, then this data
+ * will not exist and should not be accessed in any way. This plane is
+ * a set of pixels with 1 byte per pixel defining the alpha values of
+ * all pixels in the image from the top-left to the bottom right of
+ * the image, row by row. Even though the values of the alpha pixels
+ * can be 0 to 255, only values 0 through to 32 are used, 32 being
+ * solid and 0 being transparent.
+ *
+ * RGB values can be 0 to 31 for red and blue and 0 to 63 for green,
+ * with 0 being black and 31 or 63 being full red, green or blue
+ * respectively. This colorspace is also pre-multiplied like
+ * EVAS_COLORSPACE_ARGB8888 so:
+ *
+ * R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32;
+ *
+ * EVAS_COLORSPACE_A8:
+ *
+ * The image is just a alpha mask (8 bit's per pixel).  This is used for alpha
+ * masking.
+ *
+ * @ingroup Evas_Object_Specific
+ */
+typedef void (*Evas_Object_Image_Pixels_Get_Cb) (void *data, Evas_Object *o);
+   
+   EAPI Evas_Object             *evas_object_image_add                    (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Evas_Object             *evas_object_image_filled_add             (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI void                     evas_object_image_memfile_set            (Evas_Object *obj, void *data, int size, char *format, char *key) EINA_ARG_NONNULL(1, 2);
+   EAPI void                     evas_object_image_file_set               (Evas_Object *obj, const char *file, const char *key) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_file_get               (const Evas_Object *obj, const char **file, const char **key) EINA_ARG_NONNULL(1, 2);
+   EAPI void                     evas_object_image_border_set             (Evas_Object *obj, int l, int r, int t, int b) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_border_get             (const Evas_Object *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_border_center_fill_set (Evas_Object *obj, Evas_Border_Fill_Mode fill) EINA_ARG_NONNULL(1);
+   EAPI Evas_Border_Fill_Mode    evas_object_image_border_center_fill_get (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_filled_set             (Evas_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_filled_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_border_scale_set       (Evas_Object *obj, double scale);
+   EAPI double                   evas_object_image_border_scale_get       (const Evas_Object *obj);
+   EAPI void                     evas_object_image_fill_set               (Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_fill_get               (const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_fill_spread_set        (Evas_Object *obj, Evas_Fill_Spread spread) EINA_ARG_NONNULL(1);
+   EAPI Evas_Fill_Spread         evas_object_image_fill_spread_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_size_set               (Evas_Object *obj, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_size_get               (const Evas_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI int                      evas_object_image_stride_get             (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Load_Error          evas_object_image_load_error_get         (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_data_set               (Evas_Object *obj, void *data) EINA_ARG_NONNULL(1);
+   EAPI void                    *evas_object_image_data_convert           (Evas_Object *obj, Evas_Colorspace to_cspace) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                    *evas_object_image_data_get               (const Evas_Object *obj, Eina_Bool for_writing) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_data_copy_set          (Evas_Object *obj, void *data) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_data_update_add        (Evas_Object *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_alpha_set              (Evas_Object *obj, Eina_Bool has_alpha) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_alpha_get              (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_smooth_scale_set       (Evas_Object *obj, Eina_Bool smooth_scale) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_smooth_scale_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_preload                (Evas_Object *obj, Eina_Bool cancel) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_reload                 (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_save                   (const Evas_Object *obj, const char *file, const char *key, const char *flags)  EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                evas_object_image_pixels_import          (Evas_Object *obj, Evas_Pixel_Import_Source *pixels) EINA_ARG_NONNULL(1, 2);
+   EAPI void                     evas_object_image_pixels_get_callback_set(Evas_Object *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                     evas_object_image_pixels_dirty_set       (Evas_Object *obj, Eina_Bool dirty) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_pixels_dirty_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_load_dpi_set           (Evas_Object *obj, double dpi) EINA_ARG_NONNULL(1);
+   EAPI double                   evas_object_image_load_dpi_get           (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_load_size_set          (Evas_Object *obj, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_load_size_get          (const Evas_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_load_scale_down_set    (Evas_Object *obj, int scale_down) EINA_ARG_NONNULL(1);
+   EAPI int                      evas_object_image_load_scale_down_get    (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_load_region_set        (Evas_Object *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_load_region_get        (const Evas_Object *obj, int *x, int *y, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI void                     evas_object_image_colorspace_set         (Evas_Object *obj, Evas_Colorspace cspace) EINA_ARG_NONNULL(1);
+   EAPI Evas_Colorspace          evas_object_image_colorspace_get         (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_native_surface_set     (Evas_Object *obj, Evas_Native_Surface *surf) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Native_Surface     *evas_object_image_native_surface_get     (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_scale_hint_set         (Evas_Object *obj, Evas_Image_Scale_Hint hint) EINA_ARG_NONNULL(1);
+   EAPI Evas_Image_Scale_Hint    evas_object_image_scale_hint_get         (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                     evas_object_image_content_hint_set       (Evas_Object *obj, Evas_Image_Content_Hint hint) EINA_ARG_NONNULL(1);
+   EAPI Evas_Image_Content_Hint  evas_object_image_content_hint_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                     evas_object_image_alpha_mask_set         (Evas_Object *obj, Eina_Bool ismask) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_source_set             (Evas_Object *obj, Evas_Object *src) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object             *evas_object_image_source_get             (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                evas_object_image_source_unset           (Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Object_Text Text Object Functions
+ *
+ * Functions that operate on single line, single style text objects.
+ *
+ * For multiline and multiple style text, see @ref Evas_Object_Textblock.
+ *
+ * @ingroup Evas_Object_Specific
+ */
+   typedef enum _Evas_Text_Style_Type
+     {
+       EVAS_TEXT_STYLE_PLAIN,
+       EVAS_TEXT_STYLE_SHADOW,
+       EVAS_TEXT_STYLE_OUTLINE,
+       EVAS_TEXT_STYLE_SOFT_OUTLINE,
+       EVAS_TEXT_STYLE_GLOW,
+       EVAS_TEXT_STYLE_OUTLINE_SHADOW,
+       EVAS_TEXT_STYLE_FAR_SHADOW,
+       EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW,
+       EVAS_TEXT_STYLE_SOFT_SHADOW,
+       EVAS_TEXT_STYLE_FAR_SOFT_SHADOW
+     } Evas_Text_Style_Type;
+
+   EAPI Evas_Object      *evas_object_text_add              (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI void              evas_object_text_font_source_set  (Evas_Object *obj, const char *font) EINA_ARG_NONNULL(1);
+   EAPI const char       *evas_object_text_font_source_get  (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_text_font_set         (Evas_Object *obj, const char *font, Evas_Font_Size size) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_font_get         (const Evas_Object *obj, const char **font, Evas_Font_Size *size) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_text_text_set         (Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
+   EAPI const char       *evas_object_text_text_get         (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_ascent_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_descent_get      (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_max_ascent_get   (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_max_descent_get  (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_horiz_advance_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_vert_advance_get (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Coord        evas_object_text_inset_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_Bool         evas_object_text_char_pos_get     (const Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI int               evas_object_text_char_coords_get  (const Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI int               evas_object_text_last_up_to_pos   (const Evas_Object *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI Evas_Text_Style_Type evas_object_text_style_get     (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_text_style_set        (Evas_Object *obj, Evas_Text_Style_Type type) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_shadow_color_set (Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_shadow_color_get (const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_glow_color_set   (Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_glow_color_get   (const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_glow2_color_set  (Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_glow2_color_get  (const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_outline_color_set(Evas_Object *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_outline_color_get(const Evas_Object *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_text_style_pad_get    (const Evas_Object *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1);
+   EAPI Evas_BiDi_Direction evas_object_text_direction_get  (const Evas_Object *obj) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT;
+
+/**
+ * @defgroup Evas_Object_Textblock Textblock Object Functions
+ *
+ * Functions used to create and manipulate textblock objects. Unlike
+ * @ref Evas_Object_Text, these handle complex text, doing multiple
+ * styles and multiline text based on HTML-like tags. Of these extra
+ * features will be heavier on memory and processing cost.
+ *
+ * @todo put here some usage examples
+ *
+ * @ingroup Evas_Object_Specific
+ */
+   typedef struct _Evas_Textblock_Style                 Evas_Textblock_Style;
+   typedef struct _Evas_Textblock_Cursor                Evas_Textblock_Cursor;
+   /**
+    * @typedef Evas_Object_Textblock_Node_Format
+    * A format node.
+    */
+   typedef struct _Evas_Object_Textblock_Node_Format    Evas_Object_Textblock_Node_Format;
+   typedef struct _Evas_Textblock_Rectangle             Evas_Textblock_Rectangle;
+
+   struct _Evas_Textblock_Rectangle
+     {
+       Evas_Coord x, y, w, h;
+     };
+
+   typedef enum _Evas_Textblock_Text_Type
+     {
+       EVAS_TEXTBLOCK_TEXT_RAW,
+       EVAS_TEXTBLOCK_TEXT_PLAIN,
+       EVAS_TEXTBLOCK_TEXT_MARKUP
+     } Evas_Textblock_Text_Type;
+
+   typedef enum _Evas_Textblock_Cursor_Type
+     {
+       EVAS_TEXTBLOCK_CURSOR_UNDER,
+       EVAS_TEXTBLOCK_CURSOR_BEFORE
+     } Evas_Textblock_Cursor_Type;
+
+   EAPI Evas_Object                 *evas_object_textblock_add(Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI const char                  *evas_textblock_escape_string_get(const char *escape) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI const char                  *evas_textblock_string_escape_get(const char *string, int *len_ret) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI const char                  *evas_textblock_escape_string_range_get(const char *escape_start, const char *escape_end) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+
+   EAPI Evas_Textblock_Style        *evas_textblock_style_new(void) EINA_WARN_UNUSED_RESULT EINA_MALLOC;
+   EAPI void                         evas_textblock_style_free(Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_style_set(Evas_Textblock_Style *ts, const char *text) EINA_ARG_NONNULL(1);
+   EAPI const char                  *evas_textblock_style_get(const Evas_Textblock_Style *ts) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                         evas_object_textblock_style_set(Evas_Object *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Textblock_Style  *evas_object_textblock_style_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                         evas_object_textblock_replace_char_set(Evas_Object *obj, const char *ch) EINA_ARG_NONNULL(1);
+   EAPI const char                  *evas_object_textblock_replace_char_get(Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                         evas_object_textblock_valign_set(Evas_Object *obj, double align);
+   EAPI double                       evas_object_textblock_valign_get(const Evas_Object *obj);
+         
+   EAPI void                         evas_object_textblock_newline_mode_set(Evas_Object *obj, Eina_Bool mode) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_object_textblock_newline_mode_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                         evas_object_textblock_text_markup_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_object_textblock_text_markup_prepend(Evas_Textblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2);
+   EAPI const char                  *evas_object_textblock_text_markup_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI const Evas_Textblock_Cursor *evas_object_textblock_cursor_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Textblock_Cursor       *evas_object_textblock_cursor_new(Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI void                         evas_textblock_cursor_free(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+
+   EAPI void                         evas_textblock_cursor_paragraph_first(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_paragraph_last(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_paragraph_next(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_paragraph_prev(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_first_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_last_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_next_get(const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_node_format_prev_get(const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_node_format_remove_pair(Evas_Object *obj, Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2);
+   EAPI void                         evas_textblock_cursor_set_at_format(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n) EINA_ARG_NONNULL(1, 2);
+   EAPI const Evas_Object_Textblock_Node_Format *evas_textblock_cursor_format_get(const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI const char                  *evas_textblock_node_format_text_get(const Evas_Object_Textblock_Node_Format *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_at_format_set(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *fmt) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                    evas_textblock_cursor_format_is_visible_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_Bool                    evas_textblock_cursor_format_next(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_format_prev(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_is_format(const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_char_next(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_char_prev(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_paragraph_char_first(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_paragraph_char_last(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_line_char_first(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_line_char_last(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_pos_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                         evas_textblock_cursor_pos_set(Evas_Textblock_Cursor *cur, int pos) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_line_set(Evas_Textblock_Cursor *cur, int line) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_compare(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI void                         evas_textblock_cursor_copy(const Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest) EINA_ARG_NONNULL(1, 2);
+
+   EAPI int                          evas_textblock_cursor_text_append(Evas_Textblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2);
+   EAPI int                          evas_textblock_cursor_text_prepend(Evas_Textblock_Cursor *cur, const char *text) EINA_ARG_NONNULL(1, 2);
+
+   EAPI Eina_Bool                    evas_textblock_cursor_format_append(Evas_Textblock_Cursor *cur, const char *format) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                    evas_textblock_cursor_format_prepend(Evas_Textblock_Cursor *cur, const char *format) EINA_ARG_NONNULL(1, 2);
+   EAPI void                         evas_textblock_cursor_node_delete(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_char_delete(Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_textblock_cursor_range_delete(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2) EINA_ARG_NONNULL(1, 2);
+
+   EAPI const char                  *evas_textblock_cursor_paragraph_text_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI int                          evas_textblock_cursor_paragraph_text_length_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI char                        *evas_textblock_cursor_range_text_get(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2, Evas_Textblock_Text_Type format) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI char                        *evas_textblock_cursor_content_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI int                          evas_textblock_cursor_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_char_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_pen_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cpen_x, Evas_Coord *cy, Evas_Coord *cadv, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_line_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                    evas_textblock_cursor_char_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI int                          evas_textblock_cursor_line_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI Eina_List                   *evas_textblock_cursor_range_geometry_get(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI Eina_Bool                    evas_textblock_cursor_format_item_geometry_get(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+
+   EAPI Eina_Bool                    evas_textblock_cursor_eol_get(const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI Eina_Bool                    evas_object_textblock_line_number_geometry_get(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_object_textblock_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_object_textblock_size_formatted_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_object_textblock_size_native_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void                         evas_object_textblock_style_insets_get(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Line_Group Line Object Functions
+ *
+ * Functions used to deal with evas line objects.
+ *
+ * @ingroup Evas_Object_Specific
+ */
+   EAPI Evas_Object      *evas_object_line_add              (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI void              evas_object_line_xy_set           (Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2);
+   EAPI void              evas_object_line_xy_get           (const Evas_Object *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2);
+
+/**
+ * @defgroup Evas_Object_Polygon Polygon Object Functions
+ *
+ * Functions that operate on evas polygon objects.
+ *
+ * Hint: as evas does not provide ellipse, smooth paths or circle, one
+ * can calculate points and convert these to a polygon.
+ *
+ * @ingroup Evas_Object_Specific
+ */
+   EAPI Evas_Object      *evas_object_polygon_add           (Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI void              evas_object_polygon_point_add     (Evas_Object *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_polygon_points_clear  (Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Smart_Group Smart Functions
+ *
+ * Functions that deal with Evas_Smart's, creating definition
+ * (classes) of objects that will have customized behavior for methods
+ * like evas_object_move(), evas_object_resize(),
+ * evas_object_clip_set() and others.
+ *
+ * These objects will accept the generic methods defined in @ref
+ * Evas_Object_Group and the extensions defined in @ref
+ * Evas_Smart_Object_Group. There are couple of existent smart objects
+ * in Evas itself, see @ref Evas_Object_Box, @ref Evas_Object_Table
+ * and @ref Evas_Smart_Object_Clipped.
+ */
+
+/**
+ * @def EVAS_SMART_CLASS_VERSION
+ * The version you have to put into the version field in the smart
+ * class struct
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_VERSION 4
+/**
+ * @struct _Evas_Smart_Class
+ * a smart object class
+ * @ingroup Evas_Smart_Group
+ */
+struct _Evas_Smart_Class
+{
+   const char *name; /**< the string name of the class */
+   int         version;
+   void  (*add)         (Evas_Object *o);
+   void  (*del)         (Evas_Object *o);
+   void  (*move)        (Evas_Object *o, Evas_Coord x, Evas_Coord y);
+   void  (*resize)      (Evas_Object *o, Evas_Coord w, Evas_Coord h);
+   void  (*show)        (Evas_Object *o);
+   void  (*hide)        (Evas_Object *o);
+   void  (*color_set)   (Evas_Object *o, int r, int g, int b, int a);
+   void  (*clip_set)    (Evas_Object *o, Evas_Object *clip);
+   void  (*clip_unset)  (Evas_Object *o);
+   void  (*calculate)   (Evas_Object *o);
+   void  (*member_add)  (Evas_Object *o, Evas_Object *child);
+   void  (*member_del)  (Evas_Object *o, Evas_Object *child);
+
+   const Evas_Smart_Class          *parent; /**< this class inherits from this parent */
+   const Evas_Smart_Cb_Description *callbacks; /**< callbacks at this level, NULL terminated */
+   void                            *interfaces; /**< to be used in a future near you */
+   const void                      *data;
+};
+
+/**
+ * @struct _Evas_Smart_Cb_Description
+ *
+ * Describes a callback used by a smart class
+ * evas_object_smart_callback_call(), particularly useful to explain
+ * to user and its code (ie: introspection) what the parameter @c
+ * event_info will contain.
+ *
+ * @ingroup Evas_Smart_Group
+ */
+struct _Evas_Smart_Cb_Description
+{
+   const char *name; /**< callback name, ie: "changed" */
+
+   /**
+    * @brief Hint type of @c event_info parameter of Evas_Smart_Cb.
+    *
+    * The type string uses the pattern similar to
+    *
+    * http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-signatures
+    *
+    * but extended to optionally include variable names within
+    * brackets preceding types. Example:
+    *
+    * @li Structure with two integers:
+    *     @c "(ii)"
+    *
+    * @li Structure called 'x' with two integers named 'a' and 'b':
+    *     @c "[x]([a]i[b]i)"
+    *
+    * @li Array of integers:
+    *     @c "ai"
+    *
+    * @li Array called 'x' of struct with two integers:
+    *     @c "[x]a(ii)"
+    *
+    * @note This type string is used as a hint and is @b not validated
+    *       or enforced anyhow. Implementors should make the best use
+    *       of it to help bindings, documentation and other users of
+    *       introspection features.
+    */
+   const char *type;
+};
+
+/**
+ * @def EVAS_SMART_CLASS_INIT_NULL
+ * Initializer to zero a whole Evas_Smart_Class structure.
+ *
+ * @see EVAS_SMART_CLASS_INIT_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_INIT_NULL {NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
+
+/**
+ * @def EVAS_SMART_CLASS_INIT_VERSION
+ * Initializer to zero a whole Evas_Smart_Class structure and set version.
+ *
+ * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to
+ * latest EVAS_SMART_CLASS_VERSION.
+ *
+ * @see EVAS_SMART_CLASS_INIT_NULL
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_INIT_VERSION {NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
+
+/**
+ * @def EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * Initializer to zero a whole Evas_Smart_Class structure and set name
+ * and version.
+ *
+ * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to
+ * latest EVAS_SMART_CLASS_VERSION and name to the specified value.
+ *
+ * It will keep a reference to name field as a "const char *", that is,
+ * name must be available while the structure is used (hint: static or global!)
+ * and will not be modified.
+ *
+ * @see EVAS_SMART_CLASS_INIT_NULL
+ * @see EVAS_SMART_CLASS_INIT_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_INIT_NAME_VERSION(name) {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
+
+/**
+ * @def EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+ * Initializer to zero a whole Evas_Smart_Class structure and set name,
+ * version and parent class.
+ *
+ * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to
+ * latest EVAS_SMART_CLASS_VERSION, name to the specified value and
+ * parent class.
+ *
+ * It will keep a reference to name field as a "const char *", that is,
+ * name must be available while the structure is used (hint: static or global!)
+ * and will not be modified. Similarly, parent reference will be kept.
+ *
+ * @see EVAS_SMART_CLASS_INIT_NULL
+ * @see EVAS_SMART_CLASS_INIT_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT(name, parent) {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}
+
+/**
+ * @def EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+ * Initializer to zero a whole Evas_Smart_Class structure and set name,
+ * version, parent class and callbacks definition.
+ *
+ * Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to
+ * latest EVAS_SMART_CLASS_VERSION, name to the specified value, parent
+ * class and callbacks at this level.
+ *
+ * It will keep a reference to name field as a "const char *", that is,
+ * name must be available while the structure is used (hint: static or global!)
+ * and will not be modified. Similarly, parent and callbacks reference
+ * will be kept.
+ *
+ * @see EVAS_SMART_CLASS_INIT_NULL
+ * @see EVAS_SMART_CLASS_INIT_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS(name, parent, callbacks) {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}
+
+/**
+ * @def EVAS_SMART_SUBCLASS_NEW
+ *
+ * Convenience macro to subclass a Smart Class.
+ *
+ * This macro saves some typing when writing a Smart Class derived from
+ * another one. In order to work, the user needs to provide some functions
+ * adhering to the following guidelines.
+ *  - @<prefix@>_smart_set_user(): the internal _smart_set function will call
+ *    this one provided by the user after inheriting everything from the
+ *    parent, which should take care of setting the right member functions
+ *    for the class.
+ *  - @<prefix@>_parent_sc: pointer to the smart class of the parent. When calling
+ *    parent functions from overloaded ones, use this global variable.
+ *  - @<prefix@>_smart_class_new(): this function returns the Evas_Smart needed
+ *    to create smart objects with this class, should be called by the public
+ *    _add() function.
+ *  - If this new class should be subclassable as well, a public _smart_set()
+ *    function is desirable to fill the class used as parent by the children.
+ *    It's up to the user to provide this interface, which will most likely
+ *    call @<prefix@>_smart_set() to get the job done.
+ *
+ * @param smart_name The name used for the Smart Class. e.g: "Evas_Object_Box".
+ * @param prefix Prefix used for all variables and functions defined.
+ * @param api_type Type of the structure used as API for the Smart Class. Either Evas_Smart_Class or something derived from it.
+ * @param parent_type Type of the parent class API.
+ * @param parent_func Function that gets the parent class. e.g: evas_object_box_smart_class_get().
+ * @param cb_desc Array of callback descriptions for this Smart Class.
+ *
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_SUBCLASS_NEW(smart_name, prefix, api_type, parent_type, parent_func, cb_desc) \
+  static const parent_type * prefix##_parent_sc = NULL;                        \
+  static void prefix##_smart_set_user(api_type *api);                  \
+  static void prefix##_smart_set(api_type *api)                                \
+  {                                                                    \
+     Evas_Smart_Class *sc;                                             \
+     if (!(sc = (Evas_Smart_Class *)api))                              \
+       return;                                                         \
+     if (!prefix##_parent_sc)                                          \
+       prefix##_parent_sc = parent_func();                             \
+     evas_smart_class_inherit(sc, (const Evas_Smart_Class *)prefix##_parent_sc); \
+     prefix##_smart_set_user(api);                                     \
+  }                                                                    \
+  static Evas_Smart * prefix##_smart_class_new(void)                   \
+  {                                                                    \
+     static Evas_Smart *smart = NULL;                                  \
+     static api_type api;                                              \
+     if (!smart)                                                       \
+       {                                                               \
+         Evas_Smart_Class *sc = (Evas_Smart_Class *)&api;              \
+         memset(&api, 0, sizeof(api_type));                            \
+         sc->version = EVAS_SMART_CLASS_VERSION;                       \
+         sc->name = smart_name;                                        \
+         sc->callbacks = cb_desc;                                      \
+         prefix##_smart_set(&api);                                     \
+         smart = evas_smart_class_new(sc);                             \
+       }                                                               \
+     return smart;                                                     \
+  }
+
+/**
+ * @def EVAS_SMART_DATA_ALLOC
+ * Convenience macro to allocate smart data only if needed.
+ *
+ * When writing a subclassable smart object, the .add function will need
+ * to check if the smart private data was already allocated by some child
+ * object or not. This macro makes it easier to do it.
+ *
+ * @param o Evas object passed to the .add function
+ * @param priv_type The type of the data to allocate
+ * @ingroup Evas_Smart_Group
+ */
+#define EVAS_SMART_DATA_ALLOC(o, priv_type) \
+   priv_type *priv; \
+   priv = evas_object_smart_data_get(o); \
+   if (!priv) { \
+      priv = (priv_type *)calloc(1, sizeof(priv_type)); \
+      if (!priv) return; \
+      evas_object_smart_data_set(o, priv); \
+   }
+
+   EAPI void                             evas_smart_free                     (Evas_Smart *s) EINA_ARG_NONNULL(1);
+   EAPI Evas_Smart                      *evas_smart_class_new                (const Evas_Smart_Class *sc) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI const Evas_Smart_Class          *evas_smart_class_get                (const Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+   EAPI void                            *evas_smart_data_get                 (const Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI const Evas_Smart_Cb_Description *evas_smart_callback_description_find(const Evas_Smart *s, const char *name) EINA_ARG_NONNULL(1, 2) EINA_PURE;
+
+   EAPI Eina_Bool                        evas_smart_class_inherit_full       (Evas_Smart_Class *sc, const Evas_Smart_Class *parent_sc, unsigned int parent_sc_size) EINA_ARG_NONNULL(1, 2);
+  /**
+   * @def evas_smart_class_inherit
+   * Easy to use version of evas_smart_class_inherit_full().
+   *
+   * This version will use sizeof(parent_sc), copying everything.
+   *
+   * @param sc child class, will have methods copied from @a parent_sc
+   * @param parent_sc parent class, will provide contents to be copied.
+   * @return 1 on success, 0 on failure.
+   * @ingroup Evas_Smart_Group
+   */
+#define evas_smart_class_inherit(sc, parent_sc) evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))
+
+/**
+ * @defgroup Evas_Smart_Object_Group Smart Object Functions
+ *
+ * Functions dealing with evas smart objects (instances).
+ *
+ * Smart objects are groupings of primitive evas objects that behave as a
+ * cohesive group. For instance, a file manager icon may be a smart object
+ * composed of an image object, a text label and two rectangles that appear
+ * behind the image and text when the icon is selected. As a smart object,
+ * the normal evas api could be used on the icon object.
+ *
+ * @see @ref Evas_Smart_Group for class definitions.
+ */
+   EAPI Evas_Object      *evas_object_smart_add             (Evas *e, Evas_Smart *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_MALLOC;
+   EAPI void              evas_object_smart_member_add      (Evas_Object *obj, Evas_Object *smart_obj) EINA_ARG_NONNULL(1, 2);
+   EAPI void              evas_object_smart_member_del      (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object      *evas_object_smart_parent_get      (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Eina_Bool         evas_object_smart_type_check      (const Evas_Object *obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI Eina_Bool         evas_object_smart_type_check_ptr  (const Evas_Object *obj, const char *type) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI Eina_List        *evas_object_smart_members_get     (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI Evas_Smart       *evas_object_smart_smart_get       (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void             *evas_object_smart_data_get        (const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_smart_data_set        (Evas_Object *obj, void *data) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_smart_callback_add    (Evas_Object *obj, const char *event, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI void             *evas_object_smart_callback_del    (Evas_Object *obj, const char *event, Evas_Smart_Cb func) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI void              evas_object_smart_callback_call   (Evas_Object *obj, const char *event, void *event_info) EINA_ARG_NONNULL(1, 2);
+
+   EAPI Eina_Bool         evas_object_smart_callbacks_descriptions_set(Evas_Object *obj, const Evas_Smart_Cb_Description *descriptions) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_smart_callbacks_descriptions_get(const Evas_Object *obj, const Evas_Smart_Cb_Description ***class_descriptions, unsigned int *class_count, const Evas_Smart_Cb_Description ***instance_descriptions, unsigned int *instance_count) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_smart_callback_description_find(const Evas_Object *obj, const char *name, const Evas_Smart_Cb_Description **class_description, const Evas_Smart_Cb_Description **instance_description) EINA_ARG_NONNULL(1, 2);
+
+   EAPI void              evas_object_smart_changed         (Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              evas_object_smart_need_recalculate_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         evas_object_smart_need_recalculate_get(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void              evas_object_smart_calculate       (Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI void              evas_smart_objects_calculate      (Evas *e);
+
+/**
+ * @defgroup Evas_Smart_Object_Clipped Clipped Smart Object
+ *
+ * Clipped smart object is a base to construct other smart objects
+ * that based on the concept of having an internal clipper that is
+ * applied to all its other children. This clipper will control the
+ * visibility, clipping and color of sibling objects (remember that
+ * the clipping is recursive, and clipper color modulates the color of
+ * its clippees). By default, this base will also move children
+ * relatively to the parent, and delete them when parent is
+ * deleted. In other words, it is the base for simple object grouping.
+ *
+ * @see evas_object_smart_clipped_smart_set()
+ *
+ * @ingroup Evas_Smart_Object_Group
+ */
+
+/**
+ * Every subclass should provide this at the beginning of their own
+ * data set with evas_object_smart_data_set().
+ */
+  typedef struct _Evas_Object_Smart_Clipped_Data Evas_Object_Smart_Clipped_Data;
+  struct _Evas_Object_Smart_Clipped_Data
+  {
+     Evas_Object *clipper;
+     Evas        *evas;
+  };
+
+   EAPI Evas_Object            *evas_object_smart_clipped_clipper_get   (Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                    evas_object_smart_clipped_smart_set     (Evas_Smart_Class *sc) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Smart_Class *evas_object_smart_clipped_class_get     (void) EINA_CONST;
+
+   EAPI void                    evas_object_smart_move_children_relative(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy) EINA_ARG_NONNULL(1);
+
+/**
+ * @defgroup Evas_Object_Box Box (Sequence) Smart Object.
+ *
+ * Convenience smart object that packs children as a sequence using
+ * a layout function specified by user. There are a couple of helper
+ * layout functions, all of them using children size hints to define
+ * their size and alignment inside their cell space.
+ *
+ * @see @ref Evas_Object_Group_Size_Hints
+ *
+ * @ingroup Evas_Smart_Object_Group
+ */
+/**
+ * @typedef Evas_Object_Box_Api
+ * Smart Class extension providing extra box requirements.
+ * @ingroup Evas_Object_Box
+ */
+   typedef struct _Evas_Object_Box_Api        Evas_Object_Box_Api;
+/**
+ * @typedef Evas_Object_Box_Data
+ * Smart instance data providing box requirements.
+ * @ingroup Evas_Object_Box
+ */
+   typedef struct _Evas_Object_Box_Data       Evas_Object_Box_Data;
+/**
+ * @typedef Evas_Object_Box_Option
+ * The base structure for a box option.
+ * @ingroup Evas_Object_Box
+ */
+   typedef struct _Evas_Object_Box_Option     Evas_Object_Box_Option;
+   typedef void (*Evas_Object_Box_Layout) (Evas_Object *o, Evas_Object_Box_Data *priv, void *user_data);
+
+/**
+ * @def EVAS_OBJECT_BOX_API_VERSION
+ * @ingroup Evas_Object_Box
+ */
+#define EVAS_OBJECT_BOX_API_VERSION 1
+/**
+ * @struct _Evas_Object_Box_Api
+ *
+ * This structure should be used by any class that wants to inherit
+ * from box to provide custom behavior not allowed only by providing a
+ * layout function with evas_object_box_layout_set().
+ *
+ * @extends Evas_Smart_Class
+ * @ingroup Evas_Object_Box
+ */
+   struct _Evas_Object_Box_Api
+   {
+      Evas_Smart_Class          base;
+      int                       version;
+      Evas_Object_Box_Option *(*append)           (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child);
+      Evas_Object_Box_Option *(*prepend)          (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child);
+      Evas_Object_Box_Option *(*insert_before)    (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference);
+      Evas_Object_Box_Option *(*insert_after)     (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, const Evas_Object *reference);
+      Evas_Object_Box_Option *(*insert_at)        (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child, unsigned int pos);
+      Evas_Object            *(*remove)           (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child);
+      Evas_Object            *(*remove_at)        (Evas_Object *o, Evas_Object_Box_Data *priv, unsigned int pos);
+      Eina_Bool               (*property_set)     (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args);
+      Eina_Bool               (*property_get)     (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args);
+      const char             *(*property_name_get)(Evas_Object *o, int property);
+      int                     (*property_id_get)  (Evas_Object *o, const char *name);
+      Evas_Object_Box_Option *(*option_new)       (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object *child);
+      void                    (*option_free)      (Evas_Object *o, Evas_Object_Box_Data *priv, Evas_Object_Box_Option *opt);
+   };
+
+/**
+ * @def EVAS_OBJECT_BOX_API_INIT
+ * Initializer for whole Evas_Object_Box_Api structure.
+ *
+ * @param smart_class_init initializer to use for the "base" field
+ * (Evas_Smart_Class).
+ *
+ * @see EVAS_SMART_CLASS_INIT_NULL
+ * @see EVAS_SMART_CLASS_INIT_VERSION
+ * @see EVAS_SMART_CLASS_INIT_NAME_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT_NULL
+ * @see EVAS_OBJECT_BOX_API_INIT_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+ * @ingroup Evas_Object_Box
+ */
+#define EVAS_OBJECT_BOX_API_INIT(smart_class_init) {smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
+
+/**
+ * @def EVAS_OBJECT_BOX_API_INIT_NULL
+ * Initializer to zero a whole Evas_Object_Box_Api structure.
+ *
+ * @see EVAS_OBJECT_BOX_API_INIT_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT
+ * @ingroup Evas_Object_Box
+ */
+#define EVAS_OBJECT_BOX_API_INIT_NULL EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)
+
+/**
+ * @def EVAS_OBJECT_BOX_API_INIT_VERSION
+ * Initializer to zero a whole Evas_Object_Box_Api structure and set version.
+ *
+ * Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of
+ * Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION
+ *
+ * @see EVAS_OBJECT_BOX_API_INIT_NULL
+ * @see EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT
+ * @ingroup Evas_Object_Box
+ */
+#define EVAS_OBJECT_BOX_API_INIT_VERSION EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)
+
+/**
+ * @def EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+ * Initializer to zero a whole Evas_Object_Box_Api structure and set
+ * name and version.
+ *
+ * Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of
+ * Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION and name
+ * to the specific value.
+ *
+ * It will keep a reference to name field as a "const char *", that is,
+ * name must be available while the structure is used (hint: static or global!)
+ * and will not be modified.
+ *
+ * @see EVAS_OBJECT_BOX_API_INIT_NULL
+ * @see EVAS_OBJECT_BOX_API_INIT_VERSION
+ * @see EVAS_OBJECT_BOX_API_INIT
+ * @ingroup Evas_Object_Box
+ */
+#define EVAS_OBJECT_BOX_API_INIT_NAME_VERSION(name) EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))
+
+/**
+ * @struct _Evas_Object_Box_Data
+ *
+ * This structure augments clipped smart object's instance data,
+ * providing extra members required by generic box implementation. If
+ * a subclass inherits from #Evas_Object_Box_Api then it may augment
+ * #Evas_Object_Box_Data to fit its own needs.
+ *
+ * @extends Evas_Object_Smart_Clipped_Data
+ * @ingroup Evas_Object_Box
+ */
+   struct _Evas_Object_Box_Data
+   {
+      Evas_Object_Smart_Clipped_Data   base;
+      const Evas_Object_Box_Api       *api;
+      struct {
+        double                        h, v;
+      } align;
+      struct {
+        Evas_Coord                    h, v;
+      } pad;
+      Eina_List                       *children;
+      struct {
+        Evas_Object_Box_Layout        cb;
+        void                         *data;
+        void                        (*free_data)(void *data);
+      } layout;
+      Eina_Bool                        layouting : 1;
+      Eina_Bool                        children_changed : 1;
+   };
+
+   struct _Evas_Object_Box_Option
+   {
+      Evas_Object *obj;
+      Eina_Bool    max_reached:1;
+      Eina_Bool    min_reached:1;
+      Evas_Coord   alloc_size;
+   };
+
+   EAPI void                       evas_object_box_smart_set                             (Evas_Object_Box_Api *api) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object_Box_Api *evas_object_box_smart_class_get                       (void) EINA_CONST;
+   EAPI void                       evas_object_box_layout_set                            (Evas_Object *o, Evas_Object_Box_Layout cb, const void *data, void (*free_data)(void *data)) EINA_ARG_NONNULL(1, 2);
+
+   EAPI Evas_Object               *evas_object_box_add                                   (Evas *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Evas_Object               *evas_object_box_add_to                                (Evas_Object *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI void                       evas_object_box_layout_horizontal                     (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_vertical                       (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_homogeneous_vertical           (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_homogeneous_horizontal         (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_homogeneous_max_size_horizontal(Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_homogeneous_max_size_vertical  (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_flow_horizontal                (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_flow_vertical                  (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                       evas_object_box_layout_stack                          (Evas_Object *o, Evas_Object_Box_Data *priv, void *data) EINA_ARG_NONNULL(1, 2);
+
+   EAPI void                       evas_object_box_align_set                             (Evas_Object *o, double horizontal, double vertical) EINA_ARG_NONNULL(1);
+   EAPI void                       evas_object_box_align_get                             (const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1);
+   EAPI void                       evas_object_box_padding_set                           (Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1);
+   EAPI void                       evas_object_box_padding_get                           (const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1);
+
+   EAPI Evas_Object_Box_Option    *evas_object_box_append                                (Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object_Box_Option    *evas_object_box_prepend                               (Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object_Box_Option    *evas_object_box_insert_before                         (Evas_Object *o, Evas_Object *child, const Evas_Object *reference) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI Evas_Object_Box_Option    *evas_object_box_insert_after                          (Evas_Object *o, Evas_Object *child, const Evas_Object *referente) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI Evas_Object_Box_Option    *evas_object_box_insert_at                             (Evas_Object *o, Evas_Object *child, unsigned int pos) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                  evas_object_box_remove                                (Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                  evas_object_box_remove_at                             (Evas_Object *o, unsigned int pos) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                  evas_object_box_remove_all                            (Evas_Object *o, Eina_Bool clear) EINA_ARG_NONNULL(1);
+   EAPI Eina_Iterator             *evas_object_box_iterator_new                          (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Eina_Accessor             *evas_object_box_accessor_new                          (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Eina_List                 *evas_object_box_children_get                          (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+
+   EAPI const char                *evas_object_box_option_property_name_get              (Evas_Object *o, int property) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI int                        evas_object_box_option_property_id_get                (Evas_Object *o, const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   EAPI Eina_Bool                  evas_object_box_option_property_set                   (Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                  evas_object_box_option_property_vset                  (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                  evas_object_box_option_property_get                   (Evas_Object *o, Evas_Object_Box_Option *opt, int property, ...) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                  evas_object_box_option_property_vget                  (Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args) EINA_ARG_NONNULL(1, 2);
+
+/**
+ * @defgroup Evas_Object_Table Table Smart Object.
+ *
+ * Convenience smart object that packs children using a tabular
+ * layout using children size hints to define their size and
+ * alignment inside their cell space.
+ *
+ * @see @ref Evas_Object_Group_Size_Hints
+ *
+ * @ingroup Evas_Smart_Object_Group
+ */
+   EAPI Evas_Object                        *evas_object_table_add             (Evas *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Evas_Object                        *evas_object_table_add_to          (Evas_Object *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI void                                evas_object_table_homogeneous_set (Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object_Table_Homogeneous_Mode  evas_object_table_homogeneous_get (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI void                                evas_object_table_padding_set     (Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1);
+   EAPI void                                evas_object_table_padding_get     (const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1);
+   EAPI void                                evas_object_table_align_set       (Evas_Object *o, double horizontal, double vertical) EINA_ARG_NONNULL(1);
+   EAPI void                                evas_object_table_align_get       (const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1);
+   EAPI void                                evas_object_table_mirrored_set    (Evas_Object *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                           evas_object_table_mirrored_get    (const Evas_Object *o) EINA_ARG_NONNULL(1);
+
+   EAPI Eina_Bool                           evas_object_table_pack            (Evas_Object *o, Evas_Object *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool                           evas_object_table_unpack          (Evas_Object *o, Evas_Object *child) EINA_ARG_NONNULL(1, 2);
+   EAPI void                                evas_object_table_clear           (Evas_Object *o, Eina_Bool clear) EINA_ARG_NONNULL(1);
+
+   EAPI void                                evas_object_table_col_row_size_get(const Evas_Object *o, int *cols, int *rows) EINA_ARG_NONNULL(1);
+   EAPI Eina_Iterator                      *evas_object_table_iterator_new    (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Eina_Accessor                      *evas_object_table_accessor_new    (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Eina_List                          *evas_object_table_children_get    (const Evas_Object *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC;
+   EAPI Evas_Object                        *evas_object_table_child_get       (const Evas_Object *o, unsigned short col, unsigned short row) EINA_ARG_NONNULL(1);
+
+   EAPI Eina_Bool                            evas_object_image_source_set     (Evas_Object *o, Evas_Object *source);
+   EAPI Evas_Object                         *evas_object_image_source_get     (Evas_Object *o);
+   EAPI Eina_Bool                            evas_object_image_source_unset   (Evas_Object *o);
+
+/**
+ * @defgroup Evas_Cserve Shared Image Cache Server
+ *
+ * Provides client-server infrastructure to share bitmaps across
+ * multiple processes, saving data and processing power.
+ */
+   typedef struct _Evas_Cserve_Stats       Evas_Cserve_Stats;
+   typedef struct _Evas_Cserve_Image_Cache Evas_Cserve_Image_Cache;
+   typedef struct _Evas_Cserve_Image       Evas_Cserve_Image;
+   typedef struct _Evas_Cserve_Config      Evas_Cserve_Config;
+
+/**
+ * Statistics about server that shares cached bitmaps.
+ * @ingroup Evas_Cserve
+ */
+   struct _Evas_Cserve_Stats
+     {
+        int    saved_memory; /**< current saved memory, in bytes */
+        int    wasted_memory; /**< current wasted memory, in bytes */
+        int    saved_memory_peak; /**< peak of saved memory, in bytes */
+        int    wasted_memory_peak; /**< peak of wasted memory, in bytes */
+        double saved_time_image_header_load; /**< time, in seconds, saved in header loads by sharing cached loads instead */
+        double saved_time_image_data_load; /**< time, in seconds, saved in data loads by sharing cached loads instead */
+     };
+
+/**
+ * Cache of images shared by server.
+ * @ingroup Evas_Cserve
+ */
+   struct _Evas_Cserve_Image_Cache
+     {
+        struct {
+           int     mem_total;
+           int     count;
+        } active, cached;
+        Eina_List *images;
+     };
+
+/**
+ * An image shared by the server.
+ * @ingroup Evas_Cserve
+ */
+   struct _Evas_Cserve_Image
+     {
+        const char *file, *key;
+        int         w, h;
+        time_t      file_mod_time;
+        time_t      file_checked_time;
+        time_t      cached_time;
+        int         refcount;
+        int         data_refcount;
+        int         memory_footprint;
+        double      head_load_time;
+        double      data_load_time;
+        Eina_Bool   alpha : 1;
+        Eina_Bool   data_loaded : 1;
+        Eina_Bool   active : 1;
+        Eina_Bool   dead : 1;
+        Eina_Bool   useless : 1;
+     };
+
+/**
+ * Configuration that controls the server that shares cached bitmaps.
+ * @ingroup Evas_Cserve
+ */
+    struct _Evas_Cserve_Config
+     {
+        int cache_max_usage;
+        int cache_item_timeout;
+        int cache_item_timeout_check;
+     };
+
+   EAPI Eina_Bool         evas_cserve_want_get                   (void) EINA_WARN_UNUSED_RESULT EINA_PURE;
+   EAPI Eina_Bool         evas_cserve_connected_get              (void) EINA_WARN_UNUSED_RESULT;
+   EAPI Eina_Bool         evas_cserve_stats_get                  (Evas_Cserve_Stats *stats) EINA_WARN_UNUSED_RESULT;
+   EAPI void              evas_cserve_image_cache_contents_clean (Evas_Cserve_Image_Cache *cache) EINA_PURE;
+   EAPI Eina_Bool         evas_cserve_config_get                 (Evas_Cserve_Config *config) EINA_WARN_UNUSED_RESULT EINA_PURE;
+   EAPI Eina_Bool         evas_cserve_config_set                 (const Evas_Cserve_Config *config) EINA_WARN_UNUSED_RESULT EINA_PURE;
+   EAPI void              evas_cserve_disconnect                 (void);
+
+/**
+ * @defgroup Evas_Utils General Utilities
+ *
+ * Some functions that are handy but are not specific of canvas or
+ * objects.
+ */
+   EAPI const char       *evas_load_error_str               (Evas_Load_Error error);
+
+/* Evas utility routines for color space conversions */
+/* hsv color space has h in the range 0.0 to 360.0, and s,v in the range 0.0 to 1.0 */
+/* rgb color space has r,g,b in the range 0 to 255 */
+   EAPI void              evas_color_hsv_to_rgb             (float h, float s, float v, int *r, int *g, int *b);
+   EAPI void              evas_color_rgb_to_hsv             (int r, int g, int b, float *h, float *s, float *v);
+
+/* argb color space has a,r,g,b in the range 0 to 255 */
+   EAPI void              evas_color_argb_premul            (int a, int *r, int *g, int *b);
+   EAPI void              evas_color_argb_unpremul          (int a, int *r, int *g, int *b);
+
+   EAPI void              evas_data_argb_premul             (unsigned int *data, unsigned int len);
+   EAPI void              evas_data_argb_unpremul           (unsigned int *data, unsigned int len);
+
+/* string and font handling */
+   EAPI int               evas_string_char_next_get         (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1);
+   EAPI int               evas_string_char_prev_get         (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1);
+   EAPI int               evas_string_char_len_get          (const char *str) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+
+/**
+ * TO BE DOCUMENTED:
+ * @todo document key modifiers.
+ */
+   EAPI const Evas_Modifier *evas_key_modifier_get          (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   EAPI const Evas_Lock     *evas_key_lock_get              (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE;
+   
+   EAPI Eina_Bool            evas_key_modifier_is_set       (const Evas_Modifier *m, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   
+   EAPI Eina_Bool            evas_key_lock_is_set           (const Evas_Lock *l, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   
+   EAPI void                 evas_key_modifier_add          (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_modifier_del          (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_lock_add              (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_lock_del              (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   
+   EAPI void                 evas_key_modifier_on           (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_modifier_off          (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_lock_on               (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_key_lock_off              (Evas *e, const char *keyname) EINA_ARG_NONNULL(1, 2);
+   
+   EAPI Evas_Modifier_Mask   evas_key_modifier_mask_get     (const Evas *e, const char *keyname) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2) EINA_PURE;
+   
+   EAPI Eina_Bool            evas_object_key_grab           (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers, Eina_Bool exclusive) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1, 2);
+   EAPI void                 evas_object_key_ungrab         (Evas_Object *obj, const char *keyname, Evas_Modifier_Mask modifiers, Evas_Modifier_Mask not_modifiers) EINA_ARG_NONNULL(1, 2);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/debian/tmp/usr/include/evas-1/Evas_Engine_Buffer.h b/debian/tmp/usr/include/evas-1/Evas_Engine_Buffer.h
new file mode 100644 (file)
index 0000000..e6d11d1
--- /dev/null
@@ -0,0 +1,40 @@
+#ifndef _EVAS_ENGINE_BUFFER_H
+#define _EVAS_ENGINE_BUFFER_H
+
+#define EVAS_ENGINE_BUFFER_DEPTH_ARGB32 0
+#define EVAS_ENGINE_BUFFER_DEPTH_BGRA32 1
+#define EVAS_ENGINE_BUFFER_DEPTH_RGB24  2
+#define EVAS_ENGINE_BUFFER_DEPTH_BGR24  3
+#define EVAS_ENGINE_BUFFER_DEPTH_RGB32  4
+
+typedef struct _Evas_Engine_Info_Buffer Evas_Engine_Info_Buffer;
+
+struct _Evas_Engine_Info_Buffer
+{
+   /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
+   /* at you and make nasty noises */
+   Evas_Engine_Info magic;
+
+   struct {
+      int   depth_type;
+
+      void *dest_buffer;
+      int   dest_buffer_row_bytes;
+
+      char  use_color_key : 1;
+      int   alpha_threshold;
+      int   color_key_r;
+      int   color_key_g;
+      int   color_key_b;
+      struct {
+        void * (*new_update_region) (int x, int y, int w, int h, int *row_bytes);
+        void   (*free_update_region) (int x, int y, int w, int h, void *data);
+      } func;
+   } info;
+
+   /* non-blocking or blocking mode */
+   Evas_Engine_Render_Mode render_mode;
+};
+#endif
+
+
diff --git a/debian/tmp/usr/include/evas-1/Evas_Engine_FB.h b/debian/tmp/usr/include/evas-1/Evas_Engine_FB.h
new file mode 100644 (file)
index 0000000..b548237
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef _EVAS_ENGINE_FB_H
+#define _EVAS_ENGINE_FB_H
+
+typedef struct _Evas_Engine_Info_FB Evas_Engine_Info_FB;
+
+struct _Evas_Engine_Info_FB
+{
+   /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
+   /* at you and make nasty noises */
+   Evas_Engine_Info magic;
+
+   struct {
+
+      int virtual_terminal;
+      int device_number;
+      int refresh;
+      int rotation;
+   } info;
+
+   /* non-blocking or blocking mode */
+   Evas_Engine_Render_Mode render_mode;
+};
+#endif
+
+
diff --git a/debian/tmp/usr/include/evas-1/Evas_Engine_GL_X11.h b/debian/tmp/usr/include/evas-1/Evas_Engine_GL_X11.h
new file mode 100644 (file)
index 0000000..7224f9c
--- /dev/null
@@ -0,0 +1,48 @@
+#ifndef _EVAS_ENGINE_GL_X11_H
+#define _EVAS_ENGINE_GL_X11_H
+
+#include <X11/Xlib.h>
+
+typedef struct _Evas_Engine_Info_GL_X11              Evas_Engine_Info_GL_X11;
+
+struct _Evas_Engine_Info_GL_X11
+{
+   /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
+   /* at you and make nasty noises */
+   Evas_Engine_Info magic;
+
+   /* engine specific data & parameters it needs to set up */
+   struct {
+      Display     *display;
+      Drawable     drawable;
+      Visual      *visual;
+      Colormap     colormap;
+      int          depth;
+      int          screen;
+      int          rotation;
+      unsigned int destination_alpha  : 1;
+   } info;
+   /* engine specific function calls to query stuff about the destination */
+   /* engine (what visual & colormap & depth to use, performance info etc. */
+   struct {
+      Visual *  (*best_visual_get)   (Evas_Engine_Info_GL_X11 *einfo);
+      Colormap  (*best_colormap_get) (Evas_Engine_Info_GL_X11 *einfo);
+      int       (*best_depth_get)    (Evas_Engine_Info_GL_X11 *einfo);
+   } func;
+
+   struct {
+      void      (*pre_swap)          (void *data, Evas *e);
+      void      (*post_swap)         (void *data, Evas *e);
+      
+      void       *data; // data for callback calls
+   } callback;
+
+   /* non-blocking or blocking mode */
+   Evas_Engine_Render_Mode render_mode;
+   
+   unsigned char vsync : 1; // does nothing right now
+   unsigned char indirect : 1; // use indirect rendering
+};
+#endif
+
+
diff --git a/debian/tmp/usr/include/evas-1/Evas_Engine_Software_X11.h b/debian/tmp/usr/include/evas-1/Evas_Engine_Software_X11.h
new file mode 100644 (file)
index 0000000..de6da96
--- /dev/null
@@ -0,0 +1,62 @@
+#ifndef _EVAS_ENGINE_SOFTWARE_X11_H
+#define _EVAS_ENGINE_SOFTWARE_X11_H
+
+typedef enum
+{
+  EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB,
+  EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XCB
+} Evas_Engine_Info_Software_X11_Backend;
+
+typedef struct _Evas_Engine_Info_Software_X11 Evas_Engine_Info_Software_X11;
+
+/*
+ *               Xlib       |      XCB
+ * connection | Display *   |  xcb_connection_t *
+ * screen     | NULL        |  xcb_screen_t *
+ * drawable   | Drawable    |  xcb_drawable_t
+ * mask       | Pixmap      |  xcb_pixmap_t
+ * visual     | Visual *    |  xcb_visualtype_t *
+ * colormap   | Colormap    |  xcb_colormap_t
+ */
+
+struct _Evas_Engine_Info_Software_X11
+{
+   /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
+   /* at you and make nasty noises */
+   Evas_Engine_Info magic;
+
+   /* engine specific data & parameters it needs to set up */
+   struct {
+      Evas_Engine_Info_Software_X11_Backend backend;
+      void                                 *connection;
+      void                                 *screen;
+      unsigned int                          drawable;
+      unsigned int                          mask;
+      void                                 *visual;
+      unsigned int                          colormap;
+      int                                   depth;
+      int                                   rotation;
+
+      unsigned int                          alloc_grayscale    : 1;
+      unsigned int                          debug              : 1;
+      unsigned int                          shape_dither       : 1;
+      unsigned int                          destination_alpha  : 1;
+      unsigned int                          track_mask_changes : 1;
+
+      int                                   alloc_colors_max;
+   } info;
+   /* engine specific function calls to query stuff about the destination */
+   struct {
+      void        *(*best_visual_get)   (int backend, void *connection, int screen);
+      unsigned int (*best_colormap_get) (int backend, void *connection, int screen);
+      int          (*best_depth_get)    (int backend, void *connection, int screen);
+   } func;
+
+   int mask_changed;
+   /* non-blocking or blocking mode */
+   Evas_Engine_Render_Mode render_mode;
+};
+
+#endif
+
+
diff --git a/debian/tmp/usr/include/evas-1/Evas_Engine_XRender_X11.h b/debian/tmp/usr/include/evas-1/Evas_Engine_XRender_X11.h
new file mode 100644 (file)
index 0000000..b329ae4
--- /dev/null
@@ -0,0 +1,44 @@
+#ifndef _EVAS_ENGINE_XRENDER_X11_H
+#define _EVAS_ENGINE_XRENDER_X11_H
+
+#include <X11/Xlib.h>
+
+typedef enum
+{
+  EVAS_ENGINE_INFO_XRENDER_BACKEND_XLIB,
+  EVAS_ENGINE_INFO_XRENDER_BACKEND_XCB
+} Evas_Engine_Info_XRender_Backend;
+
+typedef struct _Evas_Engine_Info_XRender_X11 Evas_Engine_Info_XRender_X11;
+
+/*
+ *               Xlib       |      XCB
+ * connection | Display *   |  xcb_connection_t *
+ * screen     | NULL        |  xcb_screen_t *
+ * drawable   | Drawable    |  xcb_drawable_t
+ * mask       | Pixmap      |  xcb_pixmap_t
+ * visual     | Visual *    |  xcb_visualtype_t *
+ * colormap   | Colormap    |  xcb_colormap_t
+ */
+
+struct _Evas_Engine_Info_XRender_X11
+{
+   /* PRIVATE - don't mess with this baby or evas will poke its tongue out */
+   /* at you and make nasty noises */
+   Evas_Engine_Info magic;
+
+   /* engine specific data & parameters it needs to set up */
+   struct {
+      Evas_Engine_Info_XRender_Backend backend;
+      void                            *connection;
+      void                            *screen;
+      unsigned int                     drawable;
+      unsigned int                     mask;
+      void                            *visual;
+      unsigned char                    destination_alpha : 1;
+   } info;
+
+   /* non-blocking or blocking mode */
+   Evas_Engine_Render_Mode render_mode;
+};
+#endif
diff --git a/debian/tmp/usr/lib/libevas.a b/debian/tmp/usr/lib/libevas.a
new file mode 100644 (file)
index 0000000..243322e
Binary files /dev/null and b/debian/tmp/usr/lib/libevas.a differ
diff --git a/debian/tmp/usr/lib/libevas.so.1 b/debian/tmp/usr/lib/libevas.so.1
new file mode 120000 (symlink)
index 0000000..e59587c
--- /dev/null
@@ -0,0 +1 @@
+libevas.so.1.0.999
\ No newline at end of file
diff --git a/debian/tmp/usr/lib/libevas.so.1.0.999 b/debian/tmp/usr/lib/libevas.so.1.0.999
new file mode 100755 (executable)
index 0000000..f099900
Binary files /dev/null and b/debian/tmp/usr/lib/libevas.so.1.0.999 differ
diff --git a/debian/tmp/usr/share/evas/examples/evas-buffer-simple.c b/debian/tmp/usr/share/evas/examples/evas-buffer-simple.c
new file mode 100644 (file)
index 0000000..6676ef1
--- /dev/null
@@ -0,0 +1,228 @@
+/**
+ * Simple Evas example using the Buffer engine.
+ *
+ * You must have Evas compiled with the buffer engine, and have the
+ * evas-software-buffer pkg-config files installed.
+ *
+ * Compile with:
+ *
+ * @verbatim
+ * gcc -o evas-buffer-simple evas-buffer-simple.c `pkg-config --libs --cflags evas evas-software-buffer`
+ * @endverbatim
+ *
+ */
+#include <Evas.h>
+#include <Evas_Engine_Buffer.h>
+#include <stdio.h>
+#include <errno.h>
+
+#define WIDTH (320)
+#define HEIGHT (240)
+
+/*
+ * create_canvas(), destroy_canvas() and draw_scene() are support functions.
+ *
+ * They are only required to use raw Evas, but for real world usage,
+ * it is recommended to use ecore and its ecore-evas submodule, that
+ * provide convenience canvas creators, integration with main loop and
+ * automatic render of updates (draw_scene()) when system goes back to
+ * main loop.
+ */
+static Evas *create_canvas(int width, int height);
+static void destroy_canvas(Evas *canvas);
+static void draw_scene(Evas *canvas);
+
+// support function to save scene as PPM image
+static void save_scene(Evas *canvas, const char *dest);
+
+int main(void)
+{
+   Evas *canvas;
+   Evas_Object *bg, *r1, *r2, *r3;
+
+   evas_init();
+
+   // create your canvas
+   // NOTE: consider using ecore_evas_buffer_new() instead!
+   canvas = create_canvas(WIDTH, HEIGHT);
+   if (!canvas)
+     return -1;
+
+   bg = evas_object_rectangle_add(canvas);
+   evas_object_color_set(bg, 255, 255, 255, 255); // white bg
+   evas_object_move(bg, 0, 0);                    // at origin
+   evas_object_resize(bg, WIDTH, HEIGHT);         // covers full canvas
+   evas_object_show(bg);
+
+   puts("initial scene, with just background:");
+   draw_scene(canvas);
+
+   r1 = evas_object_rectangle_add(canvas);
+   evas_object_color_set(r1, 255, 0, 0, 255); // 100% opaque red
+   evas_object_move(r1, 10, 10);
+   evas_object_resize(r1, 100, 100);
+   evas_object_show(r1);
+
+   // pay attention to transparency! Evas color values are pre-multiplied by
+   // alpha, so 50% opaque green is:
+   // non-premul: r=0, g=255, b=0    a=128 (50% alpha)
+   // premul:
+   //         r_premul = r * a / 255 =      0 * 128 / 255 =      0
+   //         g_premul = g * a / 255 =    255 * 128 / 255 =    128
+   //         b_premul = b * a / 255 =      0 * 128 / 255 =      0
+   //
+   // this 50% green is over a red background, so it will show in the
+   // final output as yellow (green + red = yellow)
+   r2 = evas_object_rectangle_add(canvas);
+   evas_object_color_set(r2, 0, 128, 0, 128); // 50% opaque green
+   evas_object_move(r2, 10, 10);
+   evas_object_resize(r2, 50, 50);
+   evas_object_show(r2);
+
+   r3 = evas_object_rectangle_add(canvas);
+   evas_object_color_set(r3, 0, 128, 0, 255); // 100% opaque dark green
+   evas_object_move(r3, 60, 60);
+   evas_object_resize(r3, 50, 50);
+   evas_object_show(r3);
+
+   puts("final scene (note updates):");
+   draw_scene(canvas);
+   save_scene(canvas, "/tmp/evas-buffer-simple-render.ppm");
+
+   // NOTE: use ecore_evas_buffer_new() and here ecore_evas_free()
+   destroy_canvas(canvas);
+
+   evas_shutdown();
+
+   return 0;
+}
+
+static Evas *create_canvas(int width, int height)
+{
+   Evas *canvas;
+   Evas_Engine_Info_Buffer *einfo;
+   int method;
+   void *pixels;
+
+   method = evas_render_method_lookup("buffer");
+   if (method <= 0)
+     {
+       fputs("ERROR: evas was not compiled with 'buffer' engine!\n", stderr);
+       return NULL;
+     }
+
+   canvas = evas_new();
+   if (!canvas)
+     {
+       fputs("ERROR: could not instantiate new evas canvas.\n", stderr);
+       return NULL;
+     }
+
+   evas_output_method_set(canvas, method);
+   evas_output_size_set(canvas, width, height);
+   evas_output_viewport_set(canvas, 0, 0, width, height);
+
+   einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(canvas);
+   if (!einfo)
+     {
+       fputs("ERROR: could not get evas engine info!\n", stderr);
+       evas_free(canvas);
+       return NULL;
+     }
+
+   // ARGB32 is sizeof(int), that is 4 bytes, per pixel
+   pixels = malloc(width * height * sizeof(int));
+   if (!pixels)
+     {
+       fputs("ERROR: could not allocate canvas pixels!\n", stderr);
+       evas_free(canvas);
+       return NULL;
+     }
+
+   einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
+   einfo->info.dest_buffer = pixels;
+   einfo->info.dest_buffer_row_bytes = width * sizeof(int);
+   einfo->info.use_color_key = 0;
+   einfo->info.alpha_threshold = 0;
+   einfo->info.func.new_update_region = NULL;
+   einfo->info.func.free_update_region = NULL;
+   evas_engine_info_set(canvas, (Evas_Engine_Info *)einfo);
+
+   return canvas;
+}
+
+static void destroy_canvas(Evas *canvas)
+{
+   Evas_Engine_Info_Buffer *einfo;
+
+   einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(canvas);
+   if (!einfo)
+     {
+       fputs("ERROR: could not get evas engine info!\n", stderr);
+       evas_free(canvas);
+       return;
+     }
+
+   free(einfo->info.dest_buffer);
+   evas_free(canvas);
+}
+
+static void draw_scene(Evas *canvas)
+{
+   Eina_List *updates, *n;
+   Eina_Rectangle *update;
+
+   // render and get the updated rectangles:
+   updates = evas_render_updates(canvas);
+
+   // informative only here, just print the updated areas:
+   EINA_LIST_FOREACH(updates, n, update)
+     printf("UPDATED REGION: pos: %3d, %3d    size: %3dx%3d\n",
+           update->x, update->y, update->w, update->h);
+
+   // free list of updates
+   evas_render_updates_free(updates);
+}
+
+static void save_scene(Evas *canvas, const char *dest)
+{
+   Evas_Engine_Info_Buffer *einfo;
+   const unsigned int *pixels, *pixels_end;
+   int width, height;
+   FILE *f;
+
+   einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(canvas);
+   if (!einfo)
+     {
+       fputs("ERROR: could not get evas engine info!\n", stderr);
+       return;
+     }
+   evas_output_size_get(canvas, &width, &height);
+
+   f = fopen(dest, "wb+");
+   if (!f)
+     {
+       fprintf(stderr, "ERROR: could not open for writing '%s': %s\n",
+               dest, strerror(errno));
+       return;
+     }
+
+   pixels = einfo->info.dest_buffer;
+   pixels_end = pixels + (width * height);
+
+   // PPM P6 format is dead simple to write:
+   fprintf(f, "P6\n%d %d\n255\n",  width, height);
+   for (; pixels < pixels_end; pixels++)
+     {
+       int r, g, b;
+
+       r = ((*pixels) & 0xff0000) >> 16;
+       g = ((*pixels) & 0x00ff00) >> 8;
+       b = (*pixels) & 0x0000ff;
+
+       fprintf(f, "%c%c%c", r, g, b);
+     }
+
+   fclose(f);
+   printf("saved scene as '%s'\n", dest);
+}
diff --git a/depcomp b/depcomp
new file mode 100755 (executable)
index 0000000..df8eea7
--- /dev/null
+++ b/depcomp
@@ -0,0 +1,630 @@
+#! /bin/sh
+# depcomp - compile a program generating dependencies as side-effects
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free
+# Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
+
+case $1 in
+  '')
+     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
+     exit 1;
+     ;;
+  -h | --h*)
+    cat <<\EOF
+Usage: depcomp [--help] [--version] PROGRAM [ARGS]
+
+Run PROGRAMS ARGS to compile a file, generating dependencies
+as side-effects.
+
+Environment variables:
+  depmode     Dependency tracking mode.
+  source      Source file read by `PROGRAMS ARGS'.
+  object      Object file output by `PROGRAMS ARGS'.
+  DEPDIR      directory where to store dependencies.
+  depfile     Dependency file to output.
+  tmpdepfile  Temporary file to use when outputing dependencies.
+  libtool     Whether libtool is used (yes/no).
+
+Report bugs to <bug-automake@gnu.org>.
+EOF
+    exit $?
+    ;;
+  -v | --v*)
+    echo "depcomp $scriptversion"
+    exit $?
+    ;;
+esac
+
+if test -z "$depmode" || test -z "$source" || test -z "$object"; then
+  echo "depcomp: Variables source, object and depmode must be set" 1>&2
+  exit 1
+fi
+
+# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
+depfile=${depfile-`echo "$object" |
+  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
+tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
+
+rm -f "$tmpdepfile"
+
+# Some modes work just like other modes, but use different flags.  We
+# parameterize here, but still list the modes in the big case below,
+# to make depend.m4 easier to write.  Note that we *cannot* use a case
+# here, because this file can only contain one case statement.
+if test "$depmode" = hp; then
+  # HP compiler uses -M and no extra arg.
+  gccflag=-M
+  depmode=gcc
+fi
+
+if test "$depmode" = dashXmstdout; then
+   # This is just like dashmstdout with a different argument.
+   dashmflag=-xM
+   depmode=dashmstdout
+fi
+
+cygpath_u="cygpath -u -f -"
+if test "$depmode" = msvcmsys; then
+   # This is just like msvisualcpp but w/o cygpath translation.
+   # Just convert the backslash-escaped backslashes to single forward
+   # slashes to satisfy depend.m4
+   cygpath_u="sed s,\\\\\\\\,/,g"
+   depmode=msvisualcpp
+fi
+
+case "$depmode" in
+gcc3)
+## gcc 3 implements dependency tracking that does exactly what
+## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
+## it if -MD -MP comes after the -MF stuff.  Hmm.
+## Unfortunately, FreeBSD c89 acceptance of flags depends upon
+## the command line argument order; so add the flags where they
+## appear in depend2.am.  Note that the slowdown incurred here
+## affects only configure: in makefiles, %FASTDEP% shortcuts this.
+  for arg
+  do
+    case $arg in
+    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
+    *)  set fnord "$@" "$arg" ;;
+    esac
+    shift # fnord
+    shift # $arg
+  done
+  "$@"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  mv "$tmpdepfile" "$depfile"
+  ;;
+
+gcc)
+## There are various ways to get dependency output from gcc.  Here's
+## why we pick this rather obscure method:
+## - Don't want to use -MD because we'd like the dependencies to end
+##   up in a subdir.  Having to rename by hand is ugly.
+##   (We might end up doing this anyway to support other compilers.)
+## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
+##   -MM, not -M (despite what the docs say).
+## - Using -M directly means running the compiler twice (even worse
+##   than renaming).
+  if test -z "$gccflag"; then
+    gccflag=-MD,
+  fi
+  "$@" -Wp,"$gccflag$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
+## The second -e expression handles DOS-style file names with drive letters.
+  sed -e 's/^[^:]*: / /' \
+      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
+## This next piece of magic avoids the `deleted header file' problem.
+## The problem is that when a header file which appears in a .P file
+## is deleted, the dependency causes make to die (because there is
+## typically no way to rebuild the header).  We avoid this by adding
+## dummy dependencies for each header file.  Too bad gcc doesn't do
+## this for us directly.
+  tr ' ' '
+' < "$tmpdepfile" |
+## Some versions of gcc put a space before the `:'.  On the theory
+## that the space means something, we add a space to the output as
+## well.
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+sgi)
+  if test "$libtool" = yes; then
+    "$@" "-Wp,-MDupdate,$tmpdepfile"
+  else
+    "$@" -MDupdate "$tmpdepfile"
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+
+  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
+    echo "$object : \\" > "$depfile"
+
+    # Clip off the initial element (the dependent).  Don't try to be
+    # clever and replace this with sed code, as IRIX sed won't handle
+    # lines with more than a fixed number of characters (4096 in
+    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
+    # the IRIX cc adds comments like `#:fec' to the end of the
+    # dependency line.
+    tr ' ' '
+' < "$tmpdepfile" \
+    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
+    tr '
+' ' ' >> "$depfile"
+    echo >> "$depfile"
+
+    # The second pass generates a dummy entry for each header file.
+    tr ' ' '
+' < "$tmpdepfile" \
+   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
+   >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+aix)
+  # The C for AIX Compiler uses -M and outputs the dependencies
+  # in a .u file.  In older versions, this file always lives in the
+  # current directory.  Also, the AIX compiler puts `$object:' at the
+  # start of each line; $object doesn't have directory information.
+  # Version 6 uses the directory in both cases.
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$base.u
+    tmpdepfile3=$dir.libs/$base.u
+    "$@" -Wc,-M
+  else
+    tmpdepfile1=$dir$base.u
+    tmpdepfile2=$dir$base.u
+    tmpdepfile3=$dir$base.u
+    "$@" -M
+  fi
+  stat=$?
+
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+    exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    # Each line is of the form `foo.o: dependent.h'.
+    # Do two passes, one to just change these to
+    # `$object: dependent.h' and one to simply `dependent.h:'.
+    sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+    # That's a tab and a space in the [].
+    sed -e 's,^.*\.[a-z]*:[     ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+  else
+    # The sourcefile does not contain any dependencies, so just
+    # store a dummy comment line, to avoid errors with the Makefile
+    # "include basename.Plo" scheme.
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile"
+  ;;
+
+icc)
+  # Intel's C compiler understands `-MD -MF file'.  However on
+  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
+  # ICC 7.0 will fill foo.d with something like
+  #    foo.o: sub/foo.c
+  #    foo.o: sub/foo.h
+  # which is wrong.  We want:
+  #    sub/foo.o: sub/foo.c
+  #    sub/foo.o: sub/foo.h
+  #    sub/foo.c:
+  #    sub/foo.h:
+  # ICC 7.1 will output
+  #    foo.o: sub/foo.c sub/foo.h
+  # and will wrap long lines using \ :
+  #    foo.o: sub/foo.c ... \
+  #     sub/foo.h ... \
+  #     ...
+
+  "$@" -MD -MF "$tmpdepfile"
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+    rm -f "$tmpdepfile"
+    exit $stat
+  fi
+  rm -f "$depfile"
+  # Each line is of the form `foo.o: dependent.h',
+  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
+  # Do two passes, one to just change these to
+  # `$object: dependent.h' and one to simply `dependent.h:'.
+  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
+  # Some versions of the HPUX 10.20 sed can't process this invocation
+  # correctly.  Breaking it into two sed invocations is a workaround.
+  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
+    sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+hp2)
+  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
+  # compilers, which have integrated preprocessors.  The correct option
+  # to use with these is +Maked; it writes dependencies to a file named
+  # 'foo.d', which lands next to the object file, wherever that
+  # happens to be.
+  # Much of this is similar to the tru64 case; see comments there.
+  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+  test "x$dir" = "x$object" && dir=
+  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+  if test "$libtool" = yes; then
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir.libs/$base.d
+    "$@" -Wc,+Maked
+  else
+    tmpdepfile1=$dir$base.d
+    tmpdepfile2=$dir$base.d
+    "$@" +Maked
+  fi
+  stat=$?
+  if test $stat -eq 0; then :
+  else
+     rm -f "$tmpdepfile1" "$tmpdepfile2"
+     exit $stat
+  fi
+
+  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
+  do
+    test -f "$tmpdepfile" && break
+  done
+  if test -f "$tmpdepfile"; then
+    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
+    # Add `dependent.h:' lines.
+    sed -ne '2,${
+              s/^ *//
+              s/ \\*$//
+              s/$/:/
+              p
+            }' "$tmpdepfile" >> "$depfile"
+  else
+    echo "#dummy" > "$depfile"
+  fi
+  rm -f "$tmpdepfile" "$tmpdepfile2"
+  ;;
+
+tru64)
+   # The Tru64 compiler uses -MD to generate dependencies as a side
+   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
+   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
+   # dependencies in `foo.d' instead, so we check for that too.
+   # Subdirectories are respected.
+   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
+   test "x$dir" = "x$object" && dir=
+   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
+
+   if test "$libtool" = yes; then
+      # With Tru64 cc, shared objects can also be used to make a
+      # static library.  This mechanism is used in libtool 1.4 series to
+      # handle both shared and static libraries in a single compilation.
+      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
+      #
+      # With libtool 1.5 this exception was removed, and libtool now
+      # generates 2 separate objects for the 2 libraries.  These two
+      # compilations output dependencies in $dir.libs/$base.o.d and
+      # in $dir$base.o.d.  We have to check for both files, because
+      # one of the two compilations can be disabled.  We should prefer
+      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
+      # automatically cleaned when .libs/ is deleted, while ignoring
+      # the former would cause a distcleancheck panic.
+      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
+      tmpdepfile2=$dir$base.o.d          # libtool 1.5
+      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
+      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
+      "$@" -Wc,-MD
+   else
+      tmpdepfile1=$dir$base.o.d
+      tmpdepfile2=$dir$base.d
+      tmpdepfile3=$dir$base.d
+      tmpdepfile4=$dir$base.d
+      "$@" -MD
+   fi
+
+   stat=$?
+   if test $stat -eq 0; then :
+   else
+      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+      exit $stat
+   fi
+
+   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
+   do
+     test -f "$tmpdepfile" && break
+   done
+   if test -f "$tmpdepfile"; then
+      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
+      # That's a tab and a space in the [].
+      sed -e 's,^.*\.[a-z]*:[   ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
+   else
+      echo "#dummy" > "$depfile"
+   fi
+   rm -f "$tmpdepfile"
+   ;;
+
+#nosideeffect)
+  # This comment above is used by automake to tell side-effect
+  # dependency tracking mechanisms from slower ones.
+
+dashmstdout)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout, regardless of -o.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  test -z "$dashmflag" && dashmflag=-M
+  # Require at least two characters before searching for `:'
+  # in the target name.  This is to cope with DOS-style filenames:
+  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
+  "$@" $dashmflag |
+    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  tr ' ' '
+' < "$tmpdepfile" | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+dashXmstdout)
+  # This case only exists to satisfy depend.m4.  It is never actually
+  # run, as this mode is specially recognized in the preamble.
+  exit 1
+  ;;
+
+makedepend)
+  "$@" || exit $?
+  # Remove any Libtool call
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+  # X makedepend
+  shift
+  cleared=no eat=no
+  for arg
+  do
+    case $cleared in
+    no)
+      set ""; shift
+      cleared=yes ;;
+    esac
+    if test $eat = yes; then
+      eat=no
+      continue
+    fi
+    case "$arg" in
+    -D*|-I*)
+      set fnord "$@" "$arg"; shift ;;
+    # Strip any option that makedepend may not understand.  Remove
+    # the object too, otherwise makedepend will parse it as a source file.
+    -arch)
+      eat=yes ;;
+    -*|$object)
+      ;;
+    *)
+      set fnord "$@" "$arg"; shift ;;
+    esac
+  done
+  obj_suffix=`echo "$object" | sed 's/^.*\././'`
+  touch "$tmpdepfile"
+  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
+  rm -f "$depfile"
+  cat < "$tmpdepfile" > "$depfile"
+  sed '1,2d' "$tmpdepfile" | tr ' ' '
+' | \
+## Some versions of the HPUX 10.20 sed can't process this invocation
+## correctly.  Breaking it into two sed invocations is a workaround.
+    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile" "$tmpdepfile".bak
+  ;;
+
+cpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  # Remove `-o $object'.
+  IFS=" "
+  for arg
+  do
+    case $arg in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    *)
+      set fnord "$@" "$arg"
+      shift # fnord
+      shift # $arg
+      ;;
+    esac
+  done
+
+  "$@" -E |
+    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
+       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
+    sed '$ s: \\$::' > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  cat < "$tmpdepfile" >> "$depfile"
+  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvisualcpp)
+  # Important note: in order to support this mode, a compiler *must*
+  # always write the preprocessed file to stdout.
+  "$@" || exit $?
+
+  # Remove the call to Libtool.
+  if test "$libtool" = yes; then
+    while test "X$1" != 'X--mode=compile'; do
+      shift
+    done
+    shift
+  fi
+
+  IFS=" "
+  for arg
+  do
+    case "$arg" in
+    -o)
+      shift
+      ;;
+    $object)
+      shift
+      ;;
+    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
+       set fnord "$@"
+       shift
+       shift
+       ;;
+    *)
+       set fnord "$@" "$arg"
+       shift
+       shift
+       ;;
+    esac
+  done
+  "$@" -E 2>/dev/null |
+  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile"
+  rm -f "$depfile"
+  echo "$object : \\" > "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::     \1 \\:p' >> "$depfile"
+  echo "       " >> "$depfile"
+  sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile"
+  rm -f "$tmpdepfile"
+  ;;
+
+msvcmsys)
+  # This case exists only to let depend.m4 do its work.  It works by
+  # looking at the text of this script.  This case will never be run,
+  # since it is checked for above.
+  exit 1
+  ;;
+
+none)
+  exec "$@"
+  ;;
+
+*)
+  echo "Unknown depmode $depmode" 1>&2
+  exit 1
+  ;;
+esac
+
+exit 0
+
+# Local Variables:
+# mode: shell-script
+# sh-indentation: 2
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/doc/evas.dox b/doc/evas.dox
new file mode 100644 (file)
index 0000000..6093594
--- /dev/null
@@ -0,0 +1,323 @@
+/**
+
+@mainpage Evas
+
+@image html  e_big.png
+
+@version 1.0.999.0
+@author Carsten Haitzler <raster@@rasterman.com>
+@author Till Adam <till@@adam-lilienthal.de>
+@author Steve Ireland <sireland@@pobox.com>
+@author Brett Nash <nash@@nash.id.au>
+@author Tilman Sauerbeck <tilman@@code-monkey.de>
+@author Corey Donohoe <atmos@@atmos.org>
+@author Yuri Hudobin <glassy_ape@@users.sourceforge.net>
+@author Nathan Ingersoll <ningerso@@d.umn.edu>
+@author Willem Monsuwe <willem@@stack.nl>
+@author Jose O Gonzalez <jose_ogp@@juno.com>
+@author Bernhard Nemec <Bernhard.Nemec@@viasyshc.com>
+@author Jorge Luis Zapata Muga <jorgeluis.zapata@@gmail.com>
+@author Cedric Bail <cedric.bail@@free.fr>
+@author Gustavo Sverzut Barbieri <barbieri@@profusion.mobi>
+@author Vincent Torri <vtorri@@univ-evry.fr>
+@author Tim Horton <hortont424@@gmail.com>
+@author Tom Hacohen <tom@@stosb.com>
+@author Mathieu Taillefumier <mathieu.taillefumier@@free.fr>
+@author Iván Briano <ivan@@profusion.mobi>
+@author Gustavo Lima Chaves <glima@@profusion.mobi>
+@author Samsung Electronics <tbd>
+@author Samsung SAIT <tbd>
+@author Sung W. Park <sungwoo@@gmail.com>
+@author Jiyoun Park <jy0703.park@@samsung.com>
+@date 2000-2011
+
+@section toc Table of Contents
+
+@li @ref intro
+@li @ref work
+@li @ref compiling
+@li @ref install
+@li @ref next_steps
+@li @ref intro_example
+
+
+@section intro What is Evas?
+
+Evas is a clean display canvas API for several target display systems that
+can draw anti-aliased text, smooth super and sub-sampled scaled images,
+alpha-blend objects much and more.
+
+It abstracts any need to know much about what the characteristics of your
+display system are or what graphics calls are used to draw them and how. It
+deals on an object level where all you do is create and manipulate objects
+in a canvas, set their properties, and the rest is done for you.
+
+Evas optimises the rendering pipeline to minimise effort in redrawing changes
+made to the canvas and so takes this work out of the programmers hand,
+saving a lot of time and energy.
+
+It's small and lean, designed to work on embedded systems all the way to
+large and powerful multi-cpu workstations. It can be compiled to only have
+the features you need for your target platform if you so wish, thus keeping
+it small and lean. It has several display back-ends, letting it display on
+several display systems, making it portable for cross-device and
+cross-platform development.
+
+@subsection intro_not_evas What Evas is not?
+
+Evas is not a widget set or widget toolkit, however it is their
+base. See Elementary (http://docs.enlightenment.org/auto/elementary/)
+for a toolkit based on Evas, Edje, Ecore and other Enlightenment
+technologies.
+
+It is not dependent or aware of main loops, input or output
+systems. Input should be polled from various sources and feed them to
+Evas. Similarly, it will not create windows or report windows updates
+to your system, rather just drawing the pixels and reporting to the
+user the areas that were changed. Of course these operations are quite
+common and thus they are ready to use in Ecore, particularly in
+Ecore_Evas (http://docs.enlightenment.org/auto/ecore/).
+
+
+@section work How does Evas work?
+
+Evas is a canvas display library. This is markedly different from most
+display and windowing systems as a Canvas is structural and is also a state
+engine, whereas most display and windowing systems are immediate mode display
+targets. Evas handles the logic between a structural display via its' state
+engine, and controls the target windowing system in order to produce
+rendered results of the current canvases state on the display.
+
+Immediate mode display systems retain very little, or no state. A program
+will execute a series of commands, as in the pseudo code:
+
+@verbatim
+draw line from position (0, 0) to position (100, 200);
+
+draw rectangle from position (10, 30) to position (50, 500);
+
+bitmap_handle = create_bitmap();
+scale bitmap_handle to size 100 x 100;
+draw image bitmap_handle at position (10, 30);
+@endverbatim
+
+The series of commands is executed by the windowing system and the results
+are displayed on the screen (normally). Once the commands are executed the
+display system has little or no idea of how to reproduce this image again,
+and so has to be instructed by the application how to redraw sections of the
+screen whenever needed. Each successive command will be executed as
+instructed by the application and either emulated by software or sent to the
+graphics hardware on the device to be performed.
+
+The advantage of such a system is that it is simple, and gives a program
+tight control over how something looks and is drawn. Given the increasing
+complexity of displays and demands by users to have better looking
+interfaces, more and more work is needing to be done at this level by the
+internals of widget sets, custom display widgets and other programs. This
+means more and more logic and display rendering code needs to be written
+time and time again, each time the application needs to figure out how to
+minimise redraws so that display is fast and interactive, and keep track of
+redraw logic. The power comes at a high-price, lots of extra code and work.
+Programmers not very familiar with graphics programming will often make
+mistakes at this level and produce code that is sub optimal. Those familiar
+with this kind of programming will simply get bored by writing the same code
+again and again.
+
+For example, if in the above scene, the windowing system requires the
+application to redraw the area from 0, 0 to 50, 50 (also referred as
+"expose event"), then the programmer must calculate manually the
+updates and repaint it again:
+
+@verbatim
+Redraw from position (0, 0) to position (50, 50):
+
+// what was in area (0, 0, 50, 50)?
+
+// 1. intersection part of line (0, 0) to (100, 200)?
+      draw line from position (0, 0) to position (25, 50);
+
+// 2. intersection part of rectangle (10, 30) to (50, 500)?
+      draw rectangle from position (10, 30) to position (50, 50)
+
+// 3. intersection part of image at (10, 30), size 100 x 100?
+      bitmap_subimage = subregion from position (0, 0) to position (40, 20)
+      draw image bitmap_subimage at position (10, 30);
+@endverbatim
+
+The clever reader might have noticed that, if all elements in the
+above scene are opaque, then the system is doing useless paints: part
+of the line is behind the rectangle, and part of the rectangle is
+behind the image. These useless paints tends to be very costly, as
+pixels tend to be 4 bytes in size, thus an overlapping region of 100 x
+100 pixels is around 40000 useless writes! The developer could write
+code to calculate the overlapping areas and avoid painting then, but
+then it should be mixed with the "expose event" handling mentioned
+above and quickly one realizes the initially simpler method became
+really complex.
+
+Evas is a structural system in which the programmer creates and manages
+display objects and their properties, and as a result of this higher level
+state management, the canvas is able to redraw the set of objects when
+needed to represent the current state of the canvas.
+
+For example, the pseudo code:
+
+@verbatim
+line_handle = create_line();
+set line_handle from position (0, 0) to position (100, 200);
+show line_handle;
+
+rectangle_handle = create_rectangle();
+move rectangle_handle to position (10, 30);
+resize rectangle_handle to size 40 x 470;
+show rectangle_handle;
+
+bitmap_handle = create_bitmap();
+scale bitmap_handle to size 100 x 100;
+move bitmap_handle to position (10, 30);
+show bitmap_handle;
+
+render scene;
+@endverbatim
+
+This may look longer, but when the display needs to be refreshed or updated,
+the programmer only moves, resizes, shows, hides etc. the objects that they
+need to change. The programmer simply thinks at the object logic level, and
+the canvas software does the rest of the work for them, figuring out what
+actually changed in the canvas since it was last drawn, how to most
+efficiently redraw he canvas and its contents to reflect the current state,
+and then it can go off and do the actual drawing of the canvas.
+
+This lets the programmer think in a more natural way when dealing with a
+display, and saves time and effort of working out how to load and display
+images, render given the current display system etc. Since Evas also is
+portable across different display systems, this also gives the programmer
+the ability to have their code ported and display on different display
+systems with very little work.
+
+Evas can be seen as a display system that stands somewhere between a widget
+set and an immediate mode display system. It retains basic display logic,
+but does very little high-level logic such as scrollbars, sliders, push
+buttons etc.
+
+
+@section compiling How to compile using Evas ?
+
+Evas is a library your application links to. The procedure for this is very
+simple. You simply have to compile your application with the appropriate
+compiler flags that the @p pkg-config script outputs. For example:
+
+Compiling C or C++ files into object files:
+
+@verbatim
+gcc -c -o main.o main.c `pkg-config --cflags evas`
+@endverbatim
+
+Linking object files into a binary executable:
+
+@verbatim
+gcc -o my_application main.o `pkg-config --libs evas`
+@endverbatim
+
+You simply have to make sure that pkg-config is in your shell's PATH (see
+the manual page for your appropriate shell) and evas.pc in /usr/lib/pkgconfig
+or its path is in the PKG_CONFIG_PATH environment variable. It's that simple
+to link and use Evas once you have written your code to use it.
+
+Since the program is linked to Evas, it is now able to use any advertised
+API calls to display graphics in a canvas managed by Evas, as well as use
+the API calls provided to manage data as well.
+
+You should make sure you add any extra compile and link flags to your
+compile commands that your application may need as well. The above example
+is only guaranteed to make Evas add it's own requirements.
+
+
+@section install How is it installed?
+
+Simple:
+
+@verbatim
+./configure
+make
+su -
+...
+make install
+@endverbatim
+
+@section next_steps Next Steps
+
+After you understood what Evas is and installed it in your system you
+should proceed understanding the programming interface for all
+objects, then see the specific for the most used elements. We'd
+recommend you to take a while to learn Ecore
+(http://docs.enlightenment.org/auto/ecore/) and Edje
+(http://docs.enlightenment.org/auto/edje/) as they will likely save
+you tons of work compared to using just Evas directly.
+
+Recommended reading:
+
+@li @ref Evas_Object_Group
+@li @ref Evas_Object_Rectangle
+@li @ref Evas_Object_Image
+@li @ref Evas_Object_Text
+@li @ref Evas_Smart_Object_Group and @ref Evas_Smart_Group to define
+    an object that provides custom functions to handle clipping,
+    hiding, moving, resizing, setting the color and more. These could
+    be as simple as a group of objects that move together (see @ref
+    Evas_Smart_Object_Clipped). These smart objects can implement what
+    ends to be a widget, providing some intelligence (thus the name),
+    like a button or check box.
+
+@section intro_example Introductory Example
+
+@include evas-buffer-simple.c
+
+
+
+@todo (1.0) Need a way ot scaling an image and just PRODUCING the output (scaling direct to target buffe r- no blend/copy etc.)
+@todo (1.0) Could improve evas's scaling down code to limit multiple samples per output pixel to maybe 2x2?
+@todo (1.0) Document API
+@todo (1.0) Evas needs to check delete_me member for all object functions
+@todo (1.0) Evas engine that renders to Evas_Objects
+@todo (1.0) OpenGL engine needs to use texture meshes
+@todo (1.0) OpenGL engine needs texture cache and size setting
+@todo (1.0) OpenGL Engine needs YUV import API to YUV texture
+@todo (1.0) All engines need pixel import API
+@todo (1.0) Add parital render through composite layer api to engines
+@todo (1.0) Move callback processing to a queue and do it asynchronously???
+@todo (1.0) Add button grabbing
+@todo (1.0) Add generic object method call system
+@todo (1.0) Add callbacks set for smart object parents to be set on all child smart objects too.
+@todo (1.0) Add font load query calls (so we know if a font load failed)
+@todo (1.0) Add font listing calls
+@todo (1.0) Add ability to check image comments & disk format
+@todo (1.0) Add fontset support
+@todo (1.0) Export engine rendering API cleanly to Evas API
+@todo (1.0) Add smart object ability to provide rendering callback
+@todo (1.1) Make freetype optional and put in optional graymap font engine
+@todo (1.1) Free images if object invisible (and put back in chache)
+@todo (1.1) Check robustness of malloc/calloc/realloc failures.
+@todo (1.1) Add memory use reduction code if any allocations fail
+@todo (1.1) If image loads fails due to memory allocatue failure, load reduced res version
+@todo (1.1) If image load fails due to memory allocation failure, try split it up into tiles and demand-load them
+@todo (1.2) Add external image loaders (application provided callbacks to load)
+@todo (1.2) Add loadable image loader module support (evas loads file.so)
+@todo (1.2) Add external image loader modules (application provides path to file.so)
+@todo (1.3) Add X11 primtive engine (ie pixmap)
+@todo (1.3) Add immediate mode drawing commands to image objects
+@todo (1.3) Fix FB engine to allocate vt and release properly
+@todo (1.4) Add ellipse objects (circle, arc, ellipse etc.)
+@todo (1.5) Make software engine draw lines & polys etc. with aa
+@todo (1.5) Add radial gradients to gradient objects
+@todo (1.5) Add Symbian Engine
+@todo (1.6) Add PalmOS Engine
+@todo (1.6) Add Apple OpenGL Engine
+@todo (1.7) Document engine API and other internals
+@todo (1.7) Allow any object to clip any other object, and not just rectangles
+@todo (1.8) Add more evas demos
+@todo (1.9) Write the error mechanism in evas_xcb_buffer.c
+@todo (1.9) Rewrite the render xcb engine
+@todo (1.10) Improve Win32 Direct3D Engine
+
+*/
diff --git a/doc/html/Evas_8h.html b/doc/html/Evas_8h.html
new file mode 100644 (file)
index 0000000..61be5b4
--- /dev/null
@@ -0,0 +1,3264 @@
+<html>
+<head>
+    <title>Evas: Evas.h File Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Evas.h File Reference</h1>  </div>
+</div>
+<div class="contents">
+
+<p>These routines are used for Evas library interaction.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Coord__Rectangle.html">_Evas_Coord_Rectangle</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">&lt; A rectangle in Evas_Coord  <a href="struct__Evas__Coord__Rectangle.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Engine__Info.html">_Evas_Engine_Info</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Generic engine information.  <a href="struct__Evas__Engine__Info.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Down.html">_Evas_Event_Mouse_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button press event.  <a href="struct__Evas__Event__Mouse__Down.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Up.html">_Evas_Event_Mouse_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button release event.  <a href="struct__Evas__Event__Mouse__Up.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__In.html">_Evas_Event_Mouse_In</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse enter event.  <a href="struct__Evas__Event__Mouse__In.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Out.html">_Evas_Event_Mouse_Out</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse leave event.  <a href="struct__Evas__Event__Mouse__Out.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Move.html">_Evas_Event_Mouse_Move</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button down event.  <a href="struct__Evas__Event__Mouse__Move.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Wheel.html">_Evas_Event_Mouse_Wheel</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wheel event.  <a href="struct__Evas__Event__Mouse__Wheel.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Down.html">_Evas_Event_Multi_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi button press event.  <a href="struct__Evas__Event__Multi__Down.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Up.html">_Evas_Event_Multi_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi button release event.  <a href="struct__Evas__Event__Multi__Up.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Move.html">_Evas_Event_Multi_Move</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi button down event.  <a href="struct__Evas__Event__Multi__Move.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Down.html">_Evas_Event_Key_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key press event.  <a href="struct__Evas__Event__Key__Down.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Up.html">_Evas_Event_Key_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key release event.  <a href="struct__Evas__Event__Key__Up.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Hold.html">_Evas_Event_Hold</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hold change event.  <a href="struct__Evas__Event__Hold.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a smart object class  <a href="struct__Evas__Smart__Class.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Describes a callback used by a smart class <a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e" title="Call any smart callbacks on obj for event.">evas_object_smart_callback_call()</a>, particularly useful to explain to user and its code (ie: introspection) what the parameter <code>event_info</code> will contain.  <a href="struct__Evas__Smart__Cb__Description.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a>.  <a href="struct__Evas__Object__Box__Api.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure augments clipped smart object's instance data, providing extra members required by generic box implementation.  <a href="struct__Evas__Object__Box__Data.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html">_Evas_Cserve_Stats</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Statistics about server that shares cached bitmaps.  <a href="struct__Evas__Cserve__Stats.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Image__Cache.html">_Evas_Cserve_Image_Cache</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cache of images shared by server.  <a href="struct__Evas__Cserve__Image__Cache.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Image.html">_Evas_Cserve_Image</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An image shared by the server.  <a href="struct__Evas__Cserve__Image.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Config.html">_Evas_Cserve_Config</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Configuration that controls the server that shares cached bitmaps.  <a href="struct__Evas__Cserve__Config.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8817f2ac4e0058d43f9bfe1e563e551b"></a><!-- doxytag: member="Evas.h::EVAS_LAYER_MIN" ref="a8817f2ac4e0058d43f9bfe1e563e551b" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a8817f2ac4e0058d43f9bfe1e563e551b">EVAS_LAYER_MIN</a>&nbsp;&nbsp;&nbsp;-32768</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">bottom-most layer number <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1456f5c97f03ebd786c49d4d1178e7a0"></a><!-- doxytag: member="Evas.h::EVAS_LAYER_MAX" ref="a1456f5c97f03ebd786c49d4d1178e7a0" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1456f5c97f03ebd786c49d4d1178e7a0">EVAS_LAYER_MAX</a>&nbsp;&nbsp;&nbsp;32767</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">top-most layer number <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a37fdd5a69b7ea8e46140ef147aef8192"></a><!-- doxytag: member="Evas.h::EVAS_COLOR_SPACE_ARGB" ref="a37fdd5a69b7ea8e46140ef147aef8192" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a37fdd5a69b7ea8e46140ef147aef8192">EVAS_COLOR_SPACE_ARGB</a>&nbsp;&nbsp;&nbsp;0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not used for anything. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a94722d391c46d7c062e13447d9877e71"></a><!-- doxytag: member="Evas.h::EVAS_COLOR_SPACE_AHSV" ref="a94722d391c46d7c062e13447d9877e71" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a94722d391c46d7c062e13447d9877e71">EVAS_COLOR_SPACE_AHSV</a>&nbsp;&nbsp;&nbsp;1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not used for anything. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad143a67f2f6f649135d84f8a55a6766a"></a><!-- doxytag: member="Evas.h::EVAS_TEXT_INVALID" ref="ad143a67f2f6f649135d84f8a55a6766a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ad143a67f2f6f649135d84f8a55a6766a">EVAS_TEXT_INVALID</a>&nbsp;&nbsp;&nbsp;-1</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not used for anything. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a895e0e75635b4de42f815d3281fd81be"></a><!-- doxytag: member="Evas.h::EVAS_TEXT_SPECIAL" ref="a895e0e75635b4de42f815d3281fd81be" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a895e0e75635b4de42f815d3281fd81be">EVAS_TEXT_SPECIAL</a>&nbsp;&nbsp;&nbsp;-2</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Not used for anything. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa47c85083d3dae0111c21ec49359306a"></a><!-- doxytag: member="Evas.h::EVAS_HINT_EXPAND" ref="aa47c85083d3dae0111c21ec49359306a" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aa47c85083d3dae0111c21ec49359306a">EVAS_HINT_EXPAND</a>&nbsp;&nbsp;&nbsp;1.0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use with <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98" title="Sets the size weight control hint.">evas_object_size_hint_weight_set()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb" title="Retrieves the size weight control hint.">evas_object_size_hint_weight_get()</a>, <a class="el" href="Evas_8h.html#ab239e77a0e38a5a756acbb0604055ecf" title="Convenience macro to make it easier to understand that weight is also used for expand properties...">evas_object_size_hint_expand_set()</a>, <a class="el" href="Evas_8h.html#a71adf20af9358d9d26b7c88b61d1fc8d" title="Convenience macro to make it easier to understand that weight is also used for expand properties...">evas_object_size_hint_expand_get()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aecbac710f36d52911fc34dcdaf8e729c"></a><!-- doxytag: member="Evas.h::EVAS_HINT_FILL" ref="aecbac710f36d52911fc34dcdaf8e729c" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aecbac710f36d52911fc34dcdaf8e729c">EVAS_HINT_FILL</a>&nbsp;&nbsp;&nbsp;-1.0</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Use with <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f" title="Sets the size align control hint.">evas_object_size_hint_align_set()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb" title="Retrieves the size align control hint.">evas_object_size_hint_align_get()</a>, <a class="el" href="Evas_8h.html#a1b148ef14ae2eb1fbde17179b66a0503" title="Convenience macro to make it easier to understand that align is also used for fill properties (as fil...">evas_object_size_hint_fill_set()</a>, <a class="el" href="Evas_8h.html#ac787ce1277b96bed04ff2b08449907c9" title="Convenience macro to make it easier to understand that align is also used for fill properties (as fil...">evas_object_size_hint_fill_get()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b148ef14ae2eb1fbde17179b66a0503"></a><!-- doxytag: member="Evas.h::evas_object_size_hint_fill_set" ref="a1b148ef14ae2eb1fbde17179b66a0503" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1b148ef14ae2eb1fbde17179b66a0503">evas_object_size_hint_fill_set</a>&nbsp;&nbsp;&nbsp;evas_object_size_hint_align_set</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac787ce1277b96bed04ff2b08449907c9"></a><!-- doxytag: member="Evas.h::evas_object_size_hint_fill_get" ref="ac787ce1277b96bed04ff2b08449907c9" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ac787ce1277b96bed04ff2b08449907c9">evas_object_size_hint_fill_get</a>&nbsp;&nbsp;&nbsp;evas_object_size_hint_align_get</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab239e77a0e38a5a756acbb0604055ecf"></a><!-- doxytag: member="Evas.h::evas_object_size_hint_expand_set" ref="ab239e77a0e38a5a756acbb0604055ecf" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ab239e77a0e38a5a756acbb0604055ecf">evas_object_size_hint_expand_set</a>&nbsp;&nbsp;&nbsp;evas_object_size_hint_weight_set</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to make it easier to understand that weight is also used for expand properties. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a71adf20af9358d9d26b7c88b61d1fc8d"></a><!-- doxytag: member="Evas.h::evas_object_size_hint_expand_get" ref="a71adf20af9358d9d26b7c88b61d1fc8d" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a71adf20af9358d9d26b7c88b61d1fc8d">evas_object_size_hint_expand_get</a>&nbsp;&nbsp;&nbsp;evas_object_size_hint_weight_get</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to make it easier to understand that weight is also used for expand properties. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1ca1514302a47188c921b232d6ce42db"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_VERSION" ref="ga1ca1514302a47188c921b232d6ce42db" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">EVAS_SMART_CLASS_VERSION</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The version you have to put into the version field in the smart class struct. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0">EVAS_SMART_CLASS_INIT_NULL</a>&nbsp;&nbsp;&nbsp;{NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure.  <a href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562">EVAS_SMART_CLASS_INIT_VERSION</a>&nbsp;&nbsp;&nbsp;{NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set version.  <a href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77">EVAS_SMART_CLASS_INIT_NAME_VERSION</a>(name)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name and version.  <a href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a>(name, parent)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class.  <a href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a>(name, parent, callbacks)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callbacks definition.  <a href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga58dc94af6f064b39b2bf0155908fbe52">EVAS_SMART_SUBCLASS_NEW</a>(smart_name, prefix, api_type, parent_type, parent_func, cb_desc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to subclass a Smart Class.  <a href="group__Evas__Smart__Group.html#ga58dc94af6f064b39b2bf0155908fbe52"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga4aa4b72aafa0391144fb0171aeff2ccd">EVAS_SMART_DATA_ALLOC</a>(o, priv_type)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to allocate smart data only if needed.  <a href="group__Evas__Smart__Group.html#ga4aa4b72aafa0391144fb0171aeff2ccd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95">evas_smart_class_inherit</a>(sc, parent_sc)&nbsp;&nbsp;&nbsp;evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Easy to use version of <a class="el" href="group__Evas__Smart__Group.html#ga21f5af32f724500c3380906d166fc49f" title="Sets one class to inherit from the other.">evas_smart_class_inherit_full()</a>.  <a href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8">EVAS_OBJECT_BOX_API_INIT</a>(smart_class_init)&nbsp;&nbsp;&nbsp;{smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer for whole Evas_Object_Box_Api structure.  <a href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa">EVAS_OBJECT_BOX_API_INIT_NULL</a>&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure.  <a href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1">EVAS_OBJECT_BOX_API_INIT_VERSION</a>&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure and set version.  <a href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7">EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</a>(name)&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.  <a href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">_Evas_Callback_Type</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Identifier of callbacks to be used with object or canvas.  <a href="#a076b2a9b2de2b2144a4193b1d12ed448"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">_Evas_Button_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags for Mouse Button events.  <a href="#aae3a7dde94160cc18015784fb192bb2f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">_Evas_Event_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9fda4d6d744ae16549b3765df7363f95">Evas_Event_Flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags for Events.  <a href="#a9fda4d6d744ae16549b3765df7363f95"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags for Font Hinting.  <a href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Colorspaces for pixel data supported by Evas.  <a href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">_Evas_Object_Table_Homogeneous_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How to pack items into cells in a table.  <a href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a23d14410ef9cd719fd61602ce68c4d42"></a><!-- doxytag: member="Evas.h::Evas_Coord_Rectangle" ref="a23d14410ef9cd719fd61602ce68c4d42" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Coord__Rectangle.html">_Evas_Coord_Rectangle</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a23d14410ef9cd719fd61602ce68c4d42">Evas_Coord_Rectangle</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic rectangle handle. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adc20c4d74f28a08de32455f97946e6bd"></a><!-- doxytag: member="Evas.h::Evas_Point" ref="adc20c4d74f28a08de32455f97946e6bd" args="" -->
+typedef struct _Evas_Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#adc20c4d74f28a08de32455f97946e6bd">Evas_Point</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">integer point <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9d3aab92b5b0911efb7594b79e0d3f37"></a><!-- doxytag: member="Evas.h::Evas_Coord_Point" ref="a9d3aab92b5b0911efb7594b79e0d3f37" args="" -->
+typedef struct _Evas_Coord_Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9d3aab92b5b0911efb7594b79e0d3f37">Evas_Coord_Point</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evas_Coord point. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27d3d206dd0447c96df4385cee0c5df2"></a><!-- doxytag: member="Evas.h::Evas_Coord_Precision_Point" ref="a27d3d206dd0447c96df4385cee0c5df2" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Coord_Precision_Point&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a27d3d206dd0447c96df4385cee0c5df2">Evas_Coord_Precision_Point</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Evas_Coord point with sub-pixel precision. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1fedb06548c63e95cdef58ae2578e494"></a><!-- doxytag: member="Evas.h::Evas_Position" ref="a1fedb06548c63e95cdef58ae2578e494" args="" -->
+typedef struct _Evas_Position&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1fedb06548c63e95cdef58ae2578e494">Evas_Position</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">associates given point in Canvas and Output <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae62b68e728184674ee011ec19c48fa25"></a><!-- doxytag: member="Evas.h::Evas_Precision_Position" ref="ae62b68e728184674ee011ec19c48fa25" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Precision_Position&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae62b68e728184674ee011ec19c48fa25">Evas_Precision_Position</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">associates given point in Canvas and Output, with sub-pixel precision <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaea15f67e901bf5380cdb67dc1bb43391"></a><!-- doxytag: member="Evas.h::Evas_Smart_Class" ref="gaea15f67e901bf5380cdb67dc1bb43391" args="" -->
+typedef struct <a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaea15f67e901bf5380cdb67dc1bb43391">Evas_Smart_Class</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A smart object base class. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0ad0e7d482d7660e756e275d355e3634"></a><!-- doxytag: member="Evas.h::Evas_Smart_Cb_Description" ref="ga0ad0e7d482d7660e756e275d355e3634" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga0ad0e7d482d7660e756e275d355e3634">Evas_Smart_Cb_Description</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A smart object callback description, used to provide introspection. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct _Evas_Map&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque handle to map points.  <a href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct _Evas&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas canvas handle.  <a href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9e19e6dd1f517a0ba437c0114d3e7c97"></a><!-- doxytag: member="Evas.h::Evas_Object" ref="ga9e19e6dd1f517a0ba437c0114d3e7c97" args="" -->
+typedef struct _Evas_Object&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Object handle. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a89d88a04f7684454960d465a1b9657c2"></a><!-- doxytag: member="Evas.h::Evas_Performance" ref="a89d88a04f7684454960d465a1b9657c2" args="" -->
+typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a89d88a04f7684454960d465a1b9657c2">Evas_Performance</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Performance handle. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a198d0b10861c1da456004688d3443e96"></a><!-- doxytag: member="Evas.h::Evas_Modifier" ref="a198d0b10861c1da456004688d3443e96" args="" -->
+typedef struct _Evas_Modifier&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a198d0b10861c1da456004688d3443e96">Evas_Modifier</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Modifier. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a791323b644ee831ead4c5d25552a0fd8"></a><!-- doxytag: member="Evas.h::Evas_Lock" ref="a791323b644ee831ead4c5d25552a0fd8" args="" -->
+typedef struct _Evas_Lock&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a791323b644ee831ead4c5d25552a0fd8">Evas_Lock</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Lock. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7cdfd1afece1cad64c413eb9a778ddbb"></a><!-- doxytag: member="Evas.h::Evas_Smart" ref="a7cdfd1afece1cad64c413eb9a778ddbb" args="" -->
+typedef struct _Evas_Smart&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Smart Object handle. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae35ae0b7b909a9e956836b92d63b493d"></a><!-- doxytag: member="Evas.h::Evas_Native_Surface" ref="ae35ae0b7b909a9e956836b92d63b493d" args="" -->
+typedef struct _Evas_Native_Surface&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic datatype for engine specific native surface information. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a111c7333a7d49e44698bd19dd5bc9059"></a><!-- doxytag: member="Evas.h::Evas_Modifier_Mask" ref="a111c7333a7d49e44698bd19dd5bc9059" args="" -->
+typedef unsigned long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a111c7333a7d49e44698bd19dd5bc9059">Evas_Modifier_Mask</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas modifier mask type. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb01076af16fbb50a837b1893b776783"></a><!-- doxytag: member="Evas.h::Evas_Pixel_Import_Source" ref="abb01076af16fbb50a837b1893b776783" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Pixel_Import_Source&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#abb01076af16fbb50a837b1893b776783">Evas_Pixel_Import_Source</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A source description of pixels for importing pixels. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a86d67b69014ab10fffe20b883685fa46"></a><!-- doxytag: member="Evas.h::Evas_Engine_Info" ref="a86d67b69014ab10fffe20b883685fa46" args="" -->
+typedef struct <a class="el" href="struct__Evas__Engine__Info.html">_Evas_Engine_Info</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a86d67b69014ab10fffe20b883685fa46">Evas_Engine_Info</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A generic Evas Engine information structure. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a430c2d9c773093d159437e35003df281"></a><!-- doxytag: member="Evas.h::Evas_Device" ref="a430c2d9c773093d159437e35003df281" args="" -->
+typedef struct _Evas_Device&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a430c2d9c773093d159437e35003df281">Evas_Device</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A source device handle - where the event came from. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a907df7a46177e7bac9928ea39fbcca50"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_Down" ref="a907df7a46177e7bac9928ea39fbcca50" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Mouse__Down.html">_Evas_Event_Mouse_Down</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a907df7a46177e7bac9928ea39fbcca50">Evas_Event_Mouse_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a337e8227780d38bdeae5c0ccd00d04b3"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_Up" ref="a337e8227780d38bdeae5c0ccd00d04b3" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Mouse__Up.html">_Evas_Event_Mouse_Up</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a337e8227780d38bdeae5c0ccd00d04b3">Evas_Event_Mouse_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b42da2562eb8390dd513d7337b1e018"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_In" ref="a9b42da2562eb8390dd513d7337b1e018" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Mouse__In.html">_Evas_Event_Mouse_In</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9b42da2562eb8390dd513d7337b1e018">Evas_Event_Mouse_In</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7a168fcb1c4b6bc53ac4e69f5424f317"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_Out" ref="a7a168fcb1c4b6bc53ac4e69f5424f317" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Mouse__Out.html">_Evas_Event_Mouse_Out</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a7a168fcb1c4b6bc53ac4e69f5424f317">Evas_Event_Mouse_Out</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25" title="Mouse Out Event.">EVAS_CALLBACK_MOUSE_OUT</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a224de88869fe5315ca144ef8a2946827"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_Move" ref="a224de88869fe5315ca144ef8a2946827" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Mouse__Move.html">_Evas_Event_Mouse_Move</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a224de88869fe5315ca144ef8a2946827">Evas_Event_Mouse_Move</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a" title="Mouse Move Event.">EVAS_CALLBACK_MOUSE_MOVE</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54d0e99e450e158924b06746544bb4dc"></a><!-- doxytag: member="Evas.h::Evas_Event_Mouse_Wheel" ref="a54d0e99e450e158924b06746544bb4dc" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Mouse__Wheel.html">_Evas_Event_Mouse_Wheel</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a54d0e99e450e158924b06746544bb4dc">Evas_Event_Mouse_Wheel</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4" title="Mouse Wheel Event.">EVAS_CALLBACK_MOUSE_WHEEL</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0436550ffcc1e2eab730ef3c493b8c40"></a><!-- doxytag: member="Evas.h::Evas_Event_Multi_Down" ref="a0436550ffcc1e2eab730ef3c493b8c40" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Multi__Down.html">_Evas_Event_Multi_Down</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a0436550ffcc1e2eab730ef3c493b8c40">Evas_Event_Multi_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80" title="Multi-touch Down Event.">EVAS_CALLBACK_MULTI_DOWN</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0f4d63b8673ee370e41e2c0bdc374212"></a><!-- doxytag: member="Evas.h::Evas_Event_Multi_Up" ref="a0f4d63b8673ee370e41e2c0bdc374212" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Multi__Up.html">_Evas_Event_Multi_Up</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a0f4d63b8673ee370e41e2c0bdc374212">Evas_Event_Multi_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94" title="Multi-touch Up Event.">EVAS_CALLBACK_MULTI_UP</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8658f1e1a6801e219547b05e8728ebd2"></a><!-- doxytag: member="Evas.h::Evas_Event_Multi_Move" ref="a8658f1e1a6801e219547b05e8728ebd2" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Event__Multi__Move.html">_Evas_Event_Multi_Move</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a8658f1e1a6801e219547b05e8728ebd2">Evas_Event_Multi_Move</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f" title="Multi-touch Move Event.">EVAS_CALLBACK_MULTI_MOVE</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9a1bfd297b751119977f3c14c0004612"></a><!-- doxytag: member="Evas.h::Evas_Event_Key_Down" ref="a9a1bfd297b751119977f3c14c0004612" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Key__Down.html">_Evas_Event_Key_Down</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9a1bfd297b751119977f3c14c0004612">Evas_Event_Key_Down</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584" title="Key Press Event.">EVAS_CALLBACK_KEY_DOWN</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92e77497752a3b100b3bfc4ee92daf09"></a><!-- doxytag: member="Evas.h::Evas_Event_Key_Up" ref="a92e77497752a3b100b3bfc4ee92daf09" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Key__Up.html">_Evas_Event_Key_Up</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a92e77497752a3b100b3bfc4ee92daf09">Evas_Event_Key_Up</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f" title="Key Release Event.">EVAS_CALLBACK_KEY_UP</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fb6e5748f93fc24d62276e5421f9767"></a><!-- doxytag: member="Evas.h::Evas_Event_Hold" ref="a6fb6e5748f93fc24d62276e5421f9767" args="" -->
+typedef struct <a class="el" href="struct__Evas__Event__Hold.html">_Evas_Event_Hold</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a6fb6e5748f93fc24d62276e5421f9767">Evas_Event_Hold</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Event structure for <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85" title="Events go on/off hold.">EVAS_CALLBACK_HOLD</a> event callbacks. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aff351ae694a58aecd7834ef12bdf3d64"></a><!-- doxytag: member="Evas.h::Evas_Load_Error" ref="aff351ae694a58aecd7834ef12bdf3d64" args="" -->
+typedef enum <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5f">_Evas_Load_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Load error you can get from loading of files - see <a class="el" href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a" title="Converts the given error code into a string describing it in english.">evas_load_error_str()</a> too. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae0181b78df8e248703a72a978d271208"></a><!-- doxytag: member="Evas.h::Evas_Alloc_Error" ref="ae0181b78df8e248703a72a978d271208" args="" -->
+typedef enum <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cb">_Evas_Alloc_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae0181b78df8e248703a72a978d271208">Evas_Alloc_Error</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Possible allocation errors returned by <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a693bc9123af8452d9771c2a849b8805c"></a><!-- doxytag: member="Evas.h::Evas_Fill_Spread" ref="a693bc9123af8452d9771c2a849b8805c" args="" -->
+typedef enum <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738">_Evas_Fill_Spread</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Fill types used for <a class="el" href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881" title="Sets the tiling mode for the given evas image object&#39;s fill.">evas_object_image_fill_spread_set()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">_Evas_Pixel_Import_Pixel_Format</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae609d856d391e1d65968a137313e0eb7">Evas_Pixel_Import_Pixel_Format</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pixel format for import call.  <a href="#ae609d856d391e1d65968a137313e0eb7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How mouse pointer should be handled by Evas.  <a href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adcd2409468741c89d607f06e17da1f64"></a><!-- doxytag: member="Evas.h::Evas_Object_Textblock_Node_Format" ref="adcd2409468741c89d607f06e17da1f64" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Object_Textblock_Node_Format&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A format node. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65c1b2ed3578175e476998f7b55dfe34"></a><!-- doxytag: member="Evas.h::Evas_Object_Smart_Clipped_Data" ref="a65c1b2ed3578175e476998f7b55dfe34" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Object_Smart_Clipped_Data&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a65c1b2ed3578175e476998f7b55dfe34">Evas_Object_Smart_Clipped_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Every subclass should provide this at the beginning of their own data set with <a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e" title="Store a pointer to user data for a smart object.">evas_object_smart_data_set()</a>. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2a8fbeeab4f5ae23e7bc1b291e27c5e1"></a><!-- doxytag: member="Evas.h::Evas_Object_Box_Api" ref="ga2a8fbeeab4f5ae23e7bc1b291e27c5e1" args="" -->
+typedef struct <a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga2a8fbeeab4f5ae23e7bc1b291e27c5e1">Evas_Object_Box_Api</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart Class extension providing extra box requirements. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac9047b7cff95df59f61c7321967caf7b"></a><!-- doxytag: member="Evas.h::Evas_Object_Box_Data" ref="gac9047b7cff95df59f61c7321967caf7b" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gac9047b7cff95df59f61c7321967caf7b">Evas_Object_Box_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart instance data providing box requirements. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabbeb05bf47aaf7681e9d83a1b0055d20"></a><!-- doxytag: member="Evas.h::Evas_Object_Box_Option" ref="gabbeb05bf47aaf7681e9d83a1b0055d20" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Object_Box_Option&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base structure for a box option. <br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">_Evas_Callback_Type</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">EVAS_CALLBACK_MOUSE_IN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">EVAS_CALLBACK_MOUSE_OUT</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f">EVAS_CALLBACK_MOUSE_DOWN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7">EVAS_CALLBACK_MOUSE_UP</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a">EVAS_CALLBACK_MOUSE_MOVE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4">EVAS_CALLBACK_MOUSE_WHEEL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80">EVAS_CALLBACK_MULTI_DOWN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94">EVAS_CALLBACK_MULTI_UP</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f">EVAS_CALLBACK_MULTI_MOVE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24">EVAS_CALLBACK_FREE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584">EVAS_CALLBACK_KEY_DOWN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f">EVAS_CALLBACK_KEY_UP</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97">EVAS_CALLBACK_FOCUS_IN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3">EVAS_CALLBACK_FOCUS_OUT</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540">EVAS_CALLBACK_SHOW</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7">EVAS_CALLBACK_HIDE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0">EVAS_CALLBACK_MOVE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21">EVAS_CALLBACK_RESIZE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145">EVAS_CALLBACK_RESTACK</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277">EVAS_CALLBACK_DEL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85">EVAS_CALLBACK_HOLD</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae">EVAS_CALLBACK_CHANGED_SIZE_HINTS</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e">EVAS_CALLBACK_IMAGE_PRELOADED</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3">EVAS_CALLBACK_RENDER_FLUSH_PRE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1">EVAS_CALLBACK_RENDER_FLUSH_POST</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5">EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070">EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8">EVAS_CALLBACK_IMAGE_UNLOADED</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529">EVAS_CALLBACK_LAST</a>
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Identifier of callbacks to be used with object or canvas. </p>
+ <a href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">_Evas_Button_Flags</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd">EVAS_BUTTON_NONE</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d">EVAS_BUTTON_DOUBLE_CLICK</a> =  (1 &lt;&lt; 0), 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87">EVAS_BUTTON_TRIPLE_CLICK</a> =  (1 &lt;&lt; 1)
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Flags for Mouse Button events. </p>
+ <a href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">_Evas_Event_Flags</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf">EVAS_EVENT_FLAG_NONE</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83">EVAS_EVENT_FLAG_ON_HOLD</a> =  (1 &lt;&lt; 0), 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311">EVAS_EVENT_FLAG_ON_SCROLL</a> =  (1 &lt;&lt; 1)
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Flags for Events. </p>
+ <a href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338">EVAS_FONT_HINTING_NONE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440">EVAS_FONT_HINTING_AUTO</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e">EVAS_FONT_HINTING_BYTECODE</a>
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Flags for Font Hinting. </p>
+ <a href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254">EVAS_COLORSPACE_ARGB8888</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636">EVAS_COLORSPACE_YCBCR422P601_PL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22">EVAS_COLORSPACE_YCBCR422P709_PL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729">EVAS_COLORSPACE_RGB565_A5P</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0">EVAS_COLORSPACE_GRY8</a>
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Colorspaces for pixel data supported by Evas. </p>
+ <a href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">_Evas_Object_Table_Homogeneous_Mode</a> </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How to pack items into cells in a table. </p>
+<br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5f">_Evas_Load_Error</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac">EVAS_LOAD_ERROR_NONE</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d">EVAS_LOAD_ERROR_GENERIC</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529">EVAS_LOAD_ERROR_DOES_NOT_EXIST</a> =  2, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200">EVAS_LOAD_ERROR_PERMISSION_DENIED</a> =  3, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4">EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED</a> =  4, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75">EVAS_LOAD_ERROR_CORRUPT_FILE</a> =  5, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80">EVAS_LOAD_ERROR_UNKNOWN_FORMAT</a> =  6
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cb">_Evas_Alloc_Error</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8">EVAS_ALLOC_ERROR_NONE</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e">EVAS_ALLOC_ERROR_FATAL</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e">EVAS_ALLOC_ERROR_RECOVERED</a> =  2
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738">_Evas_Fill_Spread</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760">EVAS_TEXTURE_REFLECT</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2">EVAS_TEXTURE_REPEAT</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136">EVAS_TEXTURE_RESTRICT</a> =  2, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85">EVAS_TEXTURE_RESTRICT_REFLECT</a> =  3, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43">EVAS_TEXTURE_RESTRICT_REPEAT</a> =  4, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7">EVAS_TEXTURE_PAD</a> =  5
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">_Evas_Pixel_Import_Pixel_Format</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2">EVAS_PIXEL_FORMAT_NONE</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a">EVAS_PIXEL_FORMAT_ARGB32</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8">EVAS_PIXEL_FORMAT_YUV420P_601</a> =  2
+<br/>
+ }</td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e">EVAS_RENDER_BLEND</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7">EVAS_RENDER_BLEND_REL</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd">EVAS_RENDER_COPY</a> =  2, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea">EVAS_RENDER_COPY_REL</a> =  3, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926">EVAS_RENDER_ADD</a> =  4, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc">EVAS_RENDER_ADD_REL</a> =  5, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27">EVAS_RENDER_SUB</a> =  6, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c">EVAS_RENDER_SUB_REL</a> =  7, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9">EVAS_RENDER_TINT</a> =  8, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6">EVAS_RENDER_TINT_REL</a> =  9, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f">EVAS_RENDER_MASK</a> =  10, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294">EVAS_RENDER_MUL</a> =  11
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How the object should be rendered to output. </p>
+ <a href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a> { <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28">EVAS_OBJECT_POINTER_MODE_AUTOGRAB</a>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How mouse pointer should be handled by Evas. </p>
+ <a href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c">evas_init</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize Evas.  <a href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed">evas_shutdown</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shutdown Evas.  <a href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#ae0181b78df8e248703a72a978d271208">Evas_Alloc_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9">evas_alloc_error</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return if any allocation errors have occurred during the prior function.  <a href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd">evas_async_events_fd_get</a> (void) EINA_WARN_UNUSED_RESULT EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get evas' internal asynchronous events read file descriptor.  <a href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47">evas_async_events_process</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trigger the processing of all events waiting on the file descriptor returned by <a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd" title="Get evas&#39; internal asynchronous events read file descriptor.">evas_async_events_fd_get()</a>.  <a href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87">evas_new</a> (void) EINA_WARN_UNUSED_RESULT EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new empty evas.  <a href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">evas_free</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given evas and any objects created on it.  <a href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb">evas_focus_in</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform to the evas that it got the focus.  <a href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff">evas_focus_out</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform to the evas that it lost the focus.  <a href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8">evas_focus_state_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the focus state known by the given evas.  <a href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe">evas_nochange_push</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push the nochange flag up 1.  <a href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac">evas_nochange_pop</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop the nochange flag down 1.  <a href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8">evas_data_attach_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attaches a specific pointer to the evas for fetching later.  <a href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc">evas_data_attach_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the pointer attached by <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8" title="Attaches a specific pointer to the evas for fetching later.">evas_data_attach_set()</a>.  <a href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">evas_damage_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a damage rectangle.  <a href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4">evas_obscured_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an obscured region.  <a href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876">evas_obscured_clear</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all obscured region rectangles from the canvas.  <a href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca">evas_render_updates</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force immediate renderization of the given canvas.  <a href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b">evas_render_updates_free</a> (Eina_List *updates)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the rectangles returned by <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca" title="Force immediate renderization of the given canvas.">evas_render_updates()</a>.  <a href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">evas_render</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force renderization of the given canvas.  <a href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1">evas_norender</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the canvas internal objects but not triggering immediate renderization.  <a href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">evas_render_idle_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the canvas discard internally cached data used for rendering.  <a href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b">evas_render_method_lookup</a> (const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Look up a numeric ID from a string name of a rendering engine.  <a href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285">evas_render_method_list</a> (void) EINA_WARN_UNUSED_RESULT</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List all the rendering engines compiled into the copy of the Evas library.  <a href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693">evas_render_method_list_free</a> (Eina_List *list)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function should be called to free a list of engine names.  <a href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">evas_output_method_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int render_method) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output engine for the given evas.  <a href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gac4127a10231f1851cc3443a84fb0b059">evas_output_method_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the number of the output engine used for the given evas.  <a href="group__Evas__Output__Method.html#gac4127a10231f1851cc3443a84fb0b059"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713">evas_engine_info_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current render engine info struct from the given evas.  <a href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">evas_engine_info_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a> *info) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Applies the engine settings for the given evas from the given <code>Evas_Engine_Info</code> structure.  <a href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">evas_output_size_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output size of the render engine of the given evas.  <a href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a">evas_output_size_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int *w, int *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the output size of the render engine of the given evas.  <a href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">evas_output_viewport_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output viewport of the given evas in evas units.  <a href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee">evas_output_viewport_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the render engine's output viewport co-ordinates in canvas units.  <a href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051">evas_coord_screen_x_to_world</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale an ouput screen co-ordinate into canvas co-ordinates.  <a href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2">evas_coord_screen_y_to_world</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale an ouput screen co-ordinate into canvas co-ordinates.  <a href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9">evas_coord_world_x_to_screen</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale a canvas co-ordinate into output screen co-ordinates.  <a href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8">evas_coord_world_y_to_screen</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale a canvas co-ordinate into output screen co-ordinates.  <a href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98">evas_pointer_output_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int *x, int *y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function returns the current known pointer co-ordinates.  <a href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#ga2f7bf87c9b1268e68c85d4bb8b9e4b15">evas_pointer_canvas_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord *x, Evas_Coord *y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function returns the current known pointer co-ordinates.  <a href="group__Evas__Pointer__Group.html#ga2f7bf87c9b1268e68c85d4bb8b9e4b15"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580">evas_pointer_button_down_mask_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a bitmask with the mouse buttons currently pressed, set to 1.  <a href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a">evas_pointer_inside_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether the mouse pointer is logically inside the canvas.  <a href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e">evas_event_freeze</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Freeze all event processing.  <a href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1">evas_event_thaw</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thaw a canvas out after freezing.  <a href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64">evas_event_freeze_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the freeze count of a given canvas.  <a href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2">evas_event_feed_mouse_down</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int b, <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a> flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse down event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int b, <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a> flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse up event feed.  <a href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse move event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">evas_event_feed_mouse_in</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse in event feed.  <a href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13">evas_event_feed_mouse_out</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse out event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385">evas_event_feed_mouse_cancel</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse cancel event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga393156722bbe1ce384f0ab33ab76a1f2">evas_event_feed_mouse_wheel</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int direction, int z, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse wheel event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga393156722bbe1ce384f0ab33ab76a1f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga096e2ef05bfa471d2773729bd24732a0">evas_event_feed_key_down</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key down event feed.  <a href="group__Evas__Event__Feeding__Group.html#ga096e2ef05bfa471d2773729bd24732a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gaebe7d4f8b6423aff1ffe67c724d4590d">evas_event_feed_key_up</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key up event feed.  <a href="group__Evas__Event__Feeding__Group.html#gaebe7d4f8b6423aff1ffe67c724d4590d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gaedc3a956cd753acdd2a58ad0d2865d04">evas_event_feed_hold</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int hold, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hold event feed.  <a href="group__Evas__Event__Feeding__Group.html#gaedc3a956cd753acdd2a58ad0d2865d04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void *EAPI void <br class="typebreak"/>
+*EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a">evas_post_event_callback_push</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push a callback on the post-event callback stack.  <a href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516">evas_post_event_callback_remove</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a callback from the post-event callback stack.  <a href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9">evas_post_event_callback_remove_full</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a callback from the post-event callback stack.  <a href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214">evas_image_cache_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush the image cache of the canvas.  <a href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981">evas_image_cache_reload</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reload the image cache.  <a href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gab28271aad78206e5ee9bed62e0decfa7">evas_image_cache_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int size) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the image cache.  <a href="group__Evas__Image__Group.html#gab28271aad78206e5ee9bed62e0decfa7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gad7ee7f4627d198c0de0ff197fe2f9ed0">evas_image_cache_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the image cache.  <a href="group__Evas__Image__Group.html#gad7ee7f4627d198c0de0ff197fe2f9ed0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaf39062952fc420ff32fbacfb8c27bd7d">evas_font_hinting_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a> hinting) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the font hinting for the given evas.  <a href="group__Evas__Font__Group.html#gaf39062952fc420ff32fbacfb8c27bd7d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gafe785a87743b72d8064f0562fd79cc75">evas_font_hinting_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the font hinting used by the given evas.  <a href="group__Evas__Font__Group.html#gafe785a87743b72d8064f0562fd79cc75"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaa4210fa6661330e67ec4c9cbde775b4b">evas_font_hinting_can_hint</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a> hinting) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the font hinting is supported by the given evas.  <a href="group__Evas__Font__Group.html#gaa4210fa6661330e67ec4c9cbde775b4b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gad75ac8ed0c921e774f1c519a66f05a2f">evas_font_cache_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force the given evas and associated engine to flush its font cache.  <a href="group__Evas__Font__Group.html#gad75ac8ed0c921e774f1c519a66f05a2f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga5582cfcdb08f6253225bb8cede49033a">evas_font_cache_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int size) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of font cache of the given evas.  <a href="group__Evas__Font__Group.html#ga5582cfcdb08f6253225bb8cede49033a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga9cf39aae3074cac05c4aafa3ff24c32f">evas_font_cache_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of font cache of the given evas.  <a href="group__Evas__Font__Group.html#ga9cf39aae3074cac05c4aafa3ff24c32f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga9d51a2efecf89a81a2990db252f3dc6c">evas_font_available_list</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of available font descriptions known or found by this evas.  <a href="group__Evas__Font__Group.html#ga9d51a2efecf89a81a2990db252f3dc6c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467">evas_font_available_list_free</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Eina_List *available) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free list of font descriptions returned by evas_font_dir_available_list().  <a href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">evas_font_path_clear</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all font paths loaded into memory for the given evas.  <a href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void EAPI const <br class="typebreak"/>
+Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#ga06fc80b3e4c27237a571404fc6aa3aeb">evas_font_path_list</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the list of font paths used by the given evas.  <a href="group__Evas__Font__Path__Group.html#ga06fc80b3e4c27237a571404fc6aa3aeb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a">evas_object_clip_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the object clipping this one (if any).  <a href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable clipping for an object.  <a href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887">evas_object_clipees_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a list of objects currently clipped by a specific object.  <a href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">evas_object_focus_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool focus) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets focus to the given object.  <a href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654">evas_object_focus_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the object has focus.  <a href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">evas_object_layer_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, short l) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the layer of the evas that the given object will be part of.  <a href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga13cb52d23911b6c701dbb5f1ee3f65f4">evas_object_layer_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the layer of the evas that the given object is part of.  <a href="group__Evas__Object__Group__Basic.html#ga13cb52d23911b6c701dbb5f1ee3f65f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8">evas_object_name_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *name) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the name of the given evas object to the given name.  <a href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gac34b593d79bfd9284787ddbb43486edd">evas_object_name_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the name of the given evas object.  <a href="group__Evas__Object__Group__Basic.html#gac34b593d79bfd9284787ddbb43486edd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723">evas_object_ref</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increments object reference count to defer deletion.  <a href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089">evas_object_unref</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrements object reference count to defer deletion.  <a href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given evas object and frees its memory.  <a href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves the given evas object to the given location.  <a href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of the given evas object.  <a href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the position and rectangular size of the given evas object.  <a href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f">evas_object_show</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the given evas object visible.  <a href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">evas_object_hide</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the given evas object invisible.  <a href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga9cf743b5d87b622c84ba591494445b49">evas_object_visible_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether or not the given evas object is visible.  <a href="group__Evas__Object__Group__Basic.html#ga9cf743b5d87b622c84ba591494445b49"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f">evas_object_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the general colour of the given evas object to the given colour.  <a href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga3856f8b88d158ffa9783b44340ef343d">evas_object_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the general colour of the given evas object.  <a href="group__Evas__Object__Group__Basic.html#ga3856f8b88d158ffa9783b44340ef343d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">evas_object_evas_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the evas that the given evas object is on.  <a href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff">evas_object_type_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the name of the type of the given evas object.  <a href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">evas_object_raise</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raise <code>obj</code> to the top of its layer.  <a href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">evas_object_lower</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lower <code>obj</code> to the bottom of its layer.  <a href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void EAPI <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gab78867a46ecc2e35ac90bf40bae1689f">evas_object_above_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the evas object above <code>obj</code>.  <a href="group__Evas__Object__Group__Basic.html#gab78867a46ecc2e35ac90bf40bae1689f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaff15b0dacac065bc84e6124c0c4920c5">evas_object_below_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the evas object below <code>obj</code>.  <a href="group__Evas__Object__Group__Basic.html#gaff15b0dacac065bc84e6124c0c4920c5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void *EAPI void <br class="typebreak"/>
+*EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">evas_object_pass_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool pass) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an object's pass events state.  <a href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0">evas_object_pass_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to pass events.  <a href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">evas_object_repeat_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool repeat) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an object's repeat events state.  <a href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582">evas_object_repeat_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to repeat events.  <a href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d">evas_object_propagate_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool prop) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether events on a smart member object should propagate to its parent.  <a href="group__Evas__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f">evas_object_propagate_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to propagate events.  <a href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#acee7a5f7bbb804b406405e9199d5a900">evas_object_map_enable_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool enabled)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable or disable the map that is set.  <a href="#acee7a5f7bbb804b406405e9199d5a900"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a9fe49ea6c0508408d3f0c4bc6b790084">evas_object_map_enable_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the map enabled state.  <a href="#a9fe49ea6c0508408d3f0c4bc6b790084"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aa0daae782c23c5624ab0fc3e4f63c8f9">evas_object_map_source_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *src)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the map source object.  <a href="#aa0daae782c23c5624ab0fc3e4f63c8f9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#abb0578635393c514b1c228ebb7b2eed0">evas_object_map_source_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the map source object.  <a href="#abb0578635393c514b1c228ebb7b2eed0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca">evas_object_map_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *map)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set current object transformation map.  <a href="#a4c06097f01adc414be05470a3528adca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aa1d3f8febc923e8225f727afc08d21f2">evas_object_map_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get current object transformation map.  <a href="#aa1d3f8febc923e8225f727afc08d21f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6">evas_map_util_points_populate_from_object_full</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord z)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Populate source and destination map points to match exactly object.  <a href="#af71ab80fefb757aea040eaae33fd06e6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487">evas_map_util_points_populate_from_object</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Populate source and destination map points to match exactly object.  <a href="#ac2d35f2242ce06afe5b9aff79ed33487"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#adb28b64c445931d92eeeab2c3fb52286">evas_map_util_points_populate_from_geometry</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Populate source and destination map points to match given geometry.  <a href="#adb28b64c445931d92eeeab2c3fb52286"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1ea4919339773a113dece07f1335d6ac">evas_map_util_points_color_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set color of all points to given color.  <a href="#a1ea4919339773a113dece07f1335d6ac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080">evas_map_util_rotate</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, double degrees, Evas_Coord cx, Evas_Coord cy)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the map to apply the given rotation.  <a href="#ad5bceb379d28374c62579b1969ce5080"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a986dd1010c757910b4520527f229d3b5">evas_map_util_zoom</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the map to apply the given zooming.  <a href="#a986dd1010c757910b4520527f229d3b5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a4118dedc011bd94a35d03251c7bef5ed">evas_map_util_3d_rotate</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Rotate the map around 3 axes in 3D.  <a href="#a4118dedc011bd94a35d03251c7bef5ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a4dd3a3cf9091afaa87bc042b12a5685d">evas_map_util_3d_lighting</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Perform lighting calculations on the given Map.  <a href="#a4dd3a3cf9091afaa87bc042b12a5685d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a14c467420d169d666865cdb31746728d">evas_map_util_3d_perspective</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Apply a perspective transform to the map.  <a href="#a14c467420d169d666865cdb31746728d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a4e7cd972cac5507838c9827ef04b2607">evas_map_util_clockwise_get</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the clockwise state of a map.  <a href="#a4e7cd972cac5507838c9827ef04b2607"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a719acc4f4792236f7031664ec450b399">evas_map_new</a> (int count)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create map of transformation points to be later used with an evas object.  <a href="#a719acc4f4792236f7031664ec450b399"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae851a2ebf0c272cf0bcb97168b625d23">evas_map_smooth_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, Eina_Bool enabled)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the smoothing for map rendering.  <a href="#ae851a2ebf0c272cf0bcb97168b625d23"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ac7693cff90eddde9f1cd5fd99d6df695">evas_map_smooth_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the smoothing for map rendering  <a href="#ac7693cff90eddde9f1cd5fd99d6df695"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae1cbf087e2182e01d07979975baa9065">evas_map_alpha_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, Eina_Bool enabled)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alpha flag for map rendering.  <a href="#ae1cbf087e2182e01d07979975baa9065"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae7de42394f26fa1e5bfc315f7d114ac3">evas_map_alpha_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get the alpha flag for map rendering  <a href="#ae7de42394f26fa1e5bfc315f7d114ac3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a25ffe0dd36fed0c9c492d636b163390a">evas_map_dup</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy a previously allocated map.  <a href="#a25ffe0dd36fed0c9c492d636b163390a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a78ecdf799f326e1c17aae6770c06058a">evas_map_free</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free a previously allocated map.  <a href="#a78ecdf799f326e1c17aae6770c06058a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#acb6da0be6c78ebf89a5b25d9a0fa44fa">evas_map_count_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m) EINA_CONST</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a maps size.  <a href="#acb6da0be6c78ebf89a5b25d9a0fa44fa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7">evas_map_point_coord_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the map point's coordinate.  <a href="#acc9bdfa50e0344928f070aef0cf7a8b7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ab8640a9b915b7c6f33f96782bb23e939">evas_map_point_coord_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the map point's coordinate.  <a href="#ab8640a9b915b7c6f33f96782bb23e939"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a">evas_map_point_image_uv_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, double u, double v)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the map point's U and V texture source point.  <a href="#a1ce926660d27e788b469f8a202dfb84a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ab993d154039532e6105d2c1ea23133fc">evas_map_point_image_uv_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, double *u, double *v)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the map point's U and V texture source points.  <a href="#ab993d154039532e6105d2c1ea23133fc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#ae569741d778974e2825dc05cc3e68f9f">evas_map_point_color_set</a> (<a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the color of a vertex in the map.  <a href="#ae569741d778974e2825dc05cc3e68f9f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a40ae28dc015c5dad8a09ce5c6d764422">evas_map_point_color_get</a> (const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *m, int idx, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the color set on a vertex in the map.  <a href="#a40ae28dc015c5dad8a09ce5c6d764422"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size hint for the minimum size.  <a href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size hint for the minimum size.  <a href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size hint for the maximum size.  <a href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga2a224fd6c4fc231af281af59c5a604b2">evas_object_size_hint_max_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size hint for the maximum size.  <a href="group__Evas__Object__Group__Size__Hints.html#ga2a224fd6c4fc231af281af59c5a604b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga6a7de6942258ab03a6e85b37f569895d">evas_object_size_hint_request_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size request hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga6a7de6942258ab03a6e85b37f569895d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gace0177af29ccbf1a60415f2c4c85c1f4">evas_object_size_hint_request_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the requested size hint.  <a href="group__Evas__Object__Group__Size__Hints.html#gace0177af29ccbf1a60415f2c4c85c1f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga7b31c73dcbf60cdafe6ad7ffae42a54c">evas_object_size_hint_aspect_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size aspect control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga7b31c73dcbf60cdafe6ad7ffae42a54c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gadb36ccc851e48ae2a11a6e2cb7fcb273">evas_object_size_hint_aspect_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size aspect control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#gadb36ccc851e48ae2a11a6e2cb7fcb273"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double *x, double *y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size align control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f">evas_object_size_hint_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double x, double y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size align control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">evas_object_size_hint_weight_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double *x, double *y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size weight control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98">evas_object_size_hint_weight_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double x, double y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size weight control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size padding control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga0014a3016d34071d41d76785a963fcb1">evas_object_size_hint_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size padding control hint.  <a href="group__Evas__Object__Group__Size__Hints.html#ga0014a3016d34071d41d76785a963fcb1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga5504e39f8d0cc41af3663fed15ec06e5">evas_object_pointer_mode_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a> setting) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set pointer behavior.  <a href="group__Evas__Object__Group__Extras.html#ga5504e39f8d0cc41af3663fed15ec06e5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga80faa9ce3b9ab59fe7b4bf6924b293ac">evas_object_pointer_mode_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine how pointer will behave.  <a href="group__Evas__Object__Group__Extras.html#ga80faa9ce3b9ab59fe7b4bf6924b293ac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaf0c7d4c49695749fa616d0abdbd5ddeb">evas_object_anti_alias_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool antialias) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets whether or not the given evas object is to be drawn anti-aliased.  <a href="group__Evas__Object__Group__Extras.html#gaf0c7d4c49695749fa616d0abdbd5ddeb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga3308cb65716beb4ce826b9701e23159a">evas_object_anti_alias_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether or not the given evas object is to be drawn anti_aliased.  <a href="group__Evas__Object__Group__Extras.html#ga3308cb65716beb4ce826b9701e23159a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaf010777fa1b58bd1c9c8093d2edc62e9">evas_object_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double scale) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the scaling factor for an evas object.  <a href="group__Evas__Object__Group__Extras.html#gaf010777fa1b58bd1c9c8093d2edc62e9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga1c0aca3af434f0bc0fa8732248b197ba">evas_object_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the scaling factor for the given evas object.  <a href="group__Evas__Object__Group__Extras.html#ga1c0aca3af434f0bc0fa8732248b197ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga86ef8d1f039bff1a60595688f93a7990">evas_object_render_op_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a> op) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the render_op to be used for rendering the evas object.  <a href="group__Evas__Object__Group__Extras.html#ga86ef8d1f039bff1a60595688f93a7990"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaa157afa6f23cdf4b344d95531bb7d508">evas_object_render_op_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current value of the operation used for rendering the evas object.  <a href="group__Evas__Object__Group__Extras.html#gaa157afa6f23cdf4b344d95531bb7d508"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gac9ce9802afd7d4cba580fbcbe92c28b2">evas_object_precise_is_inside_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool precise) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether to use a precise (usually expensive) point collision detection.  <a href="group__Evas__Object__Group__Extras.html#gac9ce9802afd7d4cba580fbcbe92c28b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga8483a3c855f466a5dca480fcfd07b52b">evas_object_precise_is_inside_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to use a precise point collision detection.  <a href="group__Evas__Object__Group__Extras.html#ga8483a3c855f466a5dca480fcfd07b52b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8">evas_object_static_clip_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool is_static_clip) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a hint flag on the object that this is used as a static "clipper".  <a href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gafda644be2d6e6360959853c9d6195ec8">evas_object_static_clip_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get static "clipper" hint flag.  <a href="group__Evas__Object__Group__Extras.html#gafda644be2d6e6360959853c9d6195ec8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5">evas_focus_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the object that currently has focus.  <a href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gad3214c89581f068934c57ac71dc6a52f">evas_object_name_find</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the object on the given evas with the given name.  <a href="group__Evas__Object__Group__Find.html#gad3214c89581f068934c57ac71dc6a52f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54">evas_object_top_at_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object at the given position (x,y).  <a href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448">evas_object_top_at_pointer_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object at mouse pointer position.  <a href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gaf072ec206768d96c6f73a590e6af39c9">evas_object_top_in_rectangle_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object in the given rectangle region.  <a href="group__Evas__Object__Group__Find.html#gaf072ec206768d96c6f73a590e6af39c9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga473d00deb431d0869484474153e47c04">evas_objects_at_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the objects at the given position.  <a href="group__Evas__Object__Group__Find.html#ga473d00deb431d0869484474153e47c04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gae5d4af2f915c2efe4e5cfc22644b8c53">evas_objects_in_rectangle_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Group__Find.html#gae5d4af2f915c2efe4e5cfc22644b8c53"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga3e06dcd04da8cd9d64e106f7ede8db9e">evas_object_bottom_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the lowest evas object on the Evas <code>e</code>.  <a href="group__Evas__Object__Group__Find.html#ga3e06dcd04da8cd9d64e106f7ede8db9e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga2acf1e026d576ba355ca1b1ea24e0736">evas_object_top_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the highest evas object on the Evas <code>e</code>.  <a href="group__Evas__Object__Group__Find.html#ga2acf1e026d576ba355ca1b1ea24e0736"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa">evas_object_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a rectangle to the given evas.  <a href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce">evas_object_image_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new image object on the given evas.  <a href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">evas_object_image_filled_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new image object that automatically scales on the given evas.  <a href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">evas_object_image_file_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *file, const char *key) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the filename and key of the given image object.  <a href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d">evas_object_image_border_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int l, int r, int t, int b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets how much of each border of the given image object is not to be scaled.  <a href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab666a37cbae8ee846cdeb518e7fd495c">evas_object_image_border_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves how much of each border of the given image object is not to be scaled.  <a href="group__Evas__Object__Image.html#gab666a37cbae8ee846cdeb518e7fd495c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga4caf736585ad602e6748e434ac1f5fc6">evas_object_image_border_center_fill_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Border_Fill_Mode fill) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets if the center part of the given image object (not the border) should be drawn.  <a href="group__Evas__Object__Image.html#ga4caf736585ad602e6748e434ac1f5fc6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Border_Fill_Mode&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga04f8a4f69c5ad37d9229e4c39bb7c010">evas_object_image_border_center_fill_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the center of the given image object is to be drawn or not.  <a href="group__Evas__Object__Image.html#ga04f8a4f69c5ad37d9229e4c39bb7c010"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool setting) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets if image fill property should track object size.  <a href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga3fbe9f33ccc93a5c45ffa3b26019694e">evas_object_image_filled_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if image fill property is tracking object size.  <a href="group__Evas__Object__Image.html#ga3fbe9f33ccc93a5c45ffa3b26019694e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0">evas_object_image_border_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double scale)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a scale factor (multiplier) for the borders of an image.  <a href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga7cc1bf948a8a5d61c703211f0bd5d2dc">evas_object_image_border_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the border scale factor.  <a href="group__Evas__Object__Image.html#ga7cc1bf948a8a5d61c703211f0bd5d2dc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">evas_object_image_fill_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the rectangle of the given image object that the image will be drawn to.  <a href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf1a7d6b8cf914234abdd5d3d3312f85e">evas_object_image_fill_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the dimensions of the rectangle of the given image object that the image will be drawn to.  <a href="group__Evas__Object__Image.html#gaf1a7d6b8cf914234abdd5d3d3312f85e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881">evas_object_image_fill_spread_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a> spread) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the tiling mode for the given evas image object's fill.  <a href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae86928005f983627c74dbaef6c0fbb0e">evas_object_image_fill_spread_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the spread (tiling mode) for the given image object's fill.  <a href="group__Evas__Object__Image.html#gae86928005f983627c74dbaef6c0fbb0e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22">evas_object_image_size_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of the given image object.  <a href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga43e6f1b16ebe859826e6901cb36995ad">evas_object_image_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *w, int *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the given image object.  <a href="group__Evas__Object__Image.html#ga43e6f1b16ebe859826e6901cb36995ad"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab72175381532640c620dd032e56c590b">evas_object_image_stride_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the row stride of the given image object,.  <a href="group__Evas__Object__Image.html#gab72175381532640c620dd032e56c590b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga46e4a0b2b916d28694ad054549f88e24">evas_object_image_load_error_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a number representing any error that occurred during the last load of the given image object.  <a href="group__Evas__Object__Image.html#ga46e4a0b2b916d28694ad054549f88e24"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabdd65e4c69f422ddcf0d3c8720859a92">evas_object_image_data_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the raw image data of the given image object.  <a href="group__Evas__Object__Image.html#gabdd65e4c69f422ddcf0d3c8720859a92"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga3072cf7c31cf33057abd8ae8876218cd">evas_object_image_data_convert</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a> to_cspace) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the raw image data of the given image object to the specified colorspace.  <a href="group__Evas__Object__Image.html#ga3072cf7c31cf33057abd8ae8876218cd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2">evas_object_image_data_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool for_writing) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the raw image data of the given image object.  <a href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga97d17b8d95f0ca01a264a6c303d00c27">evas_object_image_data_copy_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replaces the raw image data of the given image object.  <a href="group__Evas__Object__Image.html#ga97d17b8d95f0ca01a264a6c303d00c27"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165">evas_object_image_data_update_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark a sub-region of the given image object to be redrawn.  <a href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">evas_object_image_alpha_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool has_alpha) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable or disable alpha channel of the given image object.  <a href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gac136f7f65d8529427b1f6da055b47a30">evas_object_image_alpha_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the alpha channel setting of the given image object.  <a href="group__Evas__Object__Image.html#gac136f7f65d8529427b1f6da055b47a30"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510">evas_object_image_smooth_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool smooth_scale) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets whether to use of high-quality image scaling algorithm of the given image object.  <a href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae4acc1da719cb38122b92527df24388c">evas_object_image_smooth_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given image object is using use a high-quality image scaling algorithm.  <a href="group__Evas__Object__Image.html#gae4acc1da719cb38122b92527df24388c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad6383022c4013008d11827b32bf63d59">evas_object_image_preload</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool cancel) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Preload image in the background.  <a href="group__Evas__Object__Image.html#gad6383022c4013008d11827b32bf63d59"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga764bec190c0812f61f5a18f38c9c6a4e">evas_object_image_reload</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reload a image of the canvas.  <a href="group__Evas__Object__Image.html#ga764bec190c0812f61f5a18f38c9c6a4e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool EAPI Eina_Bool <br class="typebreak"/>
+EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad230eeeb0c6ba49eafd32b20afa314cb">evas_object_image_pixels_dirty_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool dirty) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark whether the given image object is dirty (needs to be redrawn).  <a href="group__Evas__Object__Image.html#gad230eeeb0c6ba49eafd32b20afa314cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga1d9e82da12f7831552fca02b9b313551">evas_object_image_pixels_dirty_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given image object is dirty (needs to be redrawn).  <a href="group__Evas__Object__Image.html#ga1d9e82da12f7831552fca02b9b313551"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga88a20331cef0267ddc1d00419841580b">evas_object_image_load_dpi_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double dpi) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the dpi resolution of a loaded image of the canvas.  <a href="group__Evas__Object__Image.html#ga88a20331cef0267ddc1d00419841580b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga92a5503085a5c0731bb9c299e7b42f78">evas_object_image_load_dpi_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the dpi resolution of a loaded image of the canvas.  <a href="group__Evas__Object__Image.html#ga92a5503085a5c0731bb9c299e7b42f78"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga1811fb73c1e138b5221cf4b25148111a">evas_object_image_load_size_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int w, int h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the size of a loaded image of the canvas.  <a href="group__Evas__Object__Image.html#ga1811fb73c1e138b5221cf4b25148111a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae8047183e894e1e1245f1f3aaf78f218">evas_object_image_load_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *w, int *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the size of a loaded image of the canvas.  <a href="group__Evas__Object__Image.html#gae8047183e894e1e1245f1f3aaf78f218"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga59796713b88c217ce5869cb003e404c0">evas_object_image_load_scale_down_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int scale_down) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the scale down of a loaded image of the canvas.  <a href="group__Evas__Object__Image.html#ga59796713b88c217ce5869cb003e404c0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga259c48b3e2a4009e8a10f8e9874d3847">evas_object_image_load_scale_down_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the scale down value of given image of the canvas.  <a href="group__Evas__Object__Image.html#ga259c48b3e2a4009e8a10f8e9874d3847"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gac352f7b110d7e527bf2d36fba5507d0c">evas_object_image_colorspace_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a> cspace) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the colorspace of a given image of the canvas.  <a href="group__Evas__Object__Image.html#gac352f7b110d7e527bf2d36fba5507d0c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42">evas_object_image_colorspace_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the colorspace of a given image of the canvas.  <a href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabd3effabde6da00dfcac7cf0cfa22280">evas_object_image_native_surface_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the native surface of a given image of the canvas.  <a href="group__Evas__Object__Image.html#gabd3effabde6da00dfcac7cf0cfa22280"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad13d32b74c2cd82c95b85fa9640ae529">evas_object_image_scale_hint_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Image_Scale_Hint hint) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the scale hint of a given image of the canvas.  <a href="group__Evas__Object__Image.html#gad13d32b74c2cd82c95b85fa9640ae529"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Image_Scale_Hint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8cce0086819196768915e5f2c2ed0cb2">evas_object_image_scale_hint_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the scale hint of a given image of the canvas.  <a href="group__Evas__Object__Image.html#ga8cce0086819196768915e5f2c2ed0cb2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf6cc0faf39773e12eb496116afd67c6f">evas_object_image_content_hint_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Image_Content_Hint hint) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the content hint of a given image of the canvas.  <a href="group__Evas__Object__Image.html#gaf6cc0faf39773e12eb496116afd67c6f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Image_Content_Hint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga28881040682dbbf00937948124e9f3fb">evas_object_image_content_hint_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the content hint of a given image of the canvas.  <a href="group__Evas__Object__Image.html#ga28881040682dbbf00937948124e9f3fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga154d8315842f4602878704951705e6cb">evas_object_image_alpha_mask_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool ismask) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable an image to be used as an alpha mask.  <a href="group__Evas__Object__Image.html#ga154d8315842f4602878704951705e6cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">evas_object_image_source_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *src) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the source object on a proxy object.  <a href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga95a96ced932d6e7e17ee019654d9d901">evas_object_image_source_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current source object of an image.  <a href="group__Evas__Object__Image.html#ga95a96ced932d6e7e17ee019654d9d901"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">evas_object_image_source_unset</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the source on a proxy image.  <a href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539">evas_object_text_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new text <code>Evas_Object</code> on the provided <code>Evas</code> canvas.  <a href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b">evas_object_text_font_source_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *font) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaa48bece59070032504a2c78ad8a66577">evas_object_text_font_source_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#gaa48bece59070032504a2c78ad8a66577"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">evas_object_text_font_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *font, Evas_Font_Size size) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532">evas_object_text_text_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *text) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the text to be displayed by the given evas text object.  <a href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaef3b0b12eb63b9cd7574c1cf05afb7a8">evas_object_text_text_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the text currently being displayed by the given evas text object.  <a href="group__Evas__Object__Text.html#gaef3b0b12eb63b9cd7574c1cf05afb7a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga4aaf7a903228927fa0adac885304e43e">evas_object_text_ascent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga4aaf7a903228927fa0adac885304e43e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga71f9d96c6dfc8ec33cf0a97e614228a0">evas_object_text_descent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga71f9d96c6dfc8ec33cf0a97e614228a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga1a0bdf57c3ca6e7fb7833ddfbe23b735">evas_object_text_max_ascent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga1a0bdf57c3ca6e7fb7833ddfbe23b735"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga28ee3eb5e199c23a14ac47e07ac49205">evas_object_text_max_descent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga28ee3eb5e199c23a14ac47e07ac49205"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga972494bd4b9d807ea5f98404a82d8eab">evas_object_text_horiz_advance_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga972494bd4b9d807ea5f98404a82d8eab"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaec17348b4fa02b15162ef96abdbfbf41">evas_object_text_vert_advance_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#gaec17348b4fa02b15162ef96abdbfbf41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d">evas_object_text_inset_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga823b09a9d05a1650e63970e329cd7b72">evas_object_text_char_pos_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve position and dimension information of a character within a text <code>Evas_Object</code>.  <a href="group__Evas__Object__Text.html#ga823b09a9d05a1650e63970e329cd7b72"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gab37f85358bd7d333cd6e8c7cf62b5daa">evas_object_text_char_coords_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#gab37f85358bd7d333cd6e8c7cf62b5daa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga464d40578e2fdc2ad8890556e0b97268">evas_object_text_last_up_to_pos</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the logical position of the last char in the text up to the pos given.  <a href="group__Evas__Object__Text.html#ga464d40578e2fdc2ad8890556e0b97268"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Text_Style_Type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaf08d4a9630d23ebdbf79cc8c2c91b2c6">evas_object_text_style_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#gaf08d4a9630d23ebdbf79cc8c2c91b2c6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gae7896521b9861d4bd3efc04ef1e8e91e">evas_object_text_style_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Text_Style_Type type) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#gae7896521b9861d4bd3efc04ef1e8e91e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga58f0bb7acf2c1d24e9ae5e4a391d19bc">evas_object_text_shadow_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga58f0bb7acf2c1d24e9ae5e4a391d19bc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga7cf7432965327a571d413dbaeca66822">evas_object_text_shadow_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga7cf7432965327a571d413dbaeca66822"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga74c4ea0f0befd6213f48163ee70041e6">evas_object_text_glow_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga74c4ea0f0befd6213f48163ee70041e6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga76bcc6322241875990b572f37d754266">evas_object_text_glow_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga76bcc6322241875990b572f37d754266"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga7dabe4ce0120cdf0c4e60a8f7a7e3659">evas_object_text_glow2_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga7dabe4ce0120cdf0c4e60a8f7a7e3659"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga264a8425d8dab176a1b15e17a528d56d">evas_object_text_glow2_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga264a8425d8dab176a1b15e17a528d56d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga1c1cf05c6b31f06a4c79486d19ddaece">evas_object_text_outline_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga1c1cf05c6b31f06a4c79486d19ddaece"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga16485a0062a397faed21fad732ad16ba">evas_object_text_outline_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="group__Evas__Object__Text.html#ga16485a0062a397faed21fad732ad16ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gafd638ae91c10d4139e41e6245c0712e1">evas_object_text_style_pad_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the text style pad of a text object.  <a href="group__Evas__Object__Text.html#gafd638ae91c10d4139e41e6245c0712e1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_BiDi_Direction&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga2fdb3ff0318cd4b45d642ae317b19589">evas_object_text_direction_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the direction of the text currently being displayed in the text object.  <a href="group__Evas__Object__Text.html#ga2fdb3ff0318cd4b45d642ae317b19589"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac43a253bc767da912ee1818a8dfa5713">evas_object_textblock_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a textblock to the given evas.  <a href="group__Evas__Object__Textblock.html#gac43a253bc767da912ee1818a8dfa5713"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac165d57003e552fa6739158dc2ed73f5">evas_textblock_escape_string_get</a> (const char *escape) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the unescaped version of escape.  <a href="group__Evas__Object__Textblock.html#gac165d57003e552fa6739158dc2ed73f5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga70b3680a8691c70bab39bd1c127424a5">evas_textblock_string_escape_get</a> (const char *string, int *len_ret) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the escaped version of the string.  <a href="group__Evas__Object__Textblock.html#ga70b3680a8691c70bab39bd1c127424a5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Textblock_Style *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga00cc8baec308c583ac801811dd381d4c">evas_textblock_style_new</a> (void) EINA_WARN_UNUSED_RESULT EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new textblock style.  <a href="group__Evas__Object__Textblock.html#ga00cc8baec308c583ac801811dd381d4c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f">evas_textblock_style_free</a> (Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys a textblock style.  <a href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14">evas_textblock_style_set</a> (Evas_Textblock_Style *ts, const char *text) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the style ts to the style passed as text by text.  <a href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae106e0cfb957f1916eb3833c1214394c">evas_textblock_style_get</a> (const Evas_Textblock_Style *ts) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the text of the style ts.  <a href="group__Evas__Object__Textblock.html#gae106e0cfb957f1916eb3833c1214394c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0">evas_object_textblock_style_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the objects style to ts.  <a href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Evas_Textblock_Style *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga9f3164f28981c6d6188a8de202848197">evas_object_textblock_style_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the style of an object.  <a href="group__Evas__Object__Textblock.html#ga9f3164f28981c6d6188a8de202848197"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gab5d3958f4d73b2d9e3cccd828816b672">evas_object_textblock_replace_char_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the "replacement character" to use for the given textblock object.  <a href="group__Evas__Object__Textblock.html#gab5d3958f4d73b2d9e3cccd828816b672"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga61f6c6ea8c0ce2028424396eb2ff4a81">evas_object_textblock_replace_char_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the "replacement character" for given textblock object.  <a href="group__Evas__Object__Textblock.html#ga61f6c6ea8c0ce2028424396eb2ff4a81"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga5f08b5b6222ed341574ec8167a86c9a0">evas_object_textblock_valign_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double align)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the vertical alignment of text within the textblock object as a whole.  <a href="group__Evas__Object__Textblock.html#ga5f08b5b6222ed341574ec8167a86c9a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga431ec30179fc3d7bcd98f508453e41bb">evas_object_textblock_valign_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the vertical alignment of a textblock.  <a href="group__Evas__Object__Textblock.html#ga431ec30179fc3d7bcd98f508453e41bb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae637041b07efe438e3539bb549a915e3">evas_object_textblock_newline_mode_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool mode) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets newline mode.  <a href="group__Evas__Object__Textblock.html#gae637041b07efe438e3539bb549a915e3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga0832ab9fd2820efee68bec6d1d80e427">evas_object_textblock_newline_mode_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets newline mode.  <a href="group__Evas__Object__Textblock.html#ga0832ab9fd2820efee68bec6d1d80e427"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">evas_object_textblock_text_markup_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *text) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the tetxblock's text to the markup text.  <a href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga0896326ca8d9ca1dd194f322d0bc87b2">evas_object_textblock_text_markup_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the markup of the object.  <a href="group__Evas__Object__Textblock.html#ga0896326ca8d9ca1dd194f322d0bc87b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Evas_Textblock_Cursor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2bbd5e4e1cc36e18790dc09fbd2a6c18">evas_object_textblock_cursor_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the object's main cursor.  <a href="group__Evas__Object__Textblock.html#ga2bbd5e4e1cc36e18790dc09fbd2a6c18"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Textblock_Cursor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45">evas_object_textblock_cursor_new</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new cursor, associate it to the obj and init it to point to the start of the textblock.  <a href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137">evas_textblock_cursor_free</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the cursor and unassociate it from the object.  <a href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41">evas_textblock_cursor_paragraph_first</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the cursor to the start of the first text node.  <a href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0">evas_textblock_cursor_paragraph_last</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the cursor to the end of the last text node.  <a href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a">evas_textblock_cursor_paragraph_next</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the the start of the next text node.  <a href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">evas_textblock_cursor_paragraph_prev</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the the end of the previous text node.  <a href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga56e9057e5845fe785710ba6c5d07ab3e">evas_textblock_node_format_first_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the first format node.  <a href="group__Evas__Object__Textblock.html#ga56e9057e5845fe785710ba6c5d07ab3e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga091521044b95190c75c57ca1661bcc83">evas_textblock_node_format_last_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the last format node.  <a href="group__Evas__Object__Textblock.html#ga091521044b95190c75c57ca1661bcc83"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga341e85b5bb0c9b2c82db4eb5a2432a9d">evas_textblock_node_format_next_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the next format node (after n).  <a href="group__Evas__Object__Textblock.html#ga341e85b5bb0c9b2c82db4eb5a2432a9d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8566bfff8ca71cc89cf704c9a082780c">evas_textblock_node_format_prev_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the prev format node (after n).  <a href="group__Evas__Object__Textblock.html#ga8566bfff8ca71cc89cf704c9a082780c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3">evas_textblock_cursor_format_get</a> (const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the format node at the position pointed by cur.  <a href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8">evas_textblock_node_format_text_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the text format representation of the format node.  <a href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the current cursor position is a visible format.  <a href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaedae64aa95805f0c3480cf6001297ae9">evas_textblock_cursor_format_next</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the next format node.  <a href="group__Evas__Object__Textblock.html#gaedae64aa95805f0c3480cf6001297ae9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec">evas_textblock_cursor_format_prev</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the previous format node.  <a href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">evas_textblock_cursor_is_format</a> (const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the cursor points to a format.  <a href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">evas_textblock_cursor_char_next</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances 1 char forward.  <a href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">evas_textblock_cursor_char_prev</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances 1 char backward.  <a href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d">evas_textblock_cursor_paragraph_char_first</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the first char in the node the cursor is pointing on.  <a href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">evas_textblock_cursor_paragraph_char_last</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the last char in a text node.  <a href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6da9c7bff6073756a619f9b8a00d0e0b">evas_textblock_cursor_line_char_first</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the start of the current line.  <a href="group__Evas__Object__Textblock.html#ga6da9c7bff6073756a619f9b8a00d0e0b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">evas_textblock_cursor_line_char_last</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the end of the current line.  <a href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga7f74459b59870c258bd312ff114778bc">evas_textblock_cursor_pos_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current cursor pos.  <a href="group__Evas__Object__Textblock.html#ga7f74459b59870c258bd312ff114778bc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gacde95e638bba6858b73f316afe2cfef0">evas_textblock_cursor_pos_set</a> (Evas_Textblock_Cursor *cur, int pos) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor pos.  <a href="group__Evas__Object__Textblock.html#gacde95e638bba6858b73f316afe2cfef0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf">evas_textblock_cursor_line_set</a> (Evas_Textblock_Cursor *cur, int line) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the start of the line passed.  <a href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf9cd7ffa37008c0d6f61413703a0670e">evas_textblock_cursor_char_delete</a> (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the character at the location of the cursor.  <a href="group__Evas__Object__Textblock.html#gaf9cd7ffa37008c0d6f61413703a0670e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">evas_textblock_cursor_paragraph_text_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the text of the paragraph cur points to - returns the text in markup.  <a href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga57b2e7d853306c435946e0db83080db5">evas_textblock_cursor_paragraph_text_length_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the length of the paragraph, cheaper the eina_unicode_strlen().  <a href="group__Evas__Object__Textblock.html#ga57b2e7d853306c435946e0db83080db5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">evas_textblock_cursor_content_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the content of the cursor.  <a href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">evas_textblock_cursor_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the cursor.  <a href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga47950e666e252bbf0ad9d46b59e74269">evas_textblock_cursor_char_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the char at cur.  <a href="group__Evas__Object__Textblock.html#ga47950e666e252bbf0ad9d46b59e74269"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105">evas_textblock_cursor_pen_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cpen_x, Evas_Coord *cy, Evas_Coord *cadv, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the pen at cur.  <a href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaa49a0235809d49fb5f988253050dd101">evas_textblock_cursor_line_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the line at cur.  <a href="group__Evas__Object__Textblock.html#gaa49a0235809d49fb5f988253050dd101"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00">evas_textblock_cursor_char_coord_set</a> (Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the position of the cursor according to the X and Y coordinates.  <a href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb">evas_textblock_cursor_line_coord_set</a> (Evas_Textblock_Cursor *cur, Evas_Coord y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor position according to the y coord.  <a href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311">evas_textblock_cursor_format_item_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be documented.  <a href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">evas_textblock_cursor_eol_get</a> (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the cursor points to the end of the line.  <a href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga77d99df8bcb139f2a499a0dda4c5dca1">evas_object_textblock_line_number_geometry_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of a line number.  <a href="group__Evas__Object__Textblock.html#ga77d99df8bcb139f2a499a0dda4c5dca1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad5ee9184f370f602d2005ea8091a2c29">evas_object_textblock_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the textblock object.  <a href="group__Evas__Object__Textblock.html#gad5ee9184f370f602d2005ea8091a2c29"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db">evas_object_textblock_size_formatted_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the formatted width and height.  <a href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e">evas_object_textblock_size_native_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the native width and height.  <a href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga851cb385b547a958790a0d60d386a1d8">evas_object_textblock_style_insets_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be documented.  <a href="group__Evas__Object__Textblock.html#ga851cb385b547a958790a0d60d386a1d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#ga896f1beaea24379495af4cbc5efcebfe">evas_object_line_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a new evas line object to the given evas.  <a href="group__Evas__Line__Group.html#ga896f1beaea24379495af4cbc5efcebfe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174">evas_object_line_xy_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the coordinates of the end points of the given evas line object.  <a href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#ga3fa674863aa41d655caa103f546a9092">evas_object_line_xy_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the coordinates of the end points of the given evas line object.  <a href="group__Evas__Line__Group.html#ga3fa674863aa41d655caa103f546a9092"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#gab6beb5b98de57a0f47707cac90f96bc9">evas_object_polygon_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a new evas polygon object to the given evas.  <a href="group__Evas__Object__Polygon.html#gab6beb5b98de57a0f47707cac90f96bc9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76">evas_object_polygon_point_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds the given point to the given evas polygon object.  <a href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2">evas_object_polygon_points_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all of the points from the given evas polygon object.  <a href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga3501ae449533ae15eee9cbf65811cad2">evas_smart_free</a> (<a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free an Evas_Smart.  <a href="group__Evas__Smart__Group.html#ga3501ae449533ae15eee9cbf65811cad2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a">evas_smart_class_new</a> (const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an Evas_Smart from an Evas_Smart_Class.  <a href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gac41799a0e334d515fa8e07313b88c611">evas_smart_class_get</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Evas_Smart_Class of an Evas_Smart.  <a href="group__Evas__Smart__Group.html#gac41799a0e334d515fa8e07313b88c611"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaa88f3f98a71031573b8dfc4bfeac2f64">evas_smart_data_get</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the data pointer set on an Evas_Smart.  <a href="group__Evas__Smart__Group.html#gaa88f3f98a71031573b8dfc4bfeac2f64"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a member object from a smart object.  <a href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511">evas_object_smart_parent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the smart parent of an Evas_Object.  <a href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#afa903e37a9f98f80f1d73996cf5354cc">evas_object_smart_members_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the list of the member objects of an Evas_Object.  <a href="#afa903e37a9f98f80f1d73996cf5354cc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gab1423d63011d7f3679c95ea1638fa714">evas_object_smart_smart_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Evas_Smart from which <code>obj</code> was created.  <a href="group__Evas__Smart__Object__Group.html#gab1423d63011d7f3679c95ea1638fa714"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">evas_object_smart_data_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve user data stored on a smart object.  <a href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e">evas_object_smart_data_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a pointer to user data for a smart object.  <a href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void EAPI void <br class="typebreak"/>
+EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaf724dbb075cdaf2b4b44dd883b792dc3">evas_object_smart_callbacks_descriptions_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> *descriptions) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set smart object instance callbacks descriptions.  <a href="group__Evas__Smart__Object__Group.html#gaf724dbb075cdaf2b4b44dd883b792dc3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d">evas_object_smart_callbacks_descriptions_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***class_descriptions, unsigned int *class_count, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***instance_descriptions, unsigned int *instance_count) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the callbacks descriptions known by this smart object.  <a href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark smart object as changed, dirty.  <a href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1">evas_object_smart_need_recalculate_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool value) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the need_recalculate flag of given smart object.  <a href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga38be19a4f09b071b3d984996b8f9b3ee">evas_object_smart_need_recalculate_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current value of need_recalculate flag.  <a href="group__Evas__Smart__Object__Group.html#ga38be19a4f09b071b3d984996b8f9b3ee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga8013936b96d99d2ff375ca2b0b287f39">evas_object_smart_calculate</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call user provided calculate() and unset need_calculate.  <a href="group__Evas__Smart__Object__Group.html#ga8013936b96d99d2ff375ca2b0b287f39"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaa30fa648297b723a73f28632d1dbec62">evas_smart_objects_calculate</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call user provided calculate() and unset need_calculate on all objects.  <a href="group__Evas__Smart__Object__Group.html#gaa30fa648297b723a73f28632d1dbec62"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">evas_object_smart_clipped_clipper_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the clipper object for the given clipped smart object.  <a href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628">evas_object_smart_clipped_smart_set</a> (<a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set smart class callbacks so it implements the "Clipped Smart Object".  <a href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga83e064112f527be0c2156c425562a57c"></a><!-- doxytag: member="Evas.h::evas_object_smart_clipped_class_get" ref="ga83e064112f527be0c2156c425562a57c" args="(void) EINA_CONST" -->
+EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">evas_object_smart_clipped_class_get</a> (void) EINA_CONST</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the Clipped Smart Class to use for proper inheritance. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">evas_object_smart_move_children_relative</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord dx, Evas_Coord dy) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves all children objects relative to given offset.  <a href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga19c407e45de527d9400823fb1c85d0fe">evas_object_box_smart_set</a> (<a class="el" href="struct__Evas__Object__Box__Api.html">Evas_Object_Box_Api</a> *api) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the default box <em>api</em> struct (Evas_Object_Box_Api) with the default values.  <a href="group__Evas__Object__Box.html#ga19c407e45de527d9400823fb1c85d0fe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga58da2c7328e5c8a01a8817f934d083ff"></a><!-- doxytag: member="Evas.h::evas_object_box_smart_class_get" ref="ga58da2c7328e5c8a01a8817f934d083ff" args="(void) EINA_CONST" -->
+EAPI const <a class="el" href="struct__Evas__Object__Box__Api.html">Evas_Object_Box_Api</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">evas_object_box_smart_class_get</a> (void) EINA_CONST</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get Box Smart Class for inheritance purposes. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">evas_object_box_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new box.  <a href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">evas_object_box_add_to</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a box that is child of a given element <em>parent</em>.  <a href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae66fe763591e62621cf6352528d97e10"></a><!-- doxytag: member="Evas.h::evas_object_box_align_set" ref="gae66fe763591e62621cf6352528d97e10" args="(Evas_Object *o, double horizontal, double vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void EAPI void EAPI void <br class="typebreak"/>
+EAPI void EAPI void EAPI void <br class="typebreak"/>
+EAPI void EAPI void EAPI void <br class="typebreak"/>
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gae66fe763591e62621cf6352528d97e10">evas_object_box_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double horizontal, double vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad87e3a868b14d1a28da7511f95b59673"></a><!-- doxytag: member="Evas.h::evas_object_box_align_get" ref="gad87e3a868b14d1a28da7511f95b59673" args="(const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad87e3a868b14d1a28da7511f95b59673">evas_object_box_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga75ab3d2f84c328010c26a6b8d89c9c67"></a><!-- doxytag: member="Evas.h::evas_object_box_padding_set" ref="ga75ab3d2f84c328010c26a6b8d89c9c67" args="(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga75ab3d2f84c328010c26a6b8d89c9c67">evas_object_box_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the space (padding) between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab24383f3b29c8bc78c98cd0b0f16902d"></a><!-- doxytag: member="Evas.h::evas_object_box_padding_get" ref="gab24383f3b29c8bc78c98cd0b0f16902d" args="(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gab24383f3b29c8bc78c98cd0b0f16902d">evas_object_box_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the (space) padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> <br class="typebreak"/>
+*EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> <br class="typebreak"/>
+*EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> <br class="typebreak"/>
+EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> <br class="typebreak"/>
+EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> <br class="typebreak"/>
+*EAPI Eina_Bool EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">evas_object_box_remove_at</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, unsigned int pos) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove an object from the box <em>o</em> which occupies position <em>pos</em>.  <a href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">evas_object_box_remove_all</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Eina_Bool clear) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all child objects.  <a href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Iterator *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga2a3ceff4f02512fa7f85618252eacbdc">evas_object_box_iterator_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an iterator to walk the list of children for the box.  <a href="group__Evas__Object__Box.html#ga2a3ceff4f02512fa7f85618252eacbdc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Accessor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad5c5837393bd163f6cde72bde073333b">evas_object_box_accessor_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an accessor to get random access to the list of children for the box.  <a href="group__Evas__Object__Box.html#gad5c5837393bd163f6cde72bde073333b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga542294a74645829cd5531a8ddec32d9c">evas_object_box_children_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of children for the box.  <a href="group__Evas__Object__Box.html#ga542294a74645829cd5531a8ddec32d9c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad6b908faeca8fb7e16c002509a86ffab">evas_object_box_option_property_name_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, int property) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the name of the property of the child elements of the box <em>o</em> whose id is <em>property</em>.  <a href="group__Evas__Object__Box.html#gad6b908faeca8fb7e16c002509a86ffab"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">evas_object_table_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new table.  <a href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">evas_object_table_add_to</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a table that is child of a given element <em>parent</em>.  <a href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">evas_object_table_homogeneous_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a> homogeneous) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set how this table should layout children.  <a href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga1b96719d71cb4ca89a31eb59635df387">evas_object_table_homogeneous_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current layout homogeneous mode.  <a href="group__Evas__Object__Table.html#ga1b96719d71cb4ca89a31eb59635df387"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6ea229f05036a9c5d30010ad40a30c66"></a><!-- doxytag: member="Evas.h::evas_object_table_padding_set" ref="ga6ea229f05036a9c5d30010ad40a30c66" args="(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga6ea229f05036a9c5d30010ad40a30c66">evas_object_table_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabe1af40fbd5e03068bc577e71939934a"></a><!-- doxytag: member="Evas.h::evas_object_table_padding_get" ref="gabe1af40fbd5e03068bc577e71939934a" args="(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gabe1af40fbd5e03068bc577e71939934a">evas_object_table_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7299bcee8de1f9304fa31fff43347a45"></a><!-- doxytag: member="Evas.h::evas_object_table_align_set" ref="ga7299bcee8de1f9304fa31fff43347a45" args="(Evas_Object *o, double horizontal, double vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga7299bcee8de1f9304fa31fff43347a45">evas_object_table_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double horizontal, double vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7a1ff64522920c2723675ca11d723d47"></a><!-- doxytag: member="Evas.h::evas_object_table_align_get" ref="ga7a1ff64522920c2723675ca11d723d47" args="(const Evas_Object *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga7a1ff64522920c2723675ca11d723d47">evas_object_table_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga8f775fb97bf5da5e8a0005a89027044b">evas_object_table_mirrored_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the mirrored mode of the table.  <a href="group__Evas__Object__Table.html#ga8f775fb97bf5da5e8a0005a89027044b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gac008b924a1ba3b0133d0ac11b3e6af06">evas_object_table_mirrored_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the mirrored mode of the table.  <a href="group__Evas__Object__Table.html#gac008b924a1ba3b0133d0ac11b3e6af06"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool EAPI Eina_Bool <br class="typebreak"/>
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">evas_object_table_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Eina_Bool clear) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Faster way to remove all child objects from a table object.  <a href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga007c88dba9eb3b326aa67a10c143f3a9">evas_object_table_col_row_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, int *cols, int *rows) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of columns and rows this table takes.  <a href="group__Evas__Object__Table.html#ga007c88dba9eb3b326aa67a10c143f3a9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Iterator *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga07d18d5708745143c4b12280a7359e71">evas_object_table_iterator_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an iterator to walk the list of children for the table.  <a href="group__Evas__Object__Table.html#ga07d18d5708745143c4b12280a7359e71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Accessor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaaa6c5242faad0906b1fbf4bbc1088543">evas_object_table_accessor_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an accessor to get random access to the list of children for the table.  <a href="group__Evas__Object__Table.html#gaaa6c5242faad0906b1fbf4bbc1088543"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga1afb562131cd3a74a130c374fcea0632">evas_object_table_children_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of children for the table.  <a href="group__Evas__Object__Table.html#ga1afb562131cd3a74a130c374fcea0632"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaeb4a9d107dde8a4c7bc60d6f97b5ec46">evas_object_table_child_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, unsigned short col, unsigned short row) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a child from the table using its coordinates.  <a href="group__Evas__Object__Table.html#gaeb4a9d107dde8a4c7bc60d6f97b5ec46"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#gab039ccd04ab2e8857a0df629b4ac0901">evas_cserve_want_get</a> (void) EINA_WARN_UNUSED_RESULT EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system wants to share bitmaps using the server.  <a href="group__Evas__Cserve.html#gab039ccd04ab2e8857a0df629b4ac0901"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#gab88ee4c01dbdf01fea4d8acf4a07b25f">evas_cserve_connected_get</a> (void) EINA_WARN_UNUSED_RESULT</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system is connected to the server used to shae bitmaps.  <a href="group__Evas__Cserve.html#gab88ee4c01dbdf01fea4d8acf4a07b25f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga82fec634eb97f664e9cb3ed08358b1a2">evas_cserve_stats_get</a> (<a class="el" href="struct__Evas__Cserve__Stats.html">Evas_Cserve_Stats</a> *stats) EINA_WARN_UNUSED_RESULT</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system wants to share bitmaps using the server.  <a href="group__Evas__Cserve.html#ga82fec634eb97f664e9cb3ed08358b1a2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga9bb7fbd93f4bc9310707549ff9427b47">evas_cserve_config_get</a> (<a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *config) EINA_WARN_UNUSED_RESULT EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current configuration of the server.  <a href="group__Evas__Cserve.html#ga9bb7fbd93f4bc9310707549ff9427b47"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga10c38a7bfb59423c2a96447b42c2aa15">evas_cserve_config_set</a> (const <a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *config) EINA_WARN_UNUSED_RESULT EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the configuration of the server.  <a href="group__Evas__Cserve.html#ga10c38a7bfb59423c2a96447b42c2aa15"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3129abb4410e7d6967072f14ac327daf"></a><!-- doxytag: member="Evas.h::evas_cserve_disconnect" ref="ga3129abb4410e7d6967072f14ac327daf" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga3129abb4410e7d6967072f14ac327daf">evas_cserve_disconnect</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force system to disconnect from cache server. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a">evas_load_error_str</a> (<a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a> error)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the given error code into a string describing it in english.  <a href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga2a28c2e6ecdc72189040ae3f5bd829d0">evas_color_hsv_to_rgb</a> (float h, float s, float v, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a given color from HSV to RGB format.  <a href="group__Evas__Utils.html#ga2a28c2e6ecdc72189040ae3f5bd829d0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga4054acb14873d5923306ddde5537171d">evas_color_rgb_to_hsv</a> (int r, int g, int b, float *h, float *s, float *v)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a given color from RGB to HSV format.  <a href="group__Evas__Utils.html#ga4054acb14873d5923306ddde5537171d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa">evas_color_argb_premul</a> (int a, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-multiplies a rgb triplet by an alpha factor.  <a href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga520b64aa41b81e13bf7fc9f16fd2f3e5">evas_color_argb_unpremul</a> (int a, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Undo pre-multiplication of a rgb triplet by an alpha factor.  <a href="group__Evas__Utils.html#ga520b64aa41b81e13bf7fc9f16fd2f3e5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#gad61423a02fa7c3cb0293c3bdd5516216">evas_data_argb_premul</a> (unsigned int *data, unsigned int len)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-multiplies data by an alpha factor.  <a href="group__Evas__Utils.html#gad61423a02fa7c3cb0293c3bdd5516216"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga6794135ce6545bd5e16f6563043a8f18">evas_data_argb_unpremul</a> (unsigned int *data, unsigned int len)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Undo pre-multiplication data by an alpha factor.  <a href="group__Evas__Utils.html#ga6794135ce6545bd5e16f6563043a8f18"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga31161605cf449d16e0ea0183509a1e3b">evas_string_char_next_get</a> (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the next character in the string.  <a href="group__Evas__Utils.html#ga31161605cf449d16e0ea0183509a1e3b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga20119def41aa1f24aea7961b3fa0fd72">evas_string_char_prev_get</a> (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the previous character in the string.  <a href="group__Evas__Utils.html#ga20119def41aa1f24aea7961b3fa0fd72"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#gaf9edd726590b1f56ca3e566ba1a2dbb2">evas_string_char_len_get</a> (const char *str) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the length in characters of the string.  <a href="group__Evas__Utils.html#gaf9edd726590b1f56ca3e566ba1a2dbb2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <a class="el" href="Evas_8h.html#a198d0b10861c1da456004688d3443e96">Evas_Modifier</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#a5c233a1e9eea970c1db0de87ff343e77">evas_key_modifier_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">TO BE DOCUMENTED:  <a href="#a5c233a1e9eea970c1db0de87ff343e77"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <a class="el" href="Evas_8h.html#a791323b644ee831ead4c5d25552a0fd8">Evas_Lock</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="Evas_8h.html#aa8af6d3610b4e937e79e761c8c4c7819">evas_key_lock_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a handle to the locks available in the system.  <a href="#aa8af6d3610b4e937e79e761c8c4c7819"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>These routines are used for Evas library interaction. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000005">Todo:</a></b></dt><dd><p class="startdd">check boolean return values and convert to Eina_Bool </p>
+<p>change all api to use EINA_SAFETY_* </p>
+<p class="enddd">finish api documentation </p>
+</dd></dl>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="aae3a7dde94160cc18015784fb192bb2f"></a><!-- doxytag: member="Evas.h::Evas_Button_Flags" ref="aae3a7dde94160cc18015784fb192bb2f" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">_Evas_Button_Flags</a>  <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Mouse Button events. </p>
+<p>Flags for Mouse Button events </p>
+
+</div>
+</div>
+<a class="anchor" id="a076b2a9b2de2b2144a4193b1d12ed448"></a><!-- doxytag: member="Evas.h::Evas_Callback_Type" ref="a076b2a9b2de2b2144a4193b1d12ed448" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">_Evas_Callback_Type</a>  <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Identifier of callbacks to be used with object or canvas. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> The type of event to trigger the callback </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9fda4d6d744ae16549b3765df7363f95"></a><!-- doxytag: member="Evas.h::Evas_Event_Flags" ref="a9fda4d6d744ae16549b3765df7363f95" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">_Evas_Event_Flags</a>  <a class="el" href="Evas_8h.html#a9fda4d6d744ae16549b3765df7363f95">Evas_Event_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Events. </p>
+<p>Flags for Events </p>
+
+</div>
+</div>
+<a class="anchor" id="ae609d856d391e1d65968a137313e0eb7"></a><!-- doxytag: member="Evas.h::Evas_Pixel_Import_Pixel_Format" ref="ae609d856d391e1d65968a137313e0eb7" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">_Evas_Pixel_Import_Pixel_Format</a>  <a class="el" href="Evas_8h.html#ae609d856d391e1d65968a137313e0eb7">Evas_Pixel_Import_Pixel_Format</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Pixel format for import call. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gad87ced373138180afff4756fded5a4f3" title="Import pixels from given source to a given canvas image object.">evas_object_image_pixels_import()</a> </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="a1adf9f604f763f2a8db12a484ca199cb"></a><!-- doxytag: member="Evas.h::_Evas_Alloc_Error" ref="a1adf9f604f763f2a8db12a484ca199cb" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cb">_Evas_Alloc_Error</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8"></a><!-- doxytag: member="EVAS_ALLOC_ERROR_NONE" ref="a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" args="" -->EVAS_ALLOC_ERROR_NONE</em>&nbsp;</td><td>
+<p>No allocation error. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e"></a><!-- doxytag: member="EVAS_ALLOC_ERROR_FATAL" ref="a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e" args="" -->EVAS_ALLOC_ERROR_FATAL</em>&nbsp;</td><td>
+<p>Allocation failed despite attempts to free up memory. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e"></a><!-- doxytag: member="EVAS_ALLOC_ERROR_RECOVERED" ref="a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e" args="" -->EVAS_ALLOC_ERROR_RECOVERED</em>&nbsp;</td><td>
+<p>Allocation succeeded, but extra memory had to be found by freeing up speculative resources. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a9b61a9a46b5824fc358a5a8c82cda8b9"></a><!-- doxytag: member="Evas.h::_Evas_Button_Flags" ref="a9b61a9a46b5824fc358a5a8c82cda8b9" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">_Evas_Button_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Mouse Button events. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd"></a><!-- doxytag: member="EVAS_BUTTON_NONE" ref="a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd" args="" -->EVAS_BUTTON_NONE</em>&nbsp;</td><td>
+<p>No extra mouse button data. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d"></a><!-- doxytag: member="EVAS_BUTTON_DOUBLE_CLICK" ref="a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d" args="" -->EVAS_BUTTON_DOUBLE_CLICK</em>&nbsp;</td><td>
+<p>This mouse button press was the 2nd press of a double click. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87"></a><!-- doxytag: member="EVAS_BUTTON_TRIPLE_CLICK" ref="a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87" args="" -->EVAS_BUTTON_TRIPLE_CLICK</em>&nbsp;</td><td>
+<p>This mouse button press was the 3rd press of a triple click. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8a"></a><!-- doxytag: member="Evas.h::_Evas_Callback_Type" ref="a99e208e463a20499aabe6faac8a8cb8a" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">_Evas_Callback_Type</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Identifier of callbacks to be used with object or canvas. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> </dd></dl>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_IN" ref="a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" args="" -->EVAS_CALLBACK_MOUSE_IN</em>&nbsp;</td><td>
+<p>Mouse In Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_OUT" ref="a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25" args="" -->EVAS_CALLBACK_MOUSE_OUT</em>&nbsp;</td><td>
+<p>Mouse Out Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_DOWN" ref="a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" args="" -->EVAS_CALLBACK_MOUSE_DOWN</em>&nbsp;</td><td>
+<p>Mouse Button Down Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_UP" ref="a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" args="" -->EVAS_CALLBACK_MOUSE_UP</em>&nbsp;</td><td>
+<p>Mouse Button Up Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_MOVE" ref="a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a" args="" -->EVAS_CALLBACK_MOUSE_MOVE</em>&nbsp;</td><td>
+<p>Mouse Move Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4"></a><!-- doxytag: member="EVAS_CALLBACK_MOUSE_WHEEL" ref="a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4" args="" -->EVAS_CALLBACK_MOUSE_WHEEL</em>&nbsp;</td><td>
+<p>Mouse Wheel Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80"></a><!-- doxytag: member="EVAS_CALLBACK_MULTI_DOWN" ref="a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80" args="" -->EVAS_CALLBACK_MULTI_DOWN</em>&nbsp;</td><td>
+<p>Multi-touch Down Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94"></a><!-- doxytag: member="EVAS_CALLBACK_MULTI_UP" ref="a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94" args="" -->EVAS_CALLBACK_MULTI_UP</em>&nbsp;</td><td>
+<p>Multi-touch Up Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f"></a><!-- doxytag: member="EVAS_CALLBACK_MULTI_MOVE" ref="a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f" args="" -->EVAS_CALLBACK_MULTI_MOVE</em>&nbsp;</td><td>
+<p>Multi-touch Move Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24"></a><!-- doxytag: member="EVAS_CALLBACK_FREE" ref="a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24" args="" -->EVAS_CALLBACK_FREE</em>&nbsp;</td><td>
+<p>Object Being Freed (Called after Del). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584"></a><!-- doxytag: member="EVAS_CALLBACK_KEY_DOWN" ref="a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584" args="" -->EVAS_CALLBACK_KEY_DOWN</em>&nbsp;</td><td>
+<p>Key Press Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f"></a><!-- doxytag: member="EVAS_CALLBACK_KEY_UP" ref="a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f" args="" -->EVAS_CALLBACK_KEY_UP</em>&nbsp;</td><td>
+<p>Key Release Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97"></a><!-- doxytag: member="EVAS_CALLBACK_FOCUS_IN" ref="a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97" args="" -->EVAS_CALLBACK_FOCUS_IN</em>&nbsp;</td><td>
+<p>Focus In Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3"></a><!-- doxytag: member="EVAS_CALLBACK_FOCUS_OUT" ref="a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3" args="" -->EVAS_CALLBACK_FOCUS_OUT</em>&nbsp;</td><td>
+<p>Focus Out Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540"></a><!-- doxytag: member="EVAS_CALLBACK_SHOW" ref="a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540" args="" -->EVAS_CALLBACK_SHOW</em>&nbsp;</td><td>
+<p>Show Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7"></a><!-- doxytag: member="EVAS_CALLBACK_HIDE" ref="a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7" args="" -->EVAS_CALLBACK_HIDE</em>&nbsp;</td><td>
+<p>Hide Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0"></a><!-- doxytag: member="EVAS_CALLBACK_MOVE" ref="a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0" args="" -->EVAS_CALLBACK_MOVE</em>&nbsp;</td><td>
+<p>Move Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21"></a><!-- doxytag: member="EVAS_CALLBACK_RESIZE" ref="a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21" args="" -->EVAS_CALLBACK_RESIZE</em>&nbsp;</td><td>
+<p>Resize Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145"></a><!-- doxytag: member="EVAS_CALLBACK_RESTACK" ref="a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145" args="" -->EVAS_CALLBACK_RESTACK</em>&nbsp;</td><td>
+<p>Restack Event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277"></a><!-- doxytag: member="EVAS_CALLBACK_DEL" ref="a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277" args="" -->EVAS_CALLBACK_DEL</em>&nbsp;</td><td>
+<p>Object Being Deleted (called before Free). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85"></a><!-- doxytag: member="EVAS_CALLBACK_HOLD" ref="a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85" args="" -->EVAS_CALLBACK_HOLD</em>&nbsp;</td><td>
+<p>Events go on/off hold. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae"></a><!-- doxytag: member="EVAS_CALLBACK_CHANGED_SIZE_HINTS" ref="a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae" args="" -->EVAS_CALLBACK_CHANGED_SIZE_HINTS</em>&nbsp;</td><td>
+<p>Size hints changed event. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e"></a><!-- doxytag: member="EVAS_CALLBACK_IMAGE_PRELOADED" ref="a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e" args="" -->EVAS_CALLBACK_IMAGE_PRELOADED</em>&nbsp;</td><td>
+<p>Image as been preloaded. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1"></a><!-- doxytag: member="EVAS_CALLBACK_CANVAS_FOCUS_IN" ref="a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" args="" -->EVAS_CALLBACK_CANVAS_FOCUS_IN</em>&nbsp;</td><td>
+<p>Canvas got focus as a whole. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f"></a><!-- doxytag: member="EVAS_CALLBACK_CANVAS_FOCUS_OUT" ref="a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f" args="" -->EVAS_CALLBACK_CANVAS_FOCUS_OUT</em>&nbsp;</td><td>
+<p>Canvas lost focus as a whole. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3"></a><!-- doxytag: member="EVAS_CALLBACK_RENDER_FLUSH_PRE" ref="a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3" args="" -->EVAS_CALLBACK_RENDER_FLUSH_PRE</em>&nbsp;</td><td>
+<p>Called just before rendering is updated on the canvas target. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1"></a><!-- doxytag: member="EVAS_CALLBACK_RENDER_FLUSH_POST" ref="a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1" args="" -->EVAS_CALLBACK_RENDER_FLUSH_POST</em>&nbsp;</td><td>
+<p>Called just after rendering is updated on the canvas target. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5"></a><!-- doxytag: member="EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN" ref="a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5" args="" -->EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN</em>&nbsp;</td><td>
+<p>Canvas object got focus. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070"></a><!-- doxytag: member="EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT" ref="a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070" args="" -->EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT</em>&nbsp;</td><td>
+<p>Canvas object lost focus. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8"></a><!-- doxytag: member="EVAS_CALLBACK_IMAGE_UNLOADED" ref="a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8" args="" -->EVAS_CALLBACK_IMAGE_UNLOADED</em>&nbsp;</td><td>
+<p>Image data has been unloaded (by some mechanims in evas that throws out original image data). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529"></a><!-- doxytag: member="EVAS_CALLBACK_LAST" ref="a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529" args="" -->EVAS_CALLBACK_LAST</em>&nbsp;</td><td>
+<p>keep as last element/sentinel -- not really an event </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a89ffbc5f4d2796994c8b07ef95ef3d1a"></a><!-- doxytag: member="Evas.h::_Evas_Event_Flags" ref="a89ffbc5f4d2796994c8b07ef95ef3d1a" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">_Evas_Event_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Events. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf"></a><!-- doxytag: member="EVAS_EVENT_FLAG_NONE" ref="a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf" args="" -->EVAS_EVENT_FLAG_NONE</em>&nbsp;</td><td>
+<p>No fancy flags set. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83"></a><!-- doxytag: member="EVAS_EVENT_FLAG_ON_HOLD" ref="a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83" args="" -->EVAS_EVENT_FLAG_ON_HOLD</em>&nbsp;</td><td>
+<p>This event is being delivered but should be put "on hold" until the on hold flag is unset. </p>
+<p>the event should be used for informational purposes and maybe some indications visually, but not actually perform anything </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311"></a><!-- doxytag: member="EVAS_EVENT_FLAG_ON_SCROLL" ref="a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311" args="" -->EVAS_EVENT_FLAG_ON_SCROLL</em>&nbsp;</td><td>
+<p>This event flag indicates the event occurs while scrolling; for exameple, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a830349cff0c676505905e79e1db0f738"></a><!-- doxytag: member="Evas.h::_Evas_Fill_Spread" ref="a830349cff0c676505905e79e1db0f738" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738">_Evas_Fill_Spread</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760"></a><!-- doxytag: member="EVAS_TEXTURE_REFLECT" ref="a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760" args="" -->EVAS_TEXTURE_REFLECT</em>&nbsp;</td><td>
+<p>image fill tiling mode - tiling reflects </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2"></a><!-- doxytag: member="EVAS_TEXTURE_REPEAT" ref="a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2" args="" -->EVAS_TEXTURE_REPEAT</em>&nbsp;</td><td>
+<p>tiling repeats </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136"></a><!-- doxytag: member="EVAS_TEXTURE_RESTRICT" ref="a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136" args="" -->EVAS_TEXTURE_RESTRICT</em>&nbsp;</td><td>
+<p>tiling clamps - range offset ignored </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85"></a><!-- doxytag: member="EVAS_TEXTURE_RESTRICT_REFLECT" ref="a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85" args="" -->EVAS_TEXTURE_RESTRICT_REFLECT</em>&nbsp;</td><td>
+<p>tiling clamps and any range offset reflects </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43"></a><!-- doxytag: member="EVAS_TEXTURE_RESTRICT_REPEAT" ref="a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43" args="" -->EVAS_TEXTURE_RESTRICT_REPEAT</em>&nbsp;</td><td>
+<p>tiling clamps and any range offset repeats </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7"></a><!-- doxytag: member="EVAS_TEXTURE_PAD" ref="a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7" args="" -->EVAS_TEXTURE_PAD</em>&nbsp;</td><td>
+<p>tiling extends with end values </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5f"></a><!-- doxytag: member="Evas.h::_Evas_Load_Error" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5f" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5f">_Evas_Load_Error</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac"></a><!-- doxytag: member="EVAS_LOAD_ERROR_NONE" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac" args="" -->EVAS_LOAD_ERROR_NONE</em>&nbsp;</td><td>
+<p>No error on load. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d"></a><!-- doxytag: member="EVAS_LOAD_ERROR_GENERIC" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d" args="" -->EVAS_LOAD_ERROR_GENERIC</em>&nbsp;</td><td>
+<p>A non-specific error occurred. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529"></a><!-- doxytag: member="EVAS_LOAD_ERROR_DOES_NOT_EXIST" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529" args="" -->EVAS_LOAD_ERROR_DOES_NOT_EXIST</em>&nbsp;</td><td>
+<p>File (or file path) does not exist. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200"></a><!-- doxytag: member="EVAS_LOAD_ERROR_PERMISSION_DENIED" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200" args="" -->EVAS_LOAD_ERROR_PERMISSION_DENIED</em>&nbsp;</td><td>
+<p>Permission deinied to an existing file (or path). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4"></a><!-- doxytag: member="EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4" args="" -->EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED</em>&nbsp;</td><td>
+<p>Allocation of resources failure prevented load. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75"></a><!-- doxytag: member="EVAS_LOAD_ERROR_CORRUPT_FILE" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75" args="" -->EVAS_LOAD_ERROR_CORRUPT_FILE</em>&nbsp;</td><td>
+<p>File corrupt (but was detected as a known format). </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80"></a><!-- doxytag: member="EVAS_LOAD_ERROR_UNKNOWN_FORMAT" ref="ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80" args="" -->EVAS_LOAD_ERROR_UNKNOWN_FORMAT</em>&nbsp;</td><td>
+<p>File is not a known format. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a8f3b6286e8954884b903666f50e12b59"></a><!-- doxytag: member="Evas.h::_Evas_Pixel_Import_Pixel_Format" ref="a8f3b6286e8954884b903666f50e12b59" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">_Evas_Pixel_Import_Pixel_Format</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2"></a><!-- doxytag: member="EVAS_PIXEL_FORMAT_NONE" ref="a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2" args="" -->EVAS_PIXEL_FORMAT_NONE</em>&nbsp;</td><td>
+<p>No pixel format. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a"></a><!-- doxytag: member="EVAS_PIXEL_FORMAT_ARGB32" ref="a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a" args="" -->EVAS_PIXEL_FORMAT_ARGB32</em>&nbsp;</td><td>
+<p>ARGB 32bit pixel format with A in the high byte per 32bit pixel word. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8"></a><!-- doxytag: member="EVAS_PIXEL_FORMAT_YUV420P_601" ref="a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8" args="" -->EVAS_PIXEL_FORMAT_YUV420P_601</em>&nbsp;</td><td>
+<p>YUV 420 Planar format with CCIR 601 color encoding wuth contiguous planes in the order Y, U and V. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="aa8af6d3610b4e937e79e761c8c4c7819"></a><!-- doxytag: member="Evas.h::evas_key_lock_get" ref="aa8af6d3610b4e937e79e761c8c4c7819" args="(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#a791323b644ee831ead4c5d25552a0fd8">Evas_Lock</a>* evas_key_lock_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns a handle to the locks available in the system. </p>
+<p>This is required to check for locks with the evas_key_lock_is_set function.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd>evas_key_lock_add </dd>
+<dd>
+evas_key_lock_del </dd>
+<dd>
+evas_key_lock_on </dd>
+<dd>
+evas_key_lock_off</dd>
+<dd>
+evas_key_lock_is_set </dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An Evas_Lock handle to query the lock subsystem with evas_key_lock_is_set, or NULL on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a5c233a1e9eea970c1db0de87ff343e77"></a><!-- doxytag: member="Evas.h::evas_key_modifier_get" ref="a5c233a1e9eea970c1db0de87ff343e77" args="(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#a198d0b10861c1da456004688d3443e96">Evas_Modifier</a>* evas_key_modifier_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>TO BE DOCUMENTED: </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000007">Todo:</a></b></dt><dd>document key modifiers.</dd></dl>
+<p>TO BE DOCUMENTED:</p>
+<p>This is required to check for modifiers with the evas_key_modifier_is_set function.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd>evas_key_modifier_add </dd>
+<dd>
+evas_key_modifier_del </dd>
+<dd>
+evas_key_modifier_on </dd>
+<dd>
+evas_key_modifier_off </dd>
+<dd>
+evas_key_modifier_is_set</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An Evas_Modifier handle to query the modifier subsystem with evas_key_modifier_is_set, or NULL on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae7de42394f26fa1e5bfc315f7d114ac3"></a><!-- doxytag: member="Evas.h::evas_map_alpha_get" ref="ae7de42394f26fa1e5bfc315f7d114ac3" args="(const Evas_Map *m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_map_alpha_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>get the alpha flag for map rendering </p>
+<p>This gets the alph flag for map rendering.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to get the alpha from. Must not be NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae1cbf087e2182e01d07979975baa9065"></a><!-- doxytag: member="Evas.h::evas_map_alpha_set" ref="ae1cbf087e2182e01d07979975baa9065" args="(Evas_Map *m, Eina_Bool enabled)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_alpha_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>enabled</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the alpha flag for map rendering. </p>
+<p>This sets alpha flag for map rendering. If the object is a type that has its own alpha settings, then this will take precedence. Only image objects have this currently. Fits stops alpha blending of the map area, and is useful if you know the object and/or all sub-objects is 100% solid.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to modify. Must not be NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>enabled</em>&nbsp;</td><td>enable or disable alpha map rendering </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="acb6da0be6c78ebf89a5b25d9a0fa44fa"></a><!-- doxytag: member="Evas.h::evas_map_count_get" ref="acb6da0be6c78ebf89a5b25d9a0fa44fa" args="(const Evas_Map *m) EINA_CONST" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_map_count_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get a maps size. </p>
+<p>Returns the number of points in a map. Should be at least 4.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to get size. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>-1 on error, points otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a25ffe0dd36fed0c9c492d636b163390a"></a><!-- doxytag: member="Evas.h::evas_map_dup" ref="a25ffe0dd36fed0c9c492d636b163390a" args="(const Evas_Map *m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a>* evas_map_dup </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Copy a previously allocated map. </p>
+<p>This makes a duplicate of the <code>m</code> object and returns it.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to copy. Must not be NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>newly allocated map with the same count and contents as <code>m</code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a78ecdf799f326e1c17aae6770c06058a"></a><!-- doxytag: member="Evas.h::evas_map_free" ref="a78ecdf799f326e1c17aae6770c06058a" args="(Evas_Map *m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Free a previously allocated map. </p>
+<p>This frees a givem map <code>m</code> and all memory associated with it. You must NOT free a map returned by <a class="el" href="Evas_8h.html#aa1d3f8febc923e8225f727afc08d21f2" title="Get current object transformation map.">evas_object_map_get()</a> as this is internal.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to free. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a719acc4f4792236f7031664ec450b399"></a><!-- doxytag: member="Evas.h::evas_map_new" ref="a719acc4f4792236f7031664ec450b399" args="(int count)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a>* evas_map_new </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>count</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create map of transformation points to be later used with an evas object. </p>
+<p>This creates a set of points (currently only 4 is supported. no other number for <code>count</code> will work). That is empty and ready to be modified with evas_map calls.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>number of points in the map. * </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a newly allocated map or NULL on errors.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#a78ecdf799f326e1c17aae6770c06058a" title="Free a previously allocated map.">evas_map_free()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a25ffe0dd36fed0c9c492d636b163390a" title="Copy a previously allocated map.">evas_map_dup()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object_full()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object()</a></dd>
+<dd>
+<a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a40ae28dc015c5dad8a09ce5c6d764422"></a><!-- doxytag: member="Evas.h::evas_map_point_color_get" ref="a40ae28dc015c5dad8a09ce5c6d764422" args="(const Evas_Map *m, int idx, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the color set on a vertex in the map. </p>
+<p>This gets the color set by <a class="el" href="Evas_8h.html#ae569741d778974e2825dc05cc3e68f9f" title="Set the color of a vertex in the map.">evas_map_point_color_set()</a> on the given vertex of the map.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to get the color of the vertex from. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point get. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>pointer to red return </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>pointer to green return </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>pointer to blue return </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>pointer to alpha return (0 - 255)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ae569741d778974e2825dc05cc3e68f9f"></a><!-- doxytag: member="Evas.h::evas_map_point_color_set" ref="ae569741d778974e2825dc05cc3e68f9f" args="(Evas_Map *m, int idx, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the color of a vertex in the map. </p>
+<p>This sets the color of the vertex in the map. Colors will be linearly interpolated between vertex points through the map. Color will multiply the "texture" pixels (like GL_MODULATE in OpenGL). The default color of a vertex in a map is white solid (255, 255, 255, 255) which means it will have no affect on modifying the texture pixels.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change the color of. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point to change. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>red (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>green (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>blue (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>alpha (0 - 255)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#a1ea4919339773a113dece07f1335d6ac" title="Set color of all points to given color.">evas_map_util_points_color_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab8640a9b915b7c6f33f96782bb23e939"></a><!-- doxytag: member="Evas.h::evas_map_point_coord_get" ref="ab8640a9b915b7c6f33f96782bb23e939" args="(const Evas_Map *m, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_coord_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the map point's coordinate. </p>
+<p>This returns the coordinates of the given point in the map.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to query point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point to query. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>where to return the X coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>where to return the Y coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>where to return the Z coordinate. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="acc9bdfa50e0344928f070aef0cf7a8b7"></a><!-- doxytag: member="Evas.h::evas_map_point_coord_set" ref="acc9bdfa50e0344928f070aef0cf7a8b7" args="(Evas_Map *m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_coord_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Change the map point's coordinate. </p>
+<p>This sets the fixen point's coordinate in the map. Note that points describe the outline of a quadrangle and are ordered either clockwise or anit-clock-wise. It is suggested to keep your quadrangles concave and non-complex, though these polygon modes may work, they may not render a desired set of output. The quadrangle will use points 0 and 1 , 1 and 2, 2 and 3, and 3 and 0 to describe the edges of the quandrangle.</p>
+<p>The X and Y and Z coordinates are in canvas units. Z is optional and may or may not be honored in drawing. Z is a hint and does not affect the X and Y rendered coordinates. It may be used for calculating fills with perspective correct rendering.</p>
+<p>Remember all coordinates are canvas global ones like with move and reize in evas.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change point. Must not be <code>NULL</code>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point to change. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Point X Coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Point Y Coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>Point Z Coordinate hint (pre-perspective transform)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a986dd1010c757910b4520527f229d3b5" title="Change the map to apply the given zooming.">evas_map_util_zoom()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object_full()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ab993d154039532e6105d2c1ea23133fc"></a><!-- doxytag: member="Evas.h::evas_map_point_image_uv_get" ref="ab993d154039532e6105d2c1ea23133fc" args="(const Evas_Map *m, int idx, double *u, double *v)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_image_uv_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>u</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the map point's U and V texture source points. </p>
+<p>This returns the texture points set by <a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to query point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point to query. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>u</em>&nbsp;</td><td>where to write the X coordinate within the image/texture source </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>where to write the Y coordinate within the image/texture source </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a1ce926660d27e788b469f8a202dfb84a"></a><!-- doxytag: member="Evas.h::evas_map_point_image_uv_set" ref="a1ce926660d27e788b469f8a202dfb84a" args="(Evas_Map *m, int idx, double u, double v)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_point_image_uv_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>idx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>u</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Change the map point's U and V texture source point. </p>
+<p>This sets the U and V coordinates for the point. This determines which coordinate in the source image is mapped to the given point, much like OpenGL and textures. Notes that these points do select the pixel, but are double floating point values to allow for accuracy and sub-pixel selection.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change the point of. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>idx</em>&nbsp;</td><td>index of point to change. Must be smaller than map size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>u</em>&nbsp;</td><td>the X coordinate within the image/texture source </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>the Y coordinate within the image/texture source</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object_full()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac7693cff90eddde9f1cd5fd99d6df695"></a><!-- doxytag: member="Evas.h::evas_map_smooth_get" ref="ac7693cff90eddde9f1cd5fd99d6df695" args="(const Evas_Map *m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_map_smooth_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>get the smoothing for map rendering </p>
+<p>This gets smoothing for map rendering.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to get the smooth from. Must not be NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ae851a2ebf0c272cf0bcb97168b625d23"></a><!-- doxytag: member="Evas.h::evas_map_smooth_set" ref="ae851a2ebf0c272cf0bcb97168b625d23" args="(Evas_Map *m, Eina_Bool enabled)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_smooth_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>enabled</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the smoothing for map rendering. </p>
+<p>This sets smoothing for map rendering. If the object is a type that has its own smoothing settings, then both the smooth settings for this object and the map must be turned off. By default smooth maps are enabled.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to modify. Must not be NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>enabled</em>&nbsp;</td><td>enable or disable smooth map rendering </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a4dd3a3cf9091afaa87bc042b12a5685d"></a><!-- doxytag: member="Evas.h::evas_map_util_3d_lighting" ref="a4dd3a3cf9091afaa87bc042b12a5685d" args="(Evas_Map *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_3d_lighting </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>lx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>ly</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>lz</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>lr</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>lg</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>lb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ar</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ag</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>ab</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Perform lighting calculations on the given Map. </p>
+<p>This is used to apply lighting calculations (from a single light source) to a given map. The R, G and B values of each vertex will be modified to reflect the lighting based on the lixth point coordinates, the light color and the ambient color, and at what angle the map is facing the light source. A surface should have its points be declared in a clockwise fashion if the face is "facing" towards you (as opposed to away from you) as faces have a "logical" side for lighting.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lx</em>&nbsp;</td><td>X coordinate in space of light point </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ly</em>&nbsp;</td><td>Y coordinate in space of light point </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lz</em>&nbsp;</td><td>Z coordinate in space of light point </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lr</em>&nbsp;</td><td>light red value (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lg</em>&nbsp;</td><td>light green value (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>lb</em>&nbsp;</td><td>light blue value (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ar</em>&nbsp;</td><td>ambient color red value (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ag</em>&nbsp;</td><td>ambient color green value (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ab</em>&nbsp;</td><td>ambient color blue value (0 - 255) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a14c467420d169d666865cdb31746728d"></a><!-- doxytag: member="Evas.h::evas_map_util_3d_perspective" ref="a14c467420d169d666865cdb31746728d" args="(Evas_Map *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_3d_perspective </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>px</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>py</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>z0</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>foc</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Apply a perspective transform to the map. </p>
+<p>This applies a given perspective (3D) to the map coordinates. X, Y and Z values are used. The px and py points specify the "infinite distance" point in the 3D conversion (where all lines converge to like when artists draw 3D by hand). The <code>z0</code> value specifis the z value at which there is a 1:1 mapping between spatial coorinates and screen coordinates. Any points on this z value will not have their X and Y values modified in the transform. Those further away (Z value higher) will shrink into the distance, and those less than this value will expand and become bigger. The <code>foc</code> value determines the "focal length" of the camera. This is in reality the distance between the camera lens plane itself (at or closer than this rendering results are undefined) and the "z0" z value. This allows for some "depth" control and <code>foc</code> must be greater than 0.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>px</em>&nbsp;</td><td>The pespective distance X coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>py</em>&nbsp;</td><td>The pespective distance Y coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z0</em>&nbsp;</td><td>The "0" z plane value </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>foc</em>&nbsp;</td><td>The focal distance </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a4118dedc011bd94a35d03251c7bef5ed"></a><!-- doxytag: member="Evas.h::evas_map_util_3d_rotate" ref="a4118dedc011bd94a35d03251c7bef5ed" args="(Evas_Map *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_3d_rotate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>dx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>dy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>dz</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cz</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Rotate the map around 3 axes in 3D. </p>
+<p>This will rotate not just around the "Z" axis as in <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a> (which is a convenience call for those only wanting 2D). This will rotate around the X, Y and Z axes. The Z axis points "into" the screen with low values at the screen and higher values further away. The X axis runs from left to right on the screen and the Y axis from top to bottom. Like with evas_map_util_rotate(0 you provide a center point to rotate around (in 3D).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dx</em>&nbsp;</td><td>amount of degrees from 0.0 to 360.0 to rotate arount X axis. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dy</em>&nbsp;</td><td>amount of degrees from 0.0 to 360.0 to rotate arount Y axis. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dz</em>&nbsp;</td><td>amount of degrees from 0.0 to 360.0 to rotate arount Z axis. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>rotation's center horizontal position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>rotation's center vertical position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cz</em>&nbsp;</td><td>rotation's center vertical position. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="a4e7cd972cac5507838c9827ef04b2607"></a><!-- doxytag: member="Evas.h::evas_map_util_clockwise_get" ref="a4e7cd972cac5507838c9827ef04b2607" args="(Evas_Map *m)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_map_util_clockwise_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the clockwise state of a map. </p>
+<p>This determines if the output points (X and Y. Z is not used) are clockwise or anti-clockwise. This can be used for "back-face culling". This is where you hide objects that "face away" from you. In this case objects that are not clockwise.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to query. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 if clockwise, 0 otherwise </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a1ea4919339773a113dece07f1335d6ac"></a><!-- doxytag: member="Evas.h::evas_map_util_points_color_set" ref="a1ea4919339773a113dece07f1335d6ac" args="(Evas_Map *m, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_points_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set color of all points to given color. </p>
+<p>This call is useful to reuse maps after they had 3d lightning or any other colorization applied before.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change the color of. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>red (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>green (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>blue (0 - 255) </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>alpha (0 - 255)</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#ae569741d778974e2825dc05cc3e68f9f" title="Set the color of a vertex in the map.">evas_map_point_color_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="adb28b64c445931d92eeeab2c3fb52286"></a><!-- doxytag: member="Evas.h::evas_map_util_points_populate_from_geometry" ref="adb28b64c445931d92eeeab2c3fb52286" args="(Evas_Map *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_points_populate_from_geometry </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Populate source and destination map points to match given geometry. </p>
+<p>Similar to <a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object_full()</a>, this call takes raw values instead of querying object's unmapped geometry. The given width will be used to calculate destination points (<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a>) and set the image uv (<a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a>).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change all 4 points (must be of size 4). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Point X Coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Point Y Coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>width to use to calculate second and third points. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>height to use to calculate third and fourth points. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>Point Z Coordinate hint (pre-perspective transform). This value will be used for all four points.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ac2d35f2242ce06afe5b9aff79ed33487"></a><!-- doxytag: member="Evas.h::evas_map_util_points_populate_from_object" ref="ac2d35f2242ce06afe5b9aff79ed33487" args="(Evas_Map *m, const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_points_populate_from_object </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Populate source and destination map points to match exactly object. </p>
+<p>Usually one initialize map of an object to match it's original position and size, then transform these with evas_map_util_* functions, such as <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a> or <a class="el" href="Evas_8h.html#a4118dedc011bd94a35d03251c7bef5ed" title="Rotate the map around 3 axes in 3D.">evas_map_util_3d_rotate()</a>. The original set is done by this function, avoiding code duplication all around.</p>
+<p>Z Point coordinate is assumed as 0 (zero).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change all 4 points (must be of size 4). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to use unmapped geometry to populate map coordinates.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object_full()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#adb28b64c445931d92eeeab2c3fb52286" title="Populate source and destination map points to match given geometry.">evas_map_util_points_populate_from_geometry()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="af71ab80fefb757aea040eaae33fd06e6"></a><!-- doxytag: member="Evas.h::evas_map_util_points_populate_from_object_full" ref="af71ab80fefb757aea040eaae33fd06e6" args="(Evas_Map *m, const Evas_Object *obj, Evas_Coord z)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_points_populate_from_object_full </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>z</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Populate source and destination map points to match exactly object. </p>
+<p>Usually one initialize map of an object to match it's original position and size, then transform these with evas_map_util_* functions, such as <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a> or <a class="el" href="Evas_8h.html#a4118dedc011bd94a35d03251c7bef5ed" title="Rotate the map around 3 axes in 3D.">evas_map_util_3d_rotate()</a>. The original set is done by this function, avoiding code duplication all around.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change all 4 points (must be of size 4). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to use unmapped geometry to populate map coordinates. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>Point Z Coordinate hint (pre-perspective transform). This value will be used for all four points.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487" title="Populate source and destination map points to match exactly object.">evas_map_util_points_populate_from_object()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a" title="Change the map point&#39;s U and V texture source point.">evas_map_point_image_uv_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ad5bceb379d28374c62579b1969ce5080"></a><!-- doxytag: member="Evas.h::evas_map_util_rotate" ref="ad5bceb379d28374c62579b1969ce5080" args="(Evas_Map *m, double degrees, Evas_Coord cx, Evas_Coord cy)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_rotate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>degrees</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cy</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Change the map to apply the given rotation. </p>
+<p>This rotates the indicated map's coordinates around the center coordinate given by <code>cx</code> and <code>cy</code> as the rotation center. The points will have their X and Y coordinates rotated clockwise by <code>degrees</code> degress (360.0 is a full rotation). Negative values for degrees will rotate counter-clockwise by that amount. All coordinates are canvas global coordinates.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>degrees</em>&nbsp;</td><td>amount of degrees from 0.0 to 360.0 to rotate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>rotation's center horizontal position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>rotation's center vertical position.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a986dd1010c757910b4520527f229d3b5" title="Change the map to apply the given zooming.">evas_map_util_zoom()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a986dd1010c757910b4520527f229d3b5"></a><!-- doxytag: member="Evas.h::evas_map_util_zoom" ref="a986dd1010c757910b4520527f229d3b5" args="(Evas_Map *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_map_util_zoom </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>m</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>zoomx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>zoomy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>cy</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Change the map to apply the given zooming. </p>
+<p>Like <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a>, this zooms the points of the map from a center point. That center is defined by <code>cx</code> and <code>cy</code>. The <code>zoomx</code> and <code>zoomy</code> parameters specific how much to zoom in the X and Y direction respectively. A value of 1.0 means "don't zoom". 2.0 means "dobule the size". 0.5 is "half the size" etc. All coordinates are canvas global coordinates.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>m</em>&nbsp;</td><td>map to change. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>zoomx</em>&nbsp;</td><td>horizontal zoom to use. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>zoomy</em>&nbsp;</td><td>vertical zoom to use. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>zooming center horizontal position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>zooming center vertical position.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7" title="Change the map point&#39;s coordinate.">evas_map_point_coord_set()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080" title="Change the map to apply the given rotation.">evas_map_util_rotate()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a9fe49ea6c0508408d3f0c4bc6b790084"></a><!-- doxytag: member="Evas.h::evas_object_map_enable_get" ref="a9fe49ea6c0508408d3f0c4bc6b790084" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_map_enable_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the map enabled state. </p>
+<p>This returns the currently enabled state of the map on the object indicated. The default map enable state is off. You can enable and disable it with <a class="el" href="Evas_8h.html#acee7a5f7bbb804b406405e9199d5a900" title="Enable or disable the map that is set.">evas_object_map_enable_set()</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to get the map enabled state from </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the map enabled state </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="acee7a5f7bbb804b406405e9199d5a900"></a><!-- doxytag: member="Evas.h::evas_object_map_enable_set" ref="acee7a5f7bbb804b406405e9199d5a900" args="(Evas_Object *obj, Eina_Bool enabled)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_map_enable_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>enabled</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Enable or disable the map that is set. </p>
+<p>This enables the map that is set or disables it. On enable, the object geometry will be saved, and the new geometry will change (position and size) to reflect the map geometry set. If none is set yet, this may be an undefined geometry, unless you have already set the map with <a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a>. It is suggested you first set a map with <a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> with valid useful coordinates then enable and disable the map with <a class="el" href="Evas_8h.html#acee7a5f7bbb804b406405e9199d5a900" title="Enable or disable the map that is set.">evas_object_map_enable_set()</a> as needed.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to enable the map on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>enabled</em>&nbsp;</td><td>enabled state </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="aa1d3f8febc923e8225f727afc08d21f2"></a><!-- doxytag: member="Evas.h::evas_object_map_get" ref="aa1d3f8febc923e8225f727afc08d21f2" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a>* evas_object_map_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get current object transformation map. </p>
+<p>This returns the current internal map set on the indicated object. It is intended for read-only acces and is only valid as long as the object is not deleted or the map on the object is not changed. If you wish to modify the map and set it back do the following:</p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">const</span> <a class="code" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc" title="An opaque handle to map points.">Evas_Map</a> *m = evas_object_map_get(obj);
+ <a class="code" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc" title="An opaque handle to map points.">Evas_Map</a> *m2 = evas_map_dup(m);
+ evas_map_util_rotate(m2, 30.0, 0, 0);
+ evas_object_map_set(obj);
+ evas_map_free(m2);
+</pre></div><dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to query transformation map. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>map reference to map in use. This is an internal data structure, so do not modify it.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca" title="Set current object transformation map.">evas_object_map_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="a4c06097f01adc414be05470a3528adca"></a><!-- doxytag: member="Evas.h::evas_object_map_set" ref="a4c06097f01adc414be05470a3528adca" args="(Evas_Object *obj, const Evas_Map *map)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_map_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a> *&nbsp;</td>
+          <td class="paramname"> <em>map</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set current object transformation map. </p>
+<p>This sets the map on a given object. It is copied from the <code>map</code> pointer, so there is no need to keep the <code>map</code> object if you don't need it anymore.</p>
+<p>A map is a set of 4 points which have canvas x, y coordinates per point, with an optional z point value as a hint for perspective correction, if it is available. As well each point has u and v coordinates. These are like "texture coordinates" in OpenGL in that they define a point in the source image that is mapped to that map vertex/point. The u corresponds to the x coordinate of this mapped point and v, the y coordinate. Note that these coordinates describe a bounding region to sample. If you have a 200x100 source image and want to display it at 200x100 with proper pixel precision, then do:</p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc" title="An opaque handle to map points.">Evas_Map</a> *m = evas_map_new(4);
+ evas_map_point_coord_set(m, 0,   0,   0, 0);
+ evas_map_point_coord_set(m, 1, 200,   0, 0);
+ evas_map_point_coord_set(m, 2, 200, 100, 0);
+ evas_map_point_coord_set(m, 3,   0, 100, 0);
+ evas_map_point_image_uv_set(m, 0,   0,   0);
+ evas_map_point_image_uv_set(m, 1, 200,   0);
+ evas_map_point_image_uv_set(m, 2, 200, 100);
+ evas_map_point_image_uv_set(m, 3,   0, 100);
+ evas_object_map_set(obj, m);
+ evas_map_free(m);
+</pre></div><p>Note that the map points a uv coordinates match the image geometry. If the <code>map</code> parameter is NULL, the stored map will be freed and geometry prior to enabling/setting a map will be restored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to change transformation map </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>map</em>&nbsp;</td><td>new map to use</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#a719acc4f4792236f7031664ec450b399" title="Create map of transformation points to be later used with an evas object.">evas_map_new()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="abb0578635393c514b1c228ebb7b2eed0"></a><!-- doxytag: member="Evas.h::evas_object_map_source_get" ref="abb0578635393c514b1c228ebb7b2eed0" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_map_source_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the map source object. </p>
+<p>See <a class="el" href="Evas_8h.html#aa0daae782c23c5624ab0fc3e4f63c8f9" title="Set the map source object.">evas_object_map_source_set()</a></p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to set the map source of </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the object set as the source </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="aa0daae782c23c5624ab0fc3e4f63c8f9"></a><!-- doxytag: member="Evas.h::evas_object_map_source_set" ref="aa0daae782c23c5624ab0fc3e4f63c8f9" args="(Evas_Object *obj, Evas_Object *src)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_map_source_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the map source object. </p>
+<p>This sets the object from which the map is taken - can be any object that has map enabled on it.</p>
+<p>Currently not implemented. for future use.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>object to set the map source of </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>the source object from which the map is taken </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="afa903e37a9f98f80f1d73996cf5354cc"></a><!-- doxytag: member="Evas.h::evas_object_smart_members_get" ref="afa903e37a9f98f80f1d73996cf5354cc" args="(const Evas_Object *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_object_smart_members_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the list of the member objects of an Evas_Object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the Evas_Object you want to get the list of member objects </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the list of the member objects of <em>obj</em>. The returned list should be freed with eina_list_free() when you no longer need it </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/annotated.html b/doc/html/annotated.html
new file mode 100644 (file)
index 0000000..1b5db37
--- /dev/null
@@ -0,0 +1,116 @@
+<html>
+<head>
+    <title>Evas: Data Structures</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Data Structures</h1>  </div>
+</div>
+<div class="contents">
+Here are the data structures with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Coord__Rectangle.html">_Evas_Coord_Rectangle</a></td><td class="indexvalue">&lt; A rectangle in Evas_Coord </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Cserve__Config.html">_Evas_Cserve_Config</a></td><td class="indexvalue">Configuration that controls the server that shares cached bitmaps </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Cserve__Image.html">_Evas_Cserve_Image</a></td><td class="indexvalue">An image shared by the server </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Cserve__Image__Cache.html">_Evas_Cserve_Image_Cache</a></td><td class="indexvalue">Cache of images shared by server </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Cserve__Stats.html">_Evas_Cserve_Stats</a></td><td class="indexvalue">Statistics about server that shares cached bitmaps </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Engine__Info.html">_Evas_Engine_Info</a></td><td class="indexvalue">Generic engine information </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Hold.html">_Evas_Event_Hold</a></td><td class="indexvalue">Hold change event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Key__Down.html">_Evas_Event_Key_Down</a></td><td class="indexvalue">Key press event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Key__Up.html">_Evas_Event_Key_Up</a></td><td class="indexvalue">Key release event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__Down.html">_Evas_Event_Mouse_Down</a></td><td class="indexvalue">Mouse button press event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__In.html">_Evas_Event_Mouse_In</a></td><td class="indexvalue">Mouse enter event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__Move.html">_Evas_Event_Mouse_Move</a></td><td class="indexvalue">Mouse button down event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__Out.html">_Evas_Event_Mouse_Out</a></td><td class="indexvalue">Mouse leave event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__Up.html">_Evas_Event_Mouse_Up</a></td><td class="indexvalue">Mouse button release event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Mouse__Wheel.html">_Evas_Event_Mouse_Wheel</a></td><td class="indexvalue">Wheel event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Multi__Down.html">_Evas_Event_Multi_Down</a></td><td class="indexvalue">Multi button press event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Multi__Move.html">_Evas_Event_Multi_Move</a></td><td class="indexvalue">Multi button down event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Event__Multi__Up.html">_Evas_Event_Multi_Up</a></td><td class="indexvalue">Multi button release event </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a></td><td class="indexvalue">This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a> </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a></td><td class="indexvalue">This structure augments clipped smart object's instance data, providing extra members required by generic box implementation </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a></td><td class="indexvalue">Describes a callback used by a smart class <a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e" title="Call any smart callbacks on obj for event.">evas_object_smart_callback_call()</a>, particularly useful to explain to user and its code (ie: introspection) what the parameter <code>event_info</code> will contain </td></tr>
+  <tr><td class="indexkey"><a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a></td><td class="indexvalue">Smart object class </td></tr>
+</table>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/bc_s.png b/doc/html/bc_s.png
new file mode 100644 (file)
index 0000000..e401862
Binary files /dev/null and b/doc/html/bc_s.png differ
diff --git a/doc/html/classes.html b/doc/html/classes.html
new file mode 100644 (file)
index 0000000..94652ed
--- /dev/null
@@ -0,0 +1,99 @@
+<html>
+<head>
+    <title>Evas: Alphabetical List</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Data Structure Index</h1>  </div>
+</div>
+<div class="contents">
+<div class="qindex"><a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a></div>
+<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
+<tr><td><a name="letter_C"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;C&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="struct__Evas__Event__Mouse__Move.html">_Evas_Event_Mouse_Move</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Coord__Rectangle.html">_Evas_Coord_Rectangle</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Event__Mouse__Out.html">_Evas_Event_Mouse_Out</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Cserve__Config.html">_Evas_Cserve_Config</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Event__Mouse__Up.html">_Evas_Event_Mouse_Up</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Cserve__Image.html">_Evas_Cserve_Image</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Event__Mouse__Wheel.html">_Evas_Event_Mouse_Wheel</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Cserve__Image__Cache.html">_Evas_Cserve_Image_Cache</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Event__Multi__Down.html">_Evas_Event_Multi_Down</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Cserve__Stats.html">_Evas_Cserve_Stats</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Event__Multi__Move.html">_Evas_Event_Multi_Move</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a name="letter_E"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;E&nbsp;&nbsp;</div></td></tr></table>
+</td><td><a class="el" href="struct__Evas__Event__Multi__Up.html">_Evas_Event_Multi_Up</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Engine__Info.html">_Evas_Engine_Info</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_O"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;O&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="struct__Evas__Event__Hold.html">_Evas_Event_Hold</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Event__Key__Down.html">_Evas_Event_Key_Down</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Event__Key__Up.html">_Evas_Event_Key_Up</a>&nbsp;&nbsp;&nbsp;</td><td><a name="letter_S"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;S&nbsp;&nbsp;</div></td></tr></table>
+</td></tr><tr><td><a class="el" href="struct__Evas__Event__Mouse__Down.html">_Evas_Event_Mouse_Down</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a>&nbsp;&nbsp;&nbsp;</td></tr><tr><td><a class="el" href="struct__Evas__Event__Mouse__In.html">_Evas_Event_Mouse_In</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a>&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_C">C</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_E">E</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_O">O</a>&nbsp;|&nbsp;<a class="qindex" href="#letter_S">S</a></div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/closed.png b/doc/html/closed.png
new file mode 100644 (file)
index 0000000..b7d4bd9
Binary files /dev/null and b/doc/html/closed.png differ
diff --git a/doc/html/doxygen.png b/doc/html/doxygen.png
new file mode 100644 (file)
index 0000000..635ed52
Binary files /dev/null and b/doc/html/doxygen.png differ
diff --git a/doc/html/e.css b/doc/html/e.css
new file mode 100644 (file)
index 0000000..12b1ae5
--- /dev/null
@@ -0,0 +1,442 @@
+/*
+    Author:
+        Andres Blanc <andresblanc@gmail.com>
+       DaveMDS Andreoli <dave@gurumeditation.it>
+
+    Supported Browsers:
+        ie7, opera9, konqueror4 and firefox3
+
+        Please use a different file for ie6, ie5, etc. hacks.
+*/
+
+
+/* Necessary to place the footer at the bottom of the page */
+html, body {
+       height: 100%;
+       margin: 0px;
+       padding: 0px;
+}
+
+#container {
+       min-height: 100%;
+       height: auto !important;
+       height: 100%;
+       margin: 0 auto -53px;
+}
+
+#footer, #push {
+       height: 53px;
+}
+
+
+* html #container {
+       height: 100%;
+}
+
+/* Prevent floating elements overflowing containers */
+.clear {
+       clear: both;
+       width: 0px;
+       height: 0px;
+}
+
+/* Flexible & centered layout from 750 to 960 pixels */
+.layout {
+       max-width: 960px;
+       min-width: 760px;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+body {
+       /*font-family: Lucida Grande, Helvetica, sans-serif;*/
+       font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif
+}
+
+/* Prevent design overflowing the viewport in small resolutions */
+#container {
+       padding-right: 17px;
+       padding-left: 17px;
+       background-image: url(head_bg.png);
+       background-repeat: repeat-x;
+}
+
+#header {
+       width: 100%;
+       height: 102px;
+}
+
+#header h1 {
+       width: 63px;
+       height: 63px;
+       background-image: url(e.png);
+       background-repeat: no-repeat;
+       position: absolute;
+       margin: 0px;
+}
+
+#header h1 span {
+       display: none;
+}
+
+#header h2 {
+       display: none;
+}
+
+/* .menu-container is used to set properties common to .menu and .submenu */
+#header .menu-container {
+}
+
+#header .menu-container ul {
+       list-style-type: none;
+       list-style-position: inside;
+       margin: 0;
+}
+
+#header .menu-container li {
+       display: block;
+       float: right;
+}
+
+#header .menu {
+       height: 63px;
+       display: block;
+       background-image: url(menu_bg.png);
+       background-repeat: repeat-x;
+}
+
+#header .menu ul {
+       height: 100%;
+       display: block;
+       background-image: url(menu_bg_last.png);
+       background-repeat: no-repeat;
+       background-position: top right;
+       padding-right: 17px;
+}
+
+#header .menu li {
+       height: 100%;
+       text-align: center;
+       background-image: url(menu_bg_unsel.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu a {
+       height: 100%;
+       display: block;
+       color: #cdcdcd;
+       text-decoration: none;
+       font-size: 10pt;
+       line-height: 59px;
+       text-align: center;
+       padding: 0px 15px 0px 15px;
+}
+
+#header .menu li:hover {
+       background-image: url(menu_bg_hover.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu li:hover a {
+       color: #FFFFFF;
+}
+
+#header .menu li.current {
+       background-image: url(menu_bg_current.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu li.current a {
+       color: #646464;
+}
+
+
+/* Hide all the submenus but the current */
+#header .submenu ul {
+       display: none;
+}
+
+#header .submenu .current {
+       display: block;
+}
+
+#header .submenu {
+       font: bold 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif;
+       margin-top: 10px;
+}
+
+#header .submenu a {
+       color: #888888;
+       text-decoration: none;
+       font-size: 0.9em;
+       line-height: 15px;
+       padding:0px 5px 0px 5px;
+}
+
+#header .submenu a:hover {
+       color: #444444;
+}
+
+#header .submenu li {
+       border-left: 1px solid #DDDDDD;
+}
+
+#header .submenu li:last-child {
+       border-left: 0;
+}
+
+#header .doxytitle {
+       position: absolute;
+       font-size: 1.8em;
+       font-weight: bold;
+       color: #444444;
+       line-height: 35px;
+}
+
+#header small {
+       font-size: 0.4em;
+}
+
+#footer {
+       background-image: url(foot_bg.png);
+       width: 100%;
+}
+
+#footer table {
+       width: 100%;
+       text-align: center;
+       white-space: nowrap;
+       padding: 5px 30px 5px 30px;
+       font-size: 0.8em;
+       font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif;
+       color: #888888;
+}
+
+#footer td.copyright {
+       width: 100%;
+}
+
+/*
+    Author:
+        Andres Blanc <andresblanc@gmail.com>
+       DaveMDS Andreoli <dave@gurumeditation.it>
+
+    Supported Browsers:
+        ie7, opera9, konqueror4 and firefox3
+
+        Please use a different file for ie6, ie5, etc. hacks.
+*/
+
+
+/* Necessary to place the footer at the bottom of the page */
+html, body {
+       height: 100%;
+       margin: 0px;
+       padding: 0px;
+}
+
+#container {
+       min-height: 100%;
+       height: auto !important;
+       height: 100%;
+       margin: 0 auto -53px;
+}
+
+#footer, #push {
+       height: 53px;
+}
+
+
+* html #container {
+       height: 100%;
+}
+
+/* Prevent floating elements overflowing containers */
+.clear {
+       clear: both;
+       width: 0px;
+       height: 0px;
+}
+
+/* Flexible & centered layout from 750 to 960 pixels */
+.layout {
+       max-width: 960px;
+       min-width: 760px;
+       margin-left: auto;
+       margin-right: auto;
+}
+
+body {
+       /*font-family: Lucida Grande, Helvetica, sans-serif;*/
+       font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif
+}
+
+/* Prevent design overflowing the viewport in small resolutions */
+#container {
+       padding-right: 17px;
+       padding-left: 17px;
+       background-image: url(head_bg.png);
+       background-repeat: repeat-x;
+}
+
+#header {
+       width: 100%;
+       height: 102px;
+}
+
+#header h1 {
+       width: 63px;
+       height: 63px;
+       background-image: url(e.png);
+       background-repeat: no-repeat;
+       position: absolute;
+       margin: 0px;
+}
+
+#header h1 span {
+       display: none;
+}
+
+#header h2 {
+       display: none;
+}
+
+/* .menu-container is used to set properties common to .menu and .submenu */
+#header .menu-container {
+}
+
+#header .menu-container ul {
+       list-style-type: none;
+       list-style-position: inside;
+       margin: 0;
+}
+
+#header .menu-container li {
+       display: block;
+       float: right;
+}
+
+#header .menu {
+       height: 63px;
+       display: block;
+       background-image: url(menu_bg.png);
+       background-repeat: repeat-x;
+}
+
+#header .menu ul {
+       height: 100%;
+       display: block;
+       background-image: url(menu_bg_last.png);
+       background-repeat: no-repeat;
+       background-position: top right;
+       padding-right: 17px;
+}
+
+#header .menu li {
+       height: 100%;
+       text-align: center;
+       background-image: url(menu_bg_unsel.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu a {
+       height: 100%;
+       display: block;
+       color: #cdcdcd;
+       text-decoration: none;
+       font-size: 10pt;
+       line-height: 59px;
+       text-align: center;
+       padding: 0px 15px 0px 15px;
+}
+
+#header .menu li:hover {
+       background-image: url(menu_bg_hover.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu li:hover a {
+       color: #FFFFFF;
+}
+
+#header .menu li.current {
+       background-image: url(menu_bg_current.png);
+       background-repeat: no-repeat;
+}
+
+#header .menu li.current a {
+       color: #646464;
+}
+
+
+/* Hide all the submenus but the current */
+#header .submenu ul {
+       display: none;
+}
+
+#header .submenu .current {
+       display: block;
+}
+
+#header .submenu {
+       font: bold 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif;
+       margin-top: 10px;
+}
+
+#header .submenu a {
+       color: #888888;
+       text-decoration: none;
+       font-size: 0.9em;
+       line-height: 15px;
+       padding:0px 5px 0px 5px;
+}
+
+#header .submenu a:hover {
+       color: #444444;
+}
+
+#header .submenu li {
+       border-left: 1px solid #DDDDDD;
+}
+
+#header .submenu li:last-child {
+       border-left: 0;
+}
+
+#header .doxytitle {
+       position: absolute;
+       font-size: 1.8em;
+       font-weight: bold;
+       color: #444444;
+       line-height: 35px;
+}
+
+#header small {
+       font-size: 0.4em;
+}
+
+#footer {
+       background-image: url(foot_bg.png);
+       width: 100%;
+}
+
+#footer table {
+       width: 100%;
+       text-align: center;
+       white-space: nowrap;
+       padding: 5px 30px 5px 30px;
+       font-size: 0.8em;
+       font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif;
+       color: #888888;
+}
+
+#footer td.copyright {
+       width: 100%;
+}
+
+pre.fragment {
+        font-family: monospace;
+        background-color: #e9e9e9;
+        border: 1px solid #d9d9d9;
+        padding: 10px;
+}
diff --git a/doc/html/e.png b/doc/html/e.png
new file mode 100755 (executable)
index 0000000..b3884a5
Binary files /dev/null and b/doc/html/e.png differ
diff --git a/doc/html/e_big.png b/doc/html/e_big.png
new file mode 100644 (file)
index 0000000..d42aeb4
Binary files /dev/null and b/doc/html/e_big.png differ
diff --git a/doc/html/edoxy.css b/doc/html/edoxy.css
new file mode 100644 (file)
index 0000000..311ca23
--- /dev/null
@@ -0,0 +1,486 @@
+/*
+ * This file contain a custom doxygen style to match e.org graphics
+ */
+
+
+
+/* BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+       font-family: Geneva, Arial, Helvetica, sans-serif;
+}*/ 
+BODY, TD {
+       font-size: 12px;
+}
+H1 {
+       text-align: center;
+       font-size: 160%;
+}
+H2 {
+       font-size: 120%;
+}
+H3 {
+       font-size: 100%;
+}
+CAPTION { 
+       font-weight: bold 
+}
+DIV.qindex {
+       width: 100%;
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       padding: 2px;
+       line-height: 140%;
+}
+DIV.navpath {
+       width: 100%;
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       padding: 2px;
+       line-height: 140%;
+}
+DIV.navtab {
+       background-color: #e8eef2;
+       border: 1px solid #84b0c7;
+       text-align: center;
+       margin: 2px;
+       margin-right: 15px;
+       padding: 2px;
+}
+TD.navtab {
+       font-size: 70%;
+}
+A.qindex {
+       text-decoration: none;
+       font-weight: bold;
+       color: #1A419D;
+}
+A.qindex:visited {
+       text-decoration: none;
+       font-weight: bold;
+       color: #1A419D
+}
+A.qindex:hover {
+       text-decoration: none;
+       background-color: #ddddff;
+}
+A.qindexHL {
+       text-decoration: none;
+       font-weight: bold;
+       background-color: #6666cc;
+       color: #ffffff;
+       border: 1px double #9295C2;
+}
+A.qindexHL:hover {
+       text-decoration: none;
+       background-color: #6666cc;
+       color: #ffffff;
+}
+A.qindexHL:visited { 
+       text-decoration: none; 
+       background-color: #6666cc; 
+       color: #ffffff 
+}
+A.el { 
+       text-decoration: none; 
+       font-weight: bold 
+}
+A.elRef { 
+       font-weight: bold 
+}
+A.code:link { 
+       text-decoration: none; 
+       font-weight: normal; 
+       color: #0000FF
+}
+A.code:visited { 
+       text-decoration: none; 
+       font-weight: normal; 
+       color: #0000FF
+}
+A.codeRef:link { 
+       font-weight: normal; 
+       color: #0000FF
+}
+A.codeRef:visited { 
+       font-weight: normal; 
+       color: #0000FF
+}
+A:hover, A:visited:hover { 
+       text-decoration: none;  
+       /* background-color: #f2f2ff; */
+       color: #000055;
+}
+A.anchor {
+       color: #000;
+}
+DL.el { 
+       margin-left: -1cm 
+}
+.fragment {
+       font-family: monospace, fixed;
+       font-size: 95%;
+}
+PRE.fragment {
+       border: 1px solid #CCCCCC;
+       background-color: #f5f5f5;
+       margin-top: 4px;
+       margin-bottom: 4px;
+       margin-left: 2px;
+       margin-right: 8px;
+       padding-left: 6px;
+       padding-right: 6px;
+       padding-top: 4px;
+       padding-bottom: 4px;
+}
+DIV.ah { 
+       background-color: black; 
+       font-weight: bold; 
+       color: #ffffff; 
+       margin-bottom: 3px; 
+       margin-top: 3px 
+}
+
+DIV.groupHeader {
+       margin-left: 16px;
+       margin-top: 12px;
+       margin-bottom: 6px;
+       font-weight: bold;
+}
+DIV.groupText { 
+       margin-left: 16px; 
+       font-style: italic; 
+       font-size: 90% 
+}
+/*BODY {
+       background: white;
+       color: black;
+       margin-right: 20px;
+       margin-left: 20px;
+}*/
+TD.indexkey {
+       background-color: #e8eef2;
+       font-weight: bold;
+       padding-right  : 10px;
+       padding-top    : 2px;
+       padding-left   : 10px;
+       padding-bottom : 2px;
+       margin-left    : 0px;
+       margin-right   : 0px;
+       margin-top     : 2px;
+       margin-bottom  : 2px;
+       border: 1px solid #CCCCCC;
+}
+TD.indexvalue {
+       background-color: #e8eef2;
+       font-style: italic;
+       padding-right  : 10px;
+       padding-top    : 2px;
+       padding-left   : 10px;
+       padding-bottom : 2px;
+       margin-left    : 0px;
+       margin-right   : 0px;
+       margin-top     : 2px;
+       margin-bottom  : 2px;
+       border: 1px solid #CCCCCC;
+}
+TR.memlist {
+       background-color: #f0f0f0; 
+}
+P.formulaDsp { 
+       text-align: center; 
+}
+IMG.formulaDsp {
+}
+IMG.formulaInl { 
+       vertical-align: middle; 
+}
+SPAN.keyword       { color: #008000 }
+SPAN.keywordtype   { color: #604020 }
+SPAN.keywordflow   { color: #e08000 }
+SPAN.comment       { color: #800000 }
+SPAN.preprocessor  { color: #806020 }
+SPAN.stringliteral { color: #002080 }
+SPAN.charliteral   { color: #008080 }
+SPAN.vhdldigit     { color: #ff00ff }
+SPAN.vhdlchar      { color: #000000 }
+SPAN.vhdlkeyword   { color: #700070 }
+SPAN.vhdllogic     { color: #ff0000 }
+
+.mdescLeft {
+       padding: 0px 8px 4px 8px;
+       font-size: 80%;
+       font-style: italic;
+       background-color: #FAFAFA;
+       border-top: 1px none #E0E0E0;
+       border-right: 1px none #E0E0E0;
+       border-bottom: 1px none #E0E0E0;
+       border-left: 1px none #E0E0E0;
+       margin: 0px;
+}
+.mdescRight {
+        padding: 0px 8px 4px 8px;
+       font-size: 80%;
+       font-style: italic;
+       background-color: #FAFAFA;
+       border-top: 1px none #E0E0E0;
+       border-right: 1px none #E0E0E0;
+       border-bottom: 1px none #E0E0E0;
+       border-left: 1px none #E0E0E0;
+       margin: 0px;
+}
+.memItemLeft {
+       padding: 1px 0px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: solid;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memItemRight {
+       padding: 1px 8px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: solid;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memTemplItemLeft {
+       padding: 1px 0px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: none;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memTemplItemRight {
+       padding: 1px 8px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: none;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.memTemplParams {
+       padding: 1px 0px 0px 8px;
+       margin: 4px;
+       border-top-width: 1px;
+       border-right-width: 1px;
+       border-bottom-width: 1px;
+       border-left-width: 1px;
+       border-top-color: #E0E0E0;
+       border-right-color: #E0E0E0;
+       border-bottom-color: #E0E0E0;
+       border-left-color: #E0E0E0;
+       border-top-style: solid;
+       border-right-style: none;
+       border-bottom-style: none;
+       border-left-style: none;
+       color: #606060;
+       background-color: #FAFAFA;
+       font-size: 80%;
+}
+.search { 
+       color: #003399;
+       font-weight: bold;
+}
+FORM.search {
+       margin-bottom: 0px;
+       margin-top: 0px;
+}
+INPUT.search { 
+       font-size: 75%;
+       color: #000080;
+       font-weight: normal;
+       background-color: #e8eef2;
+}
+TD.tiny { 
+       font-size: 75%;
+}
+a {
+       color: #1A41A8;
+}
+a:visited {
+       color: #2A3798;
+}
+.dirtab { 
+       padding: 4px;
+       border-collapse: collapse;
+       border: 1px solid #84b0c7;
+}
+TH.dirtab { 
+       background: #e8eef2;
+       font-weight: bold;
+}
+HR { 
+       height: 1px;
+       border: none;
+       border-top: 1px solid black;
+}
+
+/* Style for detailed member documentation */
+.memtemplate {
+       font-size: 80%;
+       color: #606060;
+       font-weight: normal;
+       margin-left: 3px;
+} 
+.memnav { 
+       background-color: #eeeeee;
+       border: 1px solid #dddddd;
+       text-align: center;
+       margin: 2px;
+       margin-right: 15px;
+       padding: 2px;
+}
+.memitem {
+       padding: 4px;
+       background-color: #eeeeee;
+       border-width: 1px;
+       border-style: solid;
+       border-color: #dddddd;
+       -moz-border-radius: 4px 4px 4px 4px;
+}
+.memname {
+       white-space: nowrap;
+       font-weight: bold;
+        color: #ffffff;
+}
+.memdoc{
+       padding-left: 10px;
+}
+.memproto {
+       background-color: #111111;
+       width: 100%;
+       border-width: 1px;
+       border-style: solid;
+       border-color: #000000;
+       font-weight: bold;
+       -moz-border-radius: 4px 4px 4px 4px;
+}
+.paramkey {
+       text-align: right;
+       color: #ffffff;
+}
+.paramtype {
+       white-space: nowrap;
+       color: #aaaaaa;
+}
+.paramname {
+       color: #ff0000;
+       font-style: italic;
+       white-space: nowrap;
+}
+/* End Styling for detailed member documentation */
+
+/* for the tree view */
+.ftvtree {
+       font-family: sans-serif;
+       margin:0.5em;
+}
+/* these are for tree view when used as main index */
+.directory { 
+       font-size: 9pt; 
+       font-weight: bold; 
+}
+.directory h3 { 
+       margin: 0px; 
+       margin-top: 1em; 
+       font-size: 11pt; 
+}
+
+/* The following two styles can be used to replace the root node title */
+/* with an image of your choice.  Simply uncomment the next two styles, */
+/* specify the name of your image and be sure to set 'height' to the */
+/* proper pixel height of your image. */
+
+/* .directory h3.swap { */
+/*     height: 61px; */
+/*     background-repeat: no-repeat; */
+/*     background-image: url("yourimage.gif"); */
+/* } */
+/* .directory h3.swap span { */
+/*     display: none; */
+/* } */
+
+.directory > h3 { 
+       margin-top: 0; 
+}
+.directory p { 
+       margin: 0px; 
+       white-space: nowrap; 
+}
+.directory div { 
+       display: none; 
+       margin: 0px; 
+}
+.directory img { 
+       vertical-align: -30%; 
+}
+/* these are for tree view when not used as main index */
+.directory-alt { 
+       font-size: 100%; 
+       font-weight: bold; 
+}
+.directory-alt h3 { 
+       margin: 0px; 
+       margin-top: 1em; 
+       font-size: 11pt; 
+}
+.directory-alt > h3 { 
+       margin-top: 0; 
+}
+.directory-alt p { 
+       margin: 0px; 
+       white-space: nowrap; 
+}
+.directory-alt div { 
+       display: none; 
+       margin: 0px; 
+}
+.directory-alt img { 
+       vertical-align: -30%; 
+}
+
diff --git a/doc/html/files.html b/doc/html/files.html
new file mode 100644 (file)
index 0000000..e01f4da
--- /dev/null
@@ -0,0 +1,95 @@
+<html>
+<head>
+    <title>Evas: File Index</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>File List</h1>  </div>
+</div>
+<div class="contents">
+Here is a list of all documented files with brief descriptions:<table>
+  <tr><td class="indexkey"><a class="el" href="Evas_8h.html">Evas.h</a></td><td class="indexvalue">These routines are used for Evas library interaction </td></tr>
+</table>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/foot_bg.png b/doc/html/foot_bg.png
new file mode 100755 (executable)
index 0000000..b24f3a4
Binary files /dev/null and b/doc/html/foot_bg.png differ
diff --git a/doc/html/functions.html b/doc/html/functions.html
new file mode 100644 (file)
index 0000000..deefd74
--- /dev/null
@@ -0,0 +1,250 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="functions.html"><span>All</span></a></li>
+      <li><a href="functions_vars.html"><span>Variables</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_k"><span>k</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_w"><span>w</span></a></li>
+      <li><a href="#index_x"><span>x</span></a></li>
+      <li><a href="#index_y"><span>y</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>button
+: <a class="el" href="struct__Evas__Event__Mouse__Down.html#a0ab02808721d6c55fc642ecbb37d5ff9">_Evas_Event_Mouse_Down</a>
+, <a class="el" href="struct__Evas__Event__Mouse__Up.html#aa513164499624ee1e6f1790899efe60f">_Evas_Event_Mouse_Up</a>
+</li>
+<li>buttons
+: <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out</a>
+, <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In</a>
+, <a class="el" href="struct__Evas__Event__Mouse__Move.html#a455bf48e5f7badcc6c525162e0997d08">_Evas_Event_Mouse_Move</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>callbacks
+: <a class="el" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067">_Evas_Smart_Class</a>
+</li>
+<li>compose
+: <a class="el" href="struct__Evas__Event__Key__Up.html#ac0d6a67e53331d863d141475b1b905fb">_Evas_Event_Key_Up</a>
+, <a class="el" href="struct__Evas__Event__Key__Down.html#a5ea3ff931ae945c486abd2388c6d653a">_Evas_Event_Key_Down</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>device
+: <a class="el" href="struct__Evas__Event__Multi__Down.html#a990b8c081ce4bb5b494ae6632b78cbe4">_Evas_Event_Multi_Down</a>
+, <a class="el" href="struct__Evas__Event__Multi__Move.html#a664db8b96c8999777c79e9ba165d124a">_Evas_Event_Multi_Move</a>
+, <a class="el" href="struct__Evas__Event__Multi__Up.html#a6569e24edde1a26221efbdf54b62f5c9">_Evas_Event_Multi_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>h
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#afb6159a85268fc627520a3436cf94a7a">_Evas_Coord_Rectangle</a>
+</li>
+<li>hold
+: <a class="el" href="struct__Evas__Event__Hold.html#a21f7238382ebd994e083623f777853f3">_Evas_Event_Hold</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>interfaces
+: <a class="el" href="struct__Evas__Smart__Class.html#a6698ec8ff46b2678f920979ae11d939d">_Evas_Smart_Class</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>key
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a70473bba88a1afaee180a54150513824">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#a865118cf93e4454ac101d663b8027b41">_Evas_Event_Key_Up</a>
+</li>
+<li>keyname
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a01909378c9e67734aa0e6ce2b603ad2c">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#a03b32c8ba37a03fbd3ea7cd63e5f47be">_Evas_Event_Key_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>magic
+: <a class="el" href="struct__Evas__Engine__Info.html#ad990a452b19dbd3b0ea73e3c1827dcb1">_Evas_Engine_Info</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>name
+: <a class="el" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f">_Evas_Smart_Class</a>
+, <a class="el" href="struct__Evas__Smart__Cb__Description.html#ab377859f4cfcf1c2dd3c149a76b70b53">_Evas_Smart_Cb_Description</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>parent
+: <a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">_Evas_Smart_Class</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>saved_memory
+: <a class="el" href="struct__Evas__Cserve__Stats.html#af7fa72c981c855ee8c0e49dd3395f113">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_memory_peak
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a9738ab5831d7b402111db096b6ff972b">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_time_image_data_load
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a8f9d701eb8a7d84937422999ff002a1a">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_time_image_header_load
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a35301ae776cdf63793735930d8fe0873">_Evas_Cserve_Stats</a>
+</li>
+<li>string
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a1b64741ca0b90a5119463f320ebeea00">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#aadff1de218baec7322b0ed0f6cf6d662">_Evas_Event_Key_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>type
+: <a class="el" href="struct__Evas__Smart__Cb__Description.html#af0d4ce3d62a068eab1b89a34abb056ad">_Evas_Smart_Cb_Description</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>w
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#a5a72fe41e483e3fcaefa1ee2fdd2f925">_Evas_Coord_Rectangle</a>
+</li>
+<li>wasted_memory
+: <a class="el" href="struct__Evas__Cserve__Stats.html#ab98e8e5dd83545a2c6acc3c914ea488e">_Evas_Cserve_Stats</a>
+</li>
+<li>wasted_memory_peak
+: <a class="el" href="struct__Evas__Cserve__Stats.html#afcdf3ed844a2e8241c0ee5986e6532bb">_Evas_Cserve_Stats</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
+<li>x
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#a8281ece9529d16c84be8b388ea5ae983">_Evas_Coord_Rectangle</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
+<li>y
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#adafcf87056501a29d628801e8cacd0d5">_Evas_Coord_Rectangle</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/functions_vars.html b/doc/html/functions_vars.html
new file mode 100644 (file)
index 0000000..543945b
--- /dev/null
@@ -0,0 +1,250 @@
+<html>
+<head>
+    <title>Evas: Data Fields - Variables</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="functions.html"><span>All</span></a></li>
+      <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_h"><span>h</span></a></li>
+      <li><a href="#index_i"><span>i</span></a></li>
+      <li><a href="#index_k"><span>k</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+      <li><a href="#index_w"><span>w</span></a></li>
+      <li><a href="#index_x"><span>x</span></a></li>
+      <li><a href="#index_y"><span>y</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>button
+: <a class="el" href="struct__Evas__Event__Mouse__Down.html#a0ab02808721d6c55fc642ecbb37d5ff9">_Evas_Event_Mouse_Down</a>
+, <a class="el" href="struct__Evas__Event__Mouse__Up.html#aa513164499624ee1e6f1790899efe60f">_Evas_Event_Mouse_Up</a>
+</li>
+<li>buttons
+: <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out</a>
+, <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In</a>
+, <a class="el" href="struct__Evas__Event__Mouse__Move.html#a455bf48e5f7badcc6c525162e0997d08">_Evas_Event_Mouse_Move</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>callbacks
+: <a class="el" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067">_Evas_Smart_Class</a>
+</li>
+<li>compose
+: <a class="el" href="struct__Evas__Event__Key__Up.html#ac0d6a67e53331d863d141475b1b905fb">_Evas_Event_Key_Up</a>
+, <a class="el" href="struct__Evas__Event__Key__Down.html#a5ea3ff931ae945c486abd2388c6d653a">_Evas_Event_Key_Down</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>device
+: <a class="el" href="struct__Evas__Event__Multi__Down.html#a990b8c081ce4bb5b494ae6632b78cbe4">_Evas_Event_Multi_Down</a>
+, <a class="el" href="struct__Evas__Event__Multi__Move.html#a664db8b96c8999777c79e9ba165d124a">_Evas_Event_Multi_Move</a>
+, <a class="el" href="struct__Evas__Event__Multi__Up.html#a6569e24edde1a26221efbdf54b62f5c9">_Evas_Event_Multi_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>h
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#afb6159a85268fc627520a3436cf94a7a">_Evas_Coord_Rectangle</a>
+</li>
+<li>hold
+: <a class="el" href="struct__Evas__Event__Hold.html#a21f7238382ebd994e083623f777853f3">_Evas_Event_Hold</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>interfaces
+: <a class="el" href="struct__Evas__Smart__Class.html#a6698ec8ff46b2678f920979ae11d939d">_Evas_Smart_Class</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>key
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a70473bba88a1afaee180a54150513824">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#a865118cf93e4454ac101d663b8027b41">_Evas_Event_Key_Up</a>
+</li>
+<li>keyname
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a01909378c9e67734aa0e6ce2b603ad2c">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#a03b32c8ba37a03fbd3ea7cd63e5f47be">_Evas_Event_Key_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>magic
+: <a class="el" href="struct__Evas__Engine__Info.html#ad990a452b19dbd3b0ea73e3c1827dcb1">_Evas_Engine_Info</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>name
+: <a class="el" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f">_Evas_Smart_Class</a>
+, <a class="el" href="struct__Evas__Smart__Cb__Description.html#ab377859f4cfcf1c2dd3c149a76b70b53">_Evas_Smart_Cb_Description</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>parent
+: <a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">_Evas_Smart_Class</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>saved_memory
+: <a class="el" href="struct__Evas__Cserve__Stats.html#af7fa72c981c855ee8c0e49dd3395f113">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_memory_peak
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a9738ab5831d7b402111db096b6ff972b">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_time_image_data_load
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a8f9d701eb8a7d84937422999ff002a1a">_Evas_Cserve_Stats</a>
+</li>
+<li>saved_time_image_header_load
+: <a class="el" href="struct__Evas__Cserve__Stats.html#a35301ae776cdf63793735930d8fe0873">_Evas_Cserve_Stats</a>
+</li>
+<li>string
+: <a class="el" href="struct__Evas__Event__Key__Down.html#a1b64741ca0b90a5119463f320ebeea00">_Evas_Event_Key_Down</a>
+, <a class="el" href="struct__Evas__Event__Key__Up.html#aadff1de218baec7322b0ed0f6cf6d662">_Evas_Event_Key_Up</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>type
+: <a class="el" href="struct__Evas__Smart__Cb__Description.html#af0d4ce3d62a068eab1b89a34abb056ad">_Evas_Smart_Cb_Description</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_w"></a>- w -</h3><ul>
+<li>w
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#a5a72fe41e483e3fcaefa1ee2fdd2f925">_Evas_Coord_Rectangle</a>
+</li>
+<li>wasted_memory
+: <a class="el" href="struct__Evas__Cserve__Stats.html#ab98e8e5dd83545a2c6acc3c914ea488e">_Evas_Cserve_Stats</a>
+</li>
+<li>wasted_memory_peak
+: <a class="el" href="struct__Evas__Cserve__Stats.html#afcdf3ed844a2e8241c0ee5986e6532bb">_Evas_Cserve_Stats</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_x"></a>- x -</h3><ul>
+<li>x
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#a8281ece9529d16c84be8b388ea5ae983">_Evas_Coord_Rectangle</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_y"></a>- y -</h3><ul>
+<li>y
+: <a class="el" href="struct__Evas__Coord__Rectangle.html#adafcf87056501a29d628801e8cacd0d5">_Evas_Coord_Rectangle</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals.html b/doc/html/globals.html
new file mode 100644 (file)
index 0000000..8f0c649
--- /dev/null
@@ -0,0 +1,144 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>_Evas_Alloc_Error
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cb">Evas.h</a>
+</li>
+<li>evas_alloc_error()
+: <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9">Evas.h</a>
+</li>
+<li>EVAS_ALLOC_ERROR_FATAL
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e">Evas.h</a>
+</li>
+<li>EVAS_ALLOC_ERROR_NONE
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8">Evas.h</a>
+</li>
+<li>EVAS_ALLOC_ERROR_RECOVERED
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e">Evas.h</a>
+</li>
+<li>evas_async_events_fd_get()
+: <a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd">Evas.h</a>
+</li>
+<li>evas_async_events_process()
+: <a class="el" href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x62.html b/doc/html/globals_0x62.html
new file mode 100644 (file)
index 0000000..e544016
--- /dev/null
@@ -0,0 +1,138 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li class="current"><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>_Evas_Button_Flags
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">Evas.h</a>
+</li>
+<li>EVAS_BUTTON_DOUBLE_CLICK
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d">Evas.h</a>
+</li>
+<li>Evas_Button_Flags
+: <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas.h</a>
+</li>
+<li>EVAS_BUTTON_NONE
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd">Evas.h</a>
+</li>
+<li>EVAS_BUTTON_TRIPLE_CLICK
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x63.html b/doc/html/globals_0x63.html
new file mode 100644 (file)
index 0000000..60ccbf2
--- /dev/null
@@ -0,0 +1,300 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li class="current"><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>_Evas_Callback_Type
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">Evas.h</a>
+</li>
+<li>_Evas_Colorspace
+: <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CHANGED_SIZE_HINTS
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_DEL
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FREE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_HIDE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_HOLD
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_IMAGE_PRELOADED
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_IMAGE_UNLOADED
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_KEY_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_KEY_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_LAST
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_WHEEL
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RENDER_FLUSH_POST
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RENDER_FLUSH_PRE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RESIZE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RESTACK
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_SHOW
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540">Evas.h</a>
+</li>
+<li>Evas_Callback_Type
+: <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas.h</a>
+</li>
+<li>evas_color_argb_premul()
+: <a class="el" href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa">Evas.h</a>
+</li>
+<li>evas_color_argb_unpremul()
+: <a class="el" href="group__Evas__Utils.html#ga520b64aa41b81e13bf7fc9f16fd2f3e5">Evas.h</a>
+</li>
+<li>evas_color_hsv_to_rgb()
+: <a class="el" href="group__Evas__Utils.html#ga2a28c2e6ecdc72189040ae3f5bd829d0">Evas.h</a>
+</li>
+<li>evas_color_rgb_to_hsv()
+: <a class="el" href="group__Evas__Utils.html#ga4054acb14873d5923306ddde5537171d">Evas.h</a>
+</li>
+<li>EVAS_COLOR_SPACE_AHSV
+: <a class="el" href="Evas_8h.html#a94722d391c46d7c062e13447d9877e71">Evas.h</a>
+</li>
+<li>EVAS_COLOR_SPACE_ARGB
+: <a class="el" href="Evas_8h.html#a37fdd5a69b7ea8e46140ef147aef8192">Evas.h</a>
+</li>
+<li>Evas_Colorspace
+: <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_ARGB8888
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_GRY8
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_RGB565_A5P
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_YCBCR422P601_PL
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_YCBCR422P709_PL
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22">Evas.h</a>
+</li>
+<li>Evas_Coord_Point
+: <a class="el" href="Evas_8h.html#a9d3aab92b5b0911efb7594b79e0d3f37">Evas.h</a>
+</li>
+<li>Evas_Coord_Precision_Point
+: <a class="el" href="Evas_8h.html#a27d3d206dd0447c96df4385cee0c5df2">Evas.h</a>
+</li>
+<li>Evas_Coord_Rectangle
+: <a class="el" href="Evas_8h.html#a23d14410ef9cd719fd61602ce68c4d42">Evas.h</a>
+</li>
+<li>evas_coord_screen_x_to_world()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051">Evas.h</a>
+</li>
+<li>evas_coord_screen_y_to_world()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2">Evas.h</a>
+</li>
+<li>evas_coord_world_x_to_screen()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9">Evas.h</a>
+</li>
+<li>evas_coord_world_y_to_screen()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8">Evas.h</a>
+</li>
+<li>evas_cserve_config_get()
+: <a class="el" href="group__Evas__Cserve.html#ga9bb7fbd93f4bc9310707549ff9427b47">Evas.h</a>
+</li>
+<li>evas_cserve_config_set()
+: <a class="el" href="group__Evas__Cserve.html#ga10c38a7bfb59423c2a96447b42c2aa15">Evas.h</a>
+</li>
+<li>evas_cserve_connected_get()
+: <a class="el" href="group__Evas__Cserve.html#gab88ee4c01dbdf01fea4d8acf4a07b25f">Evas.h</a>
+</li>
+<li>evas_cserve_disconnect()
+: <a class="el" href="group__Evas__Cserve.html#ga3129abb4410e7d6967072f14ac327daf">Evas.h</a>
+</li>
+<li>evas_cserve_stats_get()
+: <a class="el" href="group__Evas__Cserve.html#ga82fec634eb97f664e9cb3ed08358b1a2">Evas.h</a>
+</li>
+<li>evas_cserve_want_get()
+: <a class="el" href="group__Evas__Cserve.html#gab039ccd04ab2e8857a0df629b4ac0901">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x64.html b/doc/html/globals_0x64.html
new file mode 100644 (file)
index 0000000..45dea3c
--- /dev/null
@@ -0,0 +1,141 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li class="current"><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>evas_damage_rectangle_add()
+: <a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">Evas.h</a>
+</li>
+<li>evas_data_argb_premul()
+: <a class="el" href="group__Evas__Utils.html#gad61423a02fa7c3cb0293c3bdd5516216">Evas.h</a>
+</li>
+<li>evas_data_argb_unpremul()
+: <a class="el" href="group__Evas__Utils.html#ga6794135ce6545bd5e16f6563043a8f18">Evas.h</a>
+</li>
+<li>evas_data_attach_get()
+: <a class="el" href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc">Evas.h</a>
+</li>
+<li>evas_data_attach_set()
+: <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8">Evas.h</a>
+</li>
+<li>Evas_Device
+: <a class="el" href="Evas_8h.html#a430c2d9c773093d159437e35003df281">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x65.html b/doc/html/globals_0x65.html
new file mode 100644 (file)
index 0000000..eaecce2
--- /dev/null
@@ -0,0 +1,225 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li class="current"><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>_Evas_Event_Flags
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">Evas.h</a>
+</li>
+<li>Evas
+: <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas.h</a>
+</li>
+<li>Evas_Engine_Info
+: <a class="el" href="Evas_8h.html#a86d67b69014ab10fffe20b883685fa46">Evas.h</a>
+</li>
+<li>evas_engine_info_get()
+: <a class="el" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713">Evas.h</a>
+</li>
+<li>evas_engine_info_set()
+: <a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">Evas.h</a>
+</li>
+<li>evas_event_feed_hold()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gaedc3a956cd753acdd2a58ad0d2865d04">Evas.h</a>
+</li>
+<li>evas_event_feed_key_down()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga096e2ef05bfa471d2773729bd24732a0">Evas.h</a>
+</li>
+<li>evas_event_feed_key_up()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gaebe7d4f8b6423aff1ffe67c724d4590d">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_cancel()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_down()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_in()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_move()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_out()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_up()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_wheel()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga393156722bbe1ce384f0ab33ab76a1f2">Evas.h</a>
+</li>
+<li>EVAS_EVENT_FLAG_NONE
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf">Evas.h</a>
+</li>
+<li>EVAS_EVENT_FLAG_ON_HOLD
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83">Evas.h</a>
+</li>
+<li>EVAS_EVENT_FLAG_ON_SCROLL
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311">Evas.h</a>
+</li>
+<li>Evas_Event_Flags
+: <a class="el" href="Evas_8h.html#a9fda4d6d744ae16549b3765df7363f95">Evas.h</a>
+</li>
+<li>evas_event_freeze()
+: <a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e">Evas.h</a>
+</li>
+<li>evas_event_freeze_get()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64">Evas.h</a>
+</li>
+<li>Evas_Event_Hold
+: <a class="el" href="Evas_8h.html#a6fb6e5748f93fc24d62276e5421f9767">Evas.h</a>
+</li>
+<li>Evas_Event_Key_Down
+: <a class="el" href="Evas_8h.html#a9a1bfd297b751119977f3c14c0004612">Evas.h</a>
+</li>
+<li>Evas_Event_Key_Up
+: <a class="el" href="Evas_8h.html#a92e77497752a3b100b3bfc4ee92daf09">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Down
+: <a class="el" href="Evas_8h.html#a907df7a46177e7bac9928ea39fbcca50">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_In
+: <a class="el" href="Evas_8h.html#a9b42da2562eb8390dd513d7337b1e018">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Move
+: <a class="el" href="Evas_8h.html#a224de88869fe5315ca144ef8a2946827">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Out
+: <a class="el" href="Evas_8h.html#a7a168fcb1c4b6bc53ac4e69f5424f317">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Up
+: <a class="el" href="Evas_8h.html#a337e8227780d38bdeae5c0ccd00d04b3">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Wheel
+: <a class="el" href="Evas_8h.html#a54d0e99e450e158924b06746544bb4dc">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Down
+: <a class="el" href="Evas_8h.html#a0436550ffcc1e2eab730ef3c493b8c40">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Move
+: <a class="el" href="Evas_8h.html#a8658f1e1a6801e219547b05e8728ebd2">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Up
+: <a class="el" href="Evas_8h.html#a0f4d63b8673ee370e41e2c0bdc374212">Evas.h</a>
+</li>
+<li>evas_event_thaw()
+: <a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x66.html b/doc/html/globals_0x66.html
new file mode 100644 (file)
index 0000000..eacf819
--- /dev/null
@@ -0,0 +1,189 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li class="current"><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>_Evas_Fill_Spread
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738">Evas.h</a>
+</li>
+<li>_Evas_Font_Hinting_Flags
+: <a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">Evas.h</a>
+</li>
+<li>Evas_Fill_Spread
+: <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas.h</a>
+</li>
+<li>evas_focus_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5">Evas.h</a>
+</li>
+<li>evas_focus_in()
+: <a class="el" href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb">Evas.h</a>
+</li>
+<li>evas_focus_out()
+: <a class="el" href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff">Evas.h</a>
+</li>
+<li>evas_focus_state_get()
+: <a class="el" href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8">Evas.h</a>
+</li>
+<li>evas_font_available_list()
+: <a class="el" href="group__Evas__Font__Group.html#ga9d51a2efecf89a81a2990db252f3dc6c">Evas.h</a>
+</li>
+<li>evas_font_available_list_free()
+: <a class="el" href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467">Evas.h</a>
+</li>
+<li>evas_font_cache_flush()
+: <a class="el" href="group__Evas__Font__Group.html#gad75ac8ed0c921e774f1c519a66f05a2f">Evas.h</a>
+</li>
+<li>evas_font_cache_get()
+: <a class="el" href="group__Evas__Font__Group.html#ga9cf39aae3074cac05c4aafa3ff24c32f">Evas.h</a>
+</li>
+<li>evas_font_cache_set()
+: <a class="el" href="group__Evas__Font__Group.html#ga5582cfcdb08f6253225bb8cede49033a">Evas.h</a>
+</li>
+<li>EVAS_FONT_HINTING_AUTO
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440">Evas.h</a>
+</li>
+<li>EVAS_FONT_HINTING_BYTECODE
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e">Evas.h</a>
+</li>
+<li>evas_font_hinting_can_hint()
+: <a class="el" href="group__Evas__Font__Group.html#gaa4210fa6661330e67ec4c9cbde775b4b">Evas.h</a>
+</li>
+<li>Evas_Font_Hinting_Flags
+: <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas.h</a>
+</li>
+<li>evas_font_hinting_get()
+: <a class="el" href="group__Evas__Font__Group.html#gafe785a87743b72d8064f0562fd79cc75">Evas.h</a>
+</li>
+<li>EVAS_FONT_HINTING_NONE
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338">Evas.h</a>
+</li>
+<li>evas_font_hinting_set()
+: <a class="el" href="group__Evas__Font__Group.html#gaf39062952fc420ff32fbacfb8c27bd7d">Evas.h</a>
+</li>
+<li>evas_font_path_clear()
+: <a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">Evas.h</a>
+</li>
+<li>evas_font_path_list()
+: <a class="el" href="group__Evas__Font__Path__Group.html#ga06fc80b3e4c27237a571404fc6aa3aeb">Evas.h</a>
+</li>
+<li>evas_free()
+: <a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x68.html b/doc/html/globals_0x68.html
new file mode 100644 (file)
index 0000000..8a8fab7
--- /dev/null
@@ -0,0 +1,129 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li class="current"><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_h"></a>- h -</h3><ul>
+<li>EVAS_HINT_EXPAND
+: <a class="el" href="Evas_8h.html#aa47c85083d3dae0111c21ec49359306a">Evas.h</a>
+</li>
+<li>EVAS_HINT_FILL
+: <a class="el" href="Evas_8h.html#aecbac710f36d52911fc34dcdaf8e729c">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x69.html b/doc/html/globals_0x69.html
new file mode 100644 (file)
index 0000000..c4b7d13
--- /dev/null
@@ -0,0 +1,138 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li class="current"><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>evas_image_cache_flush()
+: <a class="el" href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214">Evas.h</a>
+</li>
+<li>evas_image_cache_get()
+: <a class="el" href="group__Evas__Image__Group.html#gad7ee7f4627d198c0de0ff197fe2f9ed0">Evas.h</a>
+</li>
+<li>evas_image_cache_reload()
+: <a class="el" href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981">Evas.h</a>
+</li>
+<li>evas_image_cache_set()
+: <a class="el" href="group__Evas__Image__Group.html#gab28271aad78206e5ee9bed62e0decfa7">Evas.h</a>
+</li>
+<li>evas_init()
+: <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x6b.html b/doc/html/globals_0x6b.html
new file mode 100644 (file)
index 0000000..305fb5b
--- /dev/null
@@ -0,0 +1,129 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li class="current"><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>evas_key_lock_get()
+: <a class="el" href="Evas_8h.html#aa8af6d3610b4e937e79e761c8c4c7819">Evas.h</a>
+</li>
+<li>evas_key_modifier_get()
+: <a class="el" href="Evas_8h.html#a5c233a1e9eea970c1db0de87ff343e77">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x6c.html b/doc/html/globals_0x6c.html
new file mode 100644 (file)
index 0000000..a5d7fde
--- /dev/null
@@ -0,0 +1,162 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li class="current"><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>_Evas_Load_Error
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5f">Evas.h</a>
+</li>
+<li>EVAS_LAYER_MAX
+: <a class="el" href="Evas_8h.html#a1456f5c97f03ebd786c49d4d1178e7a0">Evas.h</a>
+</li>
+<li>EVAS_LAYER_MIN
+: <a class="el" href="Evas_8h.html#a8817f2ac4e0058d43f9bfe1e563e551b">Evas.h</a>
+</li>
+<li>Evas_Load_Error
+: <a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_CORRUPT_FILE
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_DOES_NOT_EXIST
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_GENERIC
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_NONE
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_PERMISSION_DENIED
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4">Evas.h</a>
+</li>
+<li>evas_load_error_str()
+: <a class="el" href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_UNKNOWN_FORMAT
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80">Evas.h</a>
+</li>
+<li>Evas_Lock
+: <a class="el" href="Evas_8h.html#a791323b644ee831ead4c5d25552a0fd8">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x6d.html b/doc/html/globals_0x6d.html
new file mode 100644 (file)
index 0000000..3e2117d
--- /dev/null
@@ -0,0 +1,204 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li class="current"><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>Evas_Map
+: <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas.h</a>
+</li>
+<li>evas_map_alpha_get()
+: <a class="el" href="Evas_8h.html#ae7de42394f26fa1e5bfc315f7d114ac3">Evas.h</a>
+</li>
+<li>evas_map_alpha_set()
+: <a class="el" href="Evas_8h.html#ae1cbf087e2182e01d07979975baa9065">Evas.h</a>
+</li>
+<li>evas_map_count_get()
+: <a class="el" href="Evas_8h.html#acb6da0be6c78ebf89a5b25d9a0fa44fa">Evas.h</a>
+</li>
+<li>evas_map_dup()
+: <a class="el" href="Evas_8h.html#a25ffe0dd36fed0c9c492d636b163390a">Evas.h</a>
+</li>
+<li>evas_map_free()
+: <a class="el" href="Evas_8h.html#a78ecdf799f326e1c17aae6770c06058a">Evas.h</a>
+</li>
+<li>evas_map_new()
+: <a class="el" href="Evas_8h.html#a719acc4f4792236f7031664ec450b399">Evas.h</a>
+</li>
+<li>evas_map_point_color_get()
+: <a class="el" href="Evas_8h.html#a40ae28dc015c5dad8a09ce5c6d764422">Evas.h</a>
+</li>
+<li>evas_map_point_color_set()
+: <a class="el" href="Evas_8h.html#ae569741d778974e2825dc05cc3e68f9f">Evas.h</a>
+</li>
+<li>evas_map_point_coord_get()
+: <a class="el" href="Evas_8h.html#ab8640a9b915b7c6f33f96782bb23e939">Evas.h</a>
+</li>
+<li>evas_map_point_coord_set()
+: <a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7">Evas.h</a>
+</li>
+<li>evas_map_point_image_uv_get()
+: <a class="el" href="Evas_8h.html#ab993d154039532e6105d2c1ea23133fc">Evas.h</a>
+</li>
+<li>evas_map_point_image_uv_set()
+: <a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a">Evas.h</a>
+</li>
+<li>evas_map_smooth_get()
+: <a class="el" href="Evas_8h.html#ac7693cff90eddde9f1cd5fd99d6df695">Evas.h</a>
+</li>
+<li>evas_map_smooth_set()
+: <a class="el" href="Evas_8h.html#ae851a2ebf0c272cf0bcb97168b625d23">Evas.h</a>
+</li>
+<li>evas_map_util_3d_lighting()
+: <a class="el" href="Evas_8h.html#a4dd3a3cf9091afaa87bc042b12a5685d">Evas.h</a>
+</li>
+<li>evas_map_util_3d_perspective()
+: <a class="el" href="Evas_8h.html#a14c467420d169d666865cdb31746728d">Evas.h</a>
+</li>
+<li>evas_map_util_3d_rotate()
+: <a class="el" href="Evas_8h.html#a4118dedc011bd94a35d03251c7bef5ed">Evas.h</a>
+</li>
+<li>evas_map_util_clockwise_get()
+: <a class="el" href="Evas_8h.html#a4e7cd972cac5507838c9827ef04b2607">Evas.h</a>
+</li>
+<li>evas_map_util_points_color_set()
+: <a class="el" href="Evas_8h.html#a1ea4919339773a113dece07f1335d6ac">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_geometry()
+: <a class="el" href="Evas_8h.html#adb28b64c445931d92eeeab2c3fb52286">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_object()
+: <a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_object_full()
+: <a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6">Evas.h</a>
+</li>
+<li>evas_map_util_rotate()
+: <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080">Evas.h</a>
+</li>
+<li>evas_map_util_zoom()
+: <a class="el" href="Evas_8h.html#a986dd1010c757910b4520527f229d3b5">Evas.h</a>
+</li>
+<li>Evas_Modifier
+: <a class="el" href="Evas_8h.html#a198d0b10861c1da456004688d3443e96">Evas.h</a>
+</li>
+<li>Evas_Modifier_Mask
+: <a class="el" href="Evas_8h.html#a111c7333a7d49e44698bd19dd5bc9059">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x6e.html b/doc/html/globals_0x6e.html
new file mode 100644 (file)
index 0000000..122a595
--- /dev/null
@@ -0,0 +1,138 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li class="current"><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>Evas_Native_Surface
+: <a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas.h</a>
+</li>
+<li>evas_new()
+: <a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87">Evas.h</a>
+</li>
+<li>evas_nochange_pop()
+: <a class="el" href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac">Evas.h</a>
+</li>
+<li>evas_nochange_push()
+: <a class="el" href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe">Evas.h</a>
+</li>
+<li>evas_norender()
+: <a class="el" href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x6f.html b/doc/html/globals_0x6f.html
new file mode 100644 (file)
index 0000000..a083e04
--- /dev/null
@@ -0,0 +1,864 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li class="current"><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>_Evas_Object_Pointer_Mode
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">Evas.h</a>
+</li>
+<li>_Evas_Object_Table_Homogeneous_Mode
+: <a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">Evas.h</a>
+</li>
+<li>Evas_Object
+: <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas.h</a>
+</li>
+<li>evas_object_above_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gab78867a46ecc2e35ac90bf40bae1689f">Evas.h</a>
+</li>
+<li>evas_object_anti_alias_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga3308cb65716beb4ce826b9701e23159a">Evas.h</a>
+</li>
+<li>evas_object_anti_alias_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaf0c7d4c49695749fa616d0abdbd5ddeb">Evas.h</a>
+</li>
+<li>evas_object_below_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaff15b0dacac065bc84e6124c0c4920c5">Evas.h</a>
+</li>
+<li>evas_object_bottom_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga3e06dcd04da8cd9d64e106f7ede8db9e">Evas.h</a>
+</li>
+<li>evas_object_box_accessor_new()
+: <a class="el" href="group__Evas__Object__Box.html#gad5c5837393bd163f6cde72bde073333b">Evas.h</a>
+</li>
+<li>evas_object_box_add()
+: <a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">Evas.h</a>
+</li>
+<li>evas_object_box_add_to()
+: <a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">Evas.h</a>
+</li>
+<li>evas_object_box_align_get()
+: <a class="el" href="group__Evas__Object__Box.html#gad87e3a868b14d1a28da7511f95b59673">Evas.h</a>
+</li>
+<li>evas_object_box_align_set()
+: <a class="el" href="group__Evas__Object__Box.html#gae66fe763591e62621cf6352528d97e10">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Api
+: <a class="el" href="group__Evas__Object__Box.html#ga2a8fbeeab4f5ae23e7bc1b291e27c5e1">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT
+: <a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+: <a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_NULL
+: <a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_VERSION
+: <a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1">Evas.h</a>
+</li>
+<li>evas_object_box_children_get()
+: <a class="el" href="group__Evas__Object__Box.html#ga542294a74645829cd5531a8ddec32d9c">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Data
+: <a class="el" href="group__Evas__Object__Box.html#gac9047b7cff95df59f61c7321967caf7b">Evas.h</a>
+</li>
+<li>evas_object_box_iterator_new()
+: <a class="el" href="group__Evas__Object__Box.html#ga2a3ceff4f02512fa7f85618252eacbdc">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Option
+: <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas.h</a>
+</li>
+<li>evas_object_box_option_property_name_get()
+: <a class="el" href="group__Evas__Object__Box.html#gad6b908faeca8fb7e16c002509a86ffab">Evas.h</a>
+</li>
+<li>evas_object_box_padding_get()
+: <a class="el" href="group__Evas__Object__Box.html#gab24383f3b29c8bc78c98cd0b0f16902d">Evas.h</a>
+</li>
+<li>evas_object_box_padding_set()
+: <a class="el" href="group__Evas__Object__Box.html#ga75ab3d2f84c328010c26a6b8d89c9c67">Evas.h</a>
+</li>
+<li>evas_object_box_remove_all()
+: <a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">Evas.h</a>
+</li>
+<li>evas_object_box_remove_at()
+: <a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">Evas.h</a>
+</li>
+<li>evas_object_box_smart_class_get()
+: <a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">Evas.h</a>
+</li>
+<li>evas_object_box_smart_set()
+: <a class="el" href="group__Evas__Object__Box.html#ga19c407e45de527d9400823fb1c85d0fe">Evas.h</a>
+</li>
+<li>evas_object_clip_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a">Evas.h</a>
+</li>
+<li>evas_object_clip_unset()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">Evas.h</a>
+</li>
+<li>evas_object_clipees_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887">Evas.h</a>
+</li>
+<li>evas_object_color_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga3856f8b88d158ffa9783b44340ef343d">Evas.h</a>
+</li>
+<li>evas_object_color_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f">Evas.h</a>
+</li>
+<li>evas_object_del()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">Evas.h</a>
+</li>
+<li>evas_object_evas_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">Evas.h</a>
+</li>
+<li>evas_object_focus_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654">Evas.h</a>
+</li>
+<li>evas_object_focus_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">Evas.h</a>
+</li>
+<li>evas_object_geometry_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">Evas.h</a>
+</li>
+<li>evas_object_hide()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">Evas.h</a>
+</li>
+<li>evas_object_image_add()
+: <a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_get()
+: <a class="el" href="group__Evas__Object__Image.html#gac136f7f65d8529427b1f6da055b47a30">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_mask_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga154d8315842f4602878704951705e6cb">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_set()
+: <a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">Evas.h</a>
+</li>
+<li>evas_object_image_border_center_fill_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga04f8a4f69c5ad37d9229e4c39bb7c010">Evas.h</a>
+</li>
+<li>evas_object_image_border_center_fill_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga4caf736585ad602e6748e434ac1f5fc6">Evas.h</a>
+</li>
+<li>evas_object_image_border_get()
+: <a class="el" href="group__Evas__Object__Image.html#gab666a37cbae8ee846cdeb518e7fd495c">Evas.h</a>
+</li>
+<li>evas_object_image_border_scale_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga7cc1bf948a8a5d61c703211f0bd5d2dc">Evas.h</a>
+</li>
+<li>evas_object_image_border_scale_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0">Evas.h</a>
+</li>
+<li>evas_object_image_border_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d">Evas.h</a>
+</li>
+<li>evas_object_image_colorspace_get()
+: <a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42">Evas.h</a>
+</li>
+<li>evas_object_image_colorspace_set()
+: <a class="el" href="group__Evas__Object__Image.html#gac352f7b110d7e527bf2d36fba5507d0c">Evas.h</a>
+</li>
+<li>evas_object_image_content_hint_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga28881040682dbbf00937948124e9f3fb">Evas.h</a>
+</li>
+<li>evas_object_image_content_hint_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaf6cc0faf39773e12eb496116afd67c6f">Evas.h</a>
+</li>
+<li>evas_object_image_data_convert()
+: <a class="el" href="group__Evas__Object__Image.html#ga3072cf7c31cf33057abd8ae8876218cd">Evas.h</a>
+</li>
+<li>evas_object_image_data_copy_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga97d17b8d95f0ca01a264a6c303d00c27">Evas.h</a>
+</li>
+<li>evas_object_image_data_get()
+: <a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2">Evas.h</a>
+</li>
+<li>evas_object_image_data_set()
+: <a class="el" href="group__Evas__Object__Image.html#gabdd65e4c69f422ddcf0d3c8720859a92">Evas.h</a>
+</li>
+<li>evas_object_image_data_update_add()
+: <a class="el" href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165">Evas.h</a>
+</li>
+<li>evas_object_image_file_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">Evas.h</a>
+</li>
+<li>evas_object_image_fill_get()
+: <a class="el" href="group__Evas__Object__Image.html#gaf1a7d6b8cf914234abdd5d3d3312f85e">Evas.h</a>
+</li>
+<li>evas_object_image_fill_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">Evas.h</a>
+</li>
+<li>evas_object_image_fill_spread_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae86928005f983627c74dbaef6c0fbb0e">Evas.h</a>
+</li>
+<li>evas_object_image_fill_spread_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881">Evas.h</a>
+</li>
+<li>evas_object_image_filled_add()
+: <a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">Evas.h</a>
+</li>
+<li>evas_object_image_filled_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga3fbe9f33ccc93a5c45ffa3b26019694e">Evas.h</a>
+</li>
+<li>evas_object_image_filled_set()
+: <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">Evas.h</a>
+</li>
+<li>evas_object_image_load_dpi_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga92a5503085a5c0731bb9c299e7b42f78">Evas.h</a>
+</li>
+<li>evas_object_image_load_dpi_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga88a20331cef0267ddc1d00419841580b">Evas.h</a>
+</li>
+<li>evas_object_image_load_error_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga46e4a0b2b916d28694ad054549f88e24">Evas.h</a>
+</li>
+<li>evas_object_image_load_scale_down_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga259c48b3e2a4009e8a10f8e9874d3847">Evas.h</a>
+</li>
+<li>evas_object_image_load_scale_down_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga59796713b88c217ce5869cb003e404c0">Evas.h</a>
+</li>
+<li>evas_object_image_load_size_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae8047183e894e1e1245f1f3aaf78f218">Evas.h</a>
+</li>
+<li>evas_object_image_load_size_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga1811fb73c1e138b5221cf4b25148111a">Evas.h</a>
+</li>
+<li>evas_object_image_native_surface_get()
+: <a class="el" href="group__Evas__Object__Image.html#gabd3effabde6da00dfcac7cf0cfa22280">Evas.h</a>
+</li>
+<li>evas_object_image_pixels_dirty_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga1d9e82da12f7831552fca02b9b313551">Evas.h</a>
+</li>
+<li>evas_object_image_pixels_dirty_set()
+: <a class="el" href="group__Evas__Object__Image.html#gad230eeeb0c6ba49eafd32b20afa314cb">Evas.h</a>
+</li>
+<li>evas_object_image_preload()
+: <a class="el" href="group__Evas__Object__Image.html#gad6383022c4013008d11827b32bf63d59">Evas.h</a>
+</li>
+<li>evas_object_image_reload()
+: <a class="el" href="group__Evas__Object__Image.html#ga764bec190c0812f61f5a18f38c9c6a4e">Evas.h</a>
+</li>
+<li>evas_object_image_scale_hint_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga8cce0086819196768915e5f2c2ed0cb2">Evas.h</a>
+</li>
+<li>evas_object_image_scale_hint_set()
+: <a class="el" href="group__Evas__Object__Image.html#gad13d32b74c2cd82c95b85fa9640ae529">Evas.h</a>
+</li>
+<li>evas_object_image_size_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga43e6f1b16ebe859826e6901cb36995ad">Evas.h</a>
+</li>
+<li>evas_object_image_size_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22">Evas.h</a>
+</li>
+<li>evas_object_image_smooth_scale_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae4acc1da719cb38122b92527df24388c">Evas.h</a>
+</li>
+<li>evas_object_image_smooth_scale_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510">Evas.h</a>
+</li>
+<li>evas_object_image_source_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga95a96ced932d6e7e17ee019654d9d901">Evas.h</a>
+</li>
+<li>evas_object_image_source_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">Evas.h</a>
+</li>
+<li>evas_object_image_source_unset()
+: <a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">Evas.h</a>
+</li>
+<li>evas_object_image_stride_get()
+: <a class="el" href="group__Evas__Object__Image.html#gab72175381532640c620dd032e56c590b">Evas.h</a>
+</li>
+<li>evas_object_layer_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga13cb52d23911b6c701dbb5f1ee3f65f4">Evas.h</a>
+</li>
+<li>evas_object_layer_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">Evas.h</a>
+</li>
+<li>evas_object_line_add()
+: <a class="el" href="group__Evas__Line__Group.html#ga896f1beaea24379495af4cbc5efcebfe">Evas.h</a>
+</li>
+<li>evas_object_line_xy_get()
+: <a class="el" href="group__Evas__Line__Group.html#ga3fa674863aa41d655caa103f546a9092">Evas.h</a>
+</li>
+<li>evas_object_line_xy_set()
+: <a class="el" href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174">Evas.h</a>
+</li>
+<li>evas_object_lower()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">Evas.h</a>
+</li>
+<li>evas_object_map_enable_get()
+: <a class="el" href="Evas_8h.html#a9fe49ea6c0508408d3f0c4bc6b790084">Evas.h</a>
+</li>
+<li>evas_object_map_enable_set()
+: <a class="el" href="Evas_8h.html#acee7a5f7bbb804b406405e9199d5a900">Evas.h</a>
+</li>
+<li>evas_object_map_get()
+: <a class="el" href="Evas_8h.html#aa1d3f8febc923e8225f727afc08d21f2">Evas.h</a>
+</li>
+<li>evas_object_map_set()
+: <a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca">Evas.h</a>
+</li>
+<li>evas_object_map_source_get()
+: <a class="el" href="Evas_8h.html#abb0578635393c514b1c228ebb7b2eed0">Evas.h</a>
+</li>
+<li>evas_object_map_source_set()
+: <a class="el" href="Evas_8h.html#aa0daae782c23c5624ab0fc3e4f63c8f9">Evas.h</a>
+</li>
+<li>evas_object_move()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">Evas.h</a>
+</li>
+<li>evas_object_name_find()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gad3214c89581f068934c57ac71dc6a52f">Evas.h</a>
+</li>
+<li>evas_object_name_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gac34b593d79bfd9284787ddbb43486edd">Evas.h</a>
+</li>
+<li>evas_object_name_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8">Evas.h</a>
+</li>
+<li>evas_object_pass_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0">Evas.h</a>
+</li>
+<li>evas_object_pass_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">Evas.h</a>
+</li>
+<li>Evas_Object_Pointer_Mode
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_POINTER_MODE_AUTOGRAB
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28">Evas.h</a>
+</li>
+<li>evas_object_pointer_mode_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga80faa9ce3b9ab59fe7b4bf6924b293ac">Evas.h</a>
+</li>
+<li>evas_object_pointer_mode_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga5504e39f8d0cc41af3663fed15ec06e5">Evas.h</a>
+</li>
+<li>evas_object_polygon_add()
+: <a class="el" href="group__Evas__Object__Polygon.html#gab6beb5b98de57a0f47707cac90f96bc9">Evas.h</a>
+</li>
+<li>evas_object_polygon_point_add()
+: <a class="el" href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76">Evas.h</a>
+</li>
+<li>evas_object_polygon_points_clear()
+: <a class="el" href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2">Evas.h</a>
+</li>
+<li>evas_object_precise_is_inside_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga8483a3c855f466a5dca480fcfd07b52b">Evas.h</a>
+</li>
+<li>evas_object_precise_is_inside_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gac9ce9802afd7d4cba580fbcbe92c28b2">Evas.h</a>
+</li>
+<li>evas_object_propagate_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f">Evas.h</a>
+</li>
+<li>evas_object_propagate_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d">Evas.h</a>
+</li>
+<li>evas_object_raise()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">Evas.h</a>
+</li>
+<li>evas_object_rectangle_add()
+: <a class="el" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa">Evas.h</a>
+</li>
+<li>evas_object_ref()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723">Evas.h</a>
+</li>
+<li>evas_object_render_op_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaa157afa6f23cdf4b344d95531bb7d508">Evas.h</a>
+</li>
+<li>evas_object_render_op_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga86ef8d1f039bff1a60595688f93a7990">Evas.h</a>
+</li>
+<li>evas_object_repeat_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582">Evas.h</a>
+</li>
+<li>evas_object_repeat_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">Evas.h</a>
+</li>
+<li>evas_object_resize()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">Evas.h</a>
+</li>
+<li>evas_object_scale_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga1c0aca3af434f0bc0fa8732248b197ba">Evas.h</a>
+</li>
+<li>evas_object_scale_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaf010777fa1b58bd1c9c8093d2edc62e9">Evas.h</a>
+</li>
+<li>evas_object_show()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f">Evas.h</a>
+</li>
+<li>evas_object_size_hint_align_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">Evas.h</a>
+</li>
+<li>evas_object_size_hint_align_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f">Evas.h</a>
+</li>
+<li>evas_object_size_hint_aspect_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga7b31c73dcbf60cdafe6ad7ffae42a54c">Evas.h</a>
+</li>
+<li>evas_object_size_hint_aspect_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gadb36ccc851e48ae2a11a6e2cb7fcb273">Evas.h</a>
+</li>
+<li>evas_object_size_hint_expand_get
+: <a class="el" href="Evas_8h.html#a71adf20af9358d9d26b7c88b61d1fc8d">Evas.h</a>
+</li>
+<li>evas_object_size_hint_expand_set
+: <a class="el" href="Evas_8h.html#ab239e77a0e38a5a756acbb0604055ecf">Evas.h</a>
+</li>
+<li>evas_object_size_hint_fill_get
+: <a class="el" href="Evas_8h.html#ac787ce1277b96bed04ff2b08449907c9">Evas.h</a>
+</li>
+<li>evas_object_size_hint_fill_set
+: <a class="el" href="Evas_8h.html#a1b148ef14ae2eb1fbde17179b66a0503">Evas.h</a>
+</li>
+<li>evas_object_size_hint_max_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">Evas.h</a>
+</li>
+<li>evas_object_size_hint_max_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga2a224fd6c4fc231af281af59c5a604b2">Evas.h</a>
+</li>
+<li>evas_object_size_hint_min_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">Evas.h</a>
+</li>
+<li>evas_object_size_hint_min_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">Evas.h</a>
+</li>
+<li>evas_object_size_hint_padding_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">Evas.h</a>
+</li>
+<li>evas_object_size_hint_padding_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga0014a3016d34071d41d76785a963fcb1">Evas.h</a>
+</li>
+<li>evas_object_size_hint_request_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga6a7de6942258ab03a6e85b37f569895d">Evas.h</a>
+</li>
+<li>evas_object_size_hint_request_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gace0177af29ccbf1a60415f2c4c85c1f4">Evas.h</a>
+</li>
+<li>evas_object_size_hint_weight_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">Evas.h</a>
+</li>
+<li>evas_object_size_hint_weight_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98">Evas.h</a>
+</li>
+<li>evas_object_smart_calculate()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga8013936b96d99d2ff375ca2b0b287f39">Evas.h</a>
+</li>
+<li>evas_object_smart_callbacks_descriptions_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d">Evas.h</a>
+</li>
+<li>evas_object_smart_callbacks_descriptions_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaf724dbb075cdaf2b4b44dd883b792dc3">Evas.h</a>
+</li>
+<li>evas_object_smart_changed()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_class_get()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_clipper_get()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">Evas.h</a>
+</li>
+<li>Evas_Object_Smart_Clipped_Data
+: <a class="el" href="Evas_8h.html#a65c1b2ed3578175e476998f7b55dfe34">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_smart_set()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628">Evas.h</a>
+</li>
+<li>evas_object_smart_data_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">Evas.h</a>
+</li>
+<li>evas_object_smart_data_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e">Evas.h</a>
+</li>
+<li>evas_object_smart_member_del()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">Evas.h</a>
+</li>
+<li>evas_object_smart_members_get()
+: <a class="el" href="Evas_8h.html#afa903e37a9f98f80f1d73996cf5354cc">Evas.h</a>
+</li>
+<li>evas_object_smart_move_children_relative()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">Evas.h</a>
+</li>
+<li>evas_object_smart_need_recalculate_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga38be19a4f09b071b3d984996b8f9b3ee">Evas.h</a>
+</li>
+<li>evas_object_smart_need_recalculate_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1">Evas.h</a>
+</li>
+<li>evas_object_smart_parent_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511">Evas.h</a>
+</li>
+<li>evas_object_smart_smart_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gab1423d63011d7f3679c95ea1638fa714">Evas.h</a>
+</li>
+<li>evas_object_static_clip_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gafda644be2d6e6360959853c9d6195ec8">Evas.h</a>
+</li>
+<li>evas_object_static_clip_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8">Evas.h</a>
+</li>
+<li>evas_object_table_accessor_new()
+: <a class="el" href="group__Evas__Object__Table.html#gaaa6c5242faad0906b1fbf4bbc1088543">Evas.h</a>
+</li>
+<li>evas_object_table_add()
+: <a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">Evas.h</a>
+</li>
+<li>evas_object_table_add_to()
+: <a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">Evas.h</a>
+</li>
+<li>evas_object_table_align_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga7a1ff64522920c2723675ca11d723d47">Evas.h</a>
+</li>
+<li>evas_object_table_align_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga7299bcee8de1f9304fa31fff43347a45">Evas.h</a>
+</li>
+<li>evas_object_table_child_get()
+: <a class="el" href="group__Evas__Object__Table.html#gaeb4a9d107dde8a4c7bc60d6f97b5ec46">Evas.h</a>
+</li>
+<li>evas_object_table_children_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga1afb562131cd3a74a130c374fcea0632">Evas.h</a>
+</li>
+<li>evas_object_table_clear()
+: <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">Evas.h</a>
+</li>
+<li>evas_object_table_col_row_size_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga007c88dba9eb3b326aa67a10c143f3a9">Evas.h</a>
+</li>
+<li>evas_object_table_homogeneous_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga1b96719d71cb4ca89a31eb59635df387">Evas.h</a>
+</li>
+<li>Evas_Object_Table_Homogeneous_Mode
+: <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas.h</a>
+</li>
+<li>evas_object_table_homogeneous_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">Evas.h</a>
+</li>
+<li>evas_object_table_iterator_new()
+: <a class="el" href="group__Evas__Object__Table.html#ga07d18d5708745143c4b12280a7359e71">Evas.h</a>
+</li>
+<li>evas_object_table_mirrored_get()
+: <a class="el" href="group__Evas__Object__Table.html#gac008b924a1ba3b0133d0ac11b3e6af06">Evas.h</a>
+</li>
+<li>evas_object_table_mirrored_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga8f775fb97bf5da5e8a0005a89027044b">Evas.h</a>
+</li>
+<li>evas_object_table_padding_get()
+: <a class="el" href="group__Evas__Object__Table.html#gabe1af40fbd5e03068bc577e71939934a">Evas.h</a>
+</li>
+<li>evas_object_table_padding_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga6ea229f05036a9c5d30010ad40a30c66">Evas.h</a>
+</li>
+<li>evas_object_text_add()
+: <a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539">Evas.h</a>
+</li>
+<li>evas_object_text_ascent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga4aaf7a903228927fa0adac885304e43e">Evas.h</a>
+</li>
+<li>evas_object_text_char_coords_get()
+: <a class="el" href="group__Evas__Object__Text.html#gab37f85358bd7d333cd6e8c7cf62b5daa">Evas.h</a>
+</li>
+<li>evas_object_text_char_pos_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga823b09a9d05a1650e63970e329cd7b72">Evas.h</a>
+</li>
+<li>evas_object_text_descent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga71f9d96c6dfc8ec33cf0a97e614228a0">Evas.h</a>
+</li>
+<li>evas_object_text_direction_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga2fdb3ff0318cd4b45d642ae317b19589">Evas.h</a>
+</li>
+<li>evas_object_text_font_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">Evas.h</a>
+</li>
+<li>evas_object_text_font_source_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaa48bece59070032504a2c78ad8a66577">Evas.h</a>
+</li>
+<li>evas_object_text_font_source_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b">Evas.h</a>
+</li>
+<li>evas_object_text_glow2_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga264a8425d8dab176a1b15e17a528d56d">Evas.h</a>
+</li>
+<li>evas_object_text_glow2_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga7dabe4ce0120cdf0c4e60a8f7a7e3659">Evas.h</a>
+</li>
+<li>evas_object_text_glow_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga76bcc6322241875990b572f37d754266">Evas.h</a>
+</li>
+<li>evas_object_text_glow_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga74c4ea0f0befd6213f48163ee70041e6">Evas.h</a>
+</li>
+<li>evas_object_text_horiz_advance_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga972494bd4b9d807ea5f98404a82d8eab">Evas.h</a>
+</li>
+<li>evas_object_text_inset_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d">Evas.h</a>
+</li>
+<li>evas_object_text_last_up_to_pos()
+: <a class="el" href="group__Evas__Object__Text.html#ga464d40578e2fdc2ad8890556e0b97268">Evas.h</a>
+</li>
+<li>evas_object_text_max_ascent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga1a0bdf57c3ca6e7fb7833ddfbe23b735">Evas.h</a>
+</li>
+<li>evas_object_text_max_descent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga28ee3eb5e199c23a14ac47e07ac49205">Evas.h</a>
+</li>
+<li>evas_object_text_outline_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga16485a0062a397faed21fad732ad16ba">Evas.h</a>
+</li>
+<li>evas_object_text_outline_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga1c1cf05c6b31f06a4c79486d19ddaece">Evas.h</a>
+</li>
+<li>evas_object_text_shadow_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga7cf7432965327a571d413dbaeca66822">Evas.h</a>
+</li>
+<li>evas_object_text_shadow_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga58f0bb7acf2c1d24e9ae5e4a391d19bc">Evas.h</a>
+</li>
+<li>evas_object_text_style_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaf08d4a9630d23ebdbf79cc8c2c91b2c6">Evas.h</a>
+</li>
+<li>evas_object_text_style_pad_get()
+: <a class="el" href="group__Evas__Object__Text.html#gafd638ae91c10d4139e41e6245c0712e1">Evas.h</a>
+</li>
+<li>evas_object_text_style_set()
+: <a class="el" href="group__Evas__Object__Text.html#gae7896521b9861d4bd3efc04ef1e8e91e">Evas.h</a>
+</li>
+<li>evas_object_text_text_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaef3b0b12eb63b9cd7574c1cf05afb7a8">Evas.h</a>
+</li>
+<li>evas_object_text_text_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532">Evas.h</a>
+</li>
+<li>evas_object_text_vert_advance_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaec17348b4fa02b15162ef96abdbfbf41">Evas.h</a>
+</li>
+<li>evas_object_textblock_add()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac43a253bc767da912ee1818a8dfa5713">Evas.h</a>
+</li>
+<li>evas_object_textblock_clear()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad5ee9184f370f602d2005ea8091a2c29">Evas.h</a>
+</li>
+<li>evas_object_textblock_cursor_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2bbd5e4e1cc36e18790dc09fbd2a6c18">Evas.h</a>
+</li>
+<li>evas_object_textblock_cursor_new()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45">Evas.h</a>
+</li>
+<li>evas_object_textblock_line_number_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga77d99df8bcb139f2a499a0dda4c5dca1">Evas.h</a>
+</li>
+<li>evas_object_textblock_newline_mode_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga0832ab9fd2820efee68bec6d1d80e427">Evas.h</a>
+</li>
+<li>evas_object_textblock_newline_mode_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae637041b07efe438e3539bb549a915e3">Evas.h</a>
+</li>
+<li>Evas_Object_Textblock_Node_Format
+: <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas.h</a>
+</li>
+<li>evas_object_textblock_replace_char_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga61f6c6ea8c0ce2028424396eb2ff4a81">Evas.h</a>
+</li>
+<li>evas_object_textblock_replace_char_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gab5d3958f4d73b2d9e3cccd828816b672">Evas.h</a>
+</li>
+<li>evas_object_textblock_size_formatted_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db">Evas.h</a>
+</li>
+<li>evas_object_textblock_size_native_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga9f3164f28981c6d6188a8de202848197">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_insets_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga851cb385b547a958790a0d60d386a1d8">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0">Evas.h</a>
+</li>
+<li>evas_object_textblock_text_markup_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga0896326ca8d9ca1dd194f322d0bc87b2">Evas.h</a>
+</li>
+<li>evas_object_textblock_text_markup_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">Evas.h</a>
+</li>
+<li>evas_object_textblock_valign_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga431ec30179fc3d7bcd98f508453e41bb">Evas.h</a>
+</li>
+<li>evas_object_textblock_valign_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga5f08b5b6222ed341574ec8167a86c9a0">Evas.h</a>
+</li>
+<li>evas_object_top_at_pointer_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448">Evas.h</a>
+</li>
+<li>evas_object_top_at_xy_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54">Evas.h</a>
+</li>
+<li>evas_object_top_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga2acf1e026d576ba355ca1b1ea24e0736">Evas.h</a>
+</li>
+<li>evas_object_top_in_rectangle_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gaf072ec206768d96c6f73a590e6af39c9">Evas.h</a>
+</li>
+<li>evas_object_type_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff">Evas.h</a>
+</li>
+<li>evas_object_unref()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089">Evas.h</a>
+</li>
+<li>evas_object_visible_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga9cf743b5d87b622c84ba591494445b49">Evas.h</a>
+</li>
+<li>evas_objects_at_xy_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga473d00deb431d0869484474153e47c04">Evas.h</a>
+</li>
+<li>evas_objects_in_rectangle_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gae5d4af2f915c2efe4e5cfc22644b8c53">Evas.h</a>
+</li>
+<li>evas_obscured_clear()
+: <a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876">Evas.h</a>
+</li>
+<li>evas_obscured_rectangle_add()
+: <a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4">Evas.h</a>
+</li>
+<li>evas_output_method_get()
+: <a class="el" href="group__Evas__Output__Method.html#gac4127a10231f1851cc3443a84fb0b059">Evas.h</a>
+</li>
+<li>evas_output_method_set()
+: <a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">Evas.h</a>
+</li>
+<li>evas_output_size_get()
+: <a class="el" href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a">Evas.h</a>
+</li>
+<li>evas_output_size_set()
+: <a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">Evas.h</a>
+</li>
+<li>evas_output_viewport_get()
+: <a class="el" href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee">Evas.h</a>
+</li>
+<li>evas_output_viewport_set()
+: <a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x70.html b/doc/html/globals_0x70.html
new file mode 100644 (file)
index 0000000..efc8a6f
--- /dev/null
@@ -0,0 +1,174 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li class="current"><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>_Evas_Pixel_Import_Pixel_Format
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">Evas.h</a>
+</li>
+<li>Evas_Performance
+: <a class="el" href="Evas_8h.html#a89d88a04f7684454960d465a1b9657c2">Evas.h</a>
+</li>
+<li>EVAS_PIXEL_FORMAT_ARGB32
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a">Evas.h</a>
+</li>
+<li>EVAS_PIXEL_FORMAT_NONE
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2">Evas.h</a>
+</li>
+<li>EVAS_PIXEL_FORMAT_YUV420P_601
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8">Evas.h</a>
+</li>
+<li>Evas_Pixel_Import_Pixel_Format
+: <a class="el" href="Evas_8h.html#ae609d856d391e1d65968a137313e0eb7">Evas.h</a>
+</li>
+<li>Evas_Pixel_Import_Source
+: <a class="el" href="Evas_8h.html#abb01076af16fbb50a837b1893b776783">Evas.h</a>
+</li>
+<li>Evas_Point
+: <a class="el" href="Evas_8h.html#adc20c4d74f28a08de32455f97946e6bd">Evas.h</a>
+</li>
+<li>evas_pointer_button_down_mask_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580">Evas.h</a>
+</li>
+<li>evas_pointer_canvas_xy_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#ga2f7bf87c9b1268e68c85d4bb8b9e4b15">Evas.h</a>
+</li>
+<li>evas_pointer_inside_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a">Evas.h</a>
+</li>
+<li>evas_pointer_output_xy_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98">Evas.h</a>
+</li>
+<li>Evas_Position
+: <a class="el" href="Evas_8h.html#a1fedb06548c63e95cdef58ae2578e494">Evas.h</a>
+</li>
+<li>evas_post_event_callback_push()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a">Evas.h</a>
+</li>
+<li>evas_post_event_callback_remove()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516">Evas.h</a>
+</li>
+<li>evas_post_event_callback_remove_full()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9">Evas.h</a>
+</li>
+<li>Evas_Precision_Position
+: <a class="el" href="Evas_8h.html#ae62b68e728184674ee011ec19c48fa25">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x72.html b/doc/html/globals_0x72.html
new file mode 100644 (file)
index 0000000..f4a24d1
--- /dev/null
@@ -0,0 +1,186 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li class="current"><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>_Evas_Render_Op
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">Evas.h</a>
+</li>
+<li>evas_render()
+: <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">Evas.h</a>
+</li>
+<li>EVAS_RENDER_ADD
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926">Evas.h</a>
+</li>
+<li>EVAS_RENDER_ADD_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc">Evas.h</a>
+</li>
+<li>EVAS_RENDER_BLEND
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e">Evas.h</a>
+</li>
+<li>EVAS_RENDER_BLEND_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7">Evas.h</a>
+</li>
+<li>EVAS_RENDER_COPY
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd">Evas.h</a>
+</li>
+<li>EVAS_RENDER_COPY_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea">Evas.h</a>
+</li>
+<li>evas_render_idle_flush()
+: <a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">Evas.h</a>
+</li>
+<li>EVAS_RENDER_MASK
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f">Evas.h</a>
+</li>
+<li>evas_render_method_list()
+: <a class="el" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285">Evas.h</a>
+</li>
+<li>evas_render_method_list_free()
+: <a class="el" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693">Evas.h</a>
+</li>
+<li>evas_render_method_lookup()
+: <a class="el" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b">Evas.h</a>
+</li>
+<li>EVAS_RENDER_MUL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294">Evas.h</a>
+</li>
+<li>Evas_Render_Op
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas.h</a>
+</li>
+<li>EVAS_RENDER_SUB
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27">Evas.h</a>
+</li>
+<li>EVAS_RENDER_SUB_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c">Evas.h</a>
+</li>
+<li>EVAS_RENDER_TINT
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9">Evas.h</a>
+</li>
+<li>EVAS_RENDER_TINT_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6">Evas.h</a>
+</li>
+<li>evas_render_updates()
+: <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca">Evas.h</a>
+</li>
+<li>evas_render_updates_free()
+: <a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x73.html b/doc/html/globals_0x73.html
new file mode 100644 (file)
index 0000000..82aaebc
--- /dev/null
@@ -0,0 +1,186 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li class="current"><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>evas_shutdown()
+: <a class="el" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed">Evas.h</a>
+</li>
+<li>Evas_Smart
+: <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas.h</a>
+</li>
+<li>Evas_Smart_Cb_Description
+: <a class="el" href="group__Evas__Smart__Group.html#ga0ad0e7d482d7660e756e275d355e3634">Evas.h</a>
+</li>
+<li>Evas_Smart_Class
+: <a class="el" href="group__Evas__Smart__Group.html#gaea15f67e901bf5380cdb67dc1bb43391">Evas.h</a>
+</li>
+<li>evas_smart_class_get()
+: <a class="el" href="group__Evas__Smart__Group.html#gac41799a0e334d515fa8e07313b88c611">Evas.h</a>
+</li>
+<li>evas_smart_class_inherit
+: <a class="el" href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+: <a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+: <a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NULL
+: <a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562">Evas.h</a>
+</li>
+<li>evas_smart_class_new()
+: <a class="el" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">Evas.h</a>
+</li>
+<li>EVAS_SMART_DATA_ALLOC
+: <a class="el" href="group__Evas__Smart__Group.html#ga4aa4b72aafa0391144fb0171aeff2ccd">Evas.h</a>
+</li>
+<li>evas_smart_data_get()
+: <a class="el" href="group__Evas__Smart__Group.html#gaa88f3f98a71031573b8dfc4bfeac2f64">Evas.h</a>
+</li>
+<li>evas_smart_free()
+: <a class="el" href="group__Evas__Smart__Group.html#ga3501ae449533ae15eee9cbf65811cad2">Evas.h</a>
+</li>
+<li>evas_smart_objects_calculate()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaa30fa648297b723a73f28632d1dbec62">Evas.h</a>
+</li>
+<li>EVAS_SMART_SUBCLASS_NEW
+: <a class="el" href="group__Evas__Smart__Group.html#ga58dc94af6f064b39b2bf0155908fbe52">Evas.h</a>
+</li>
+<li>evas_string_char_len_get()
+: <a class="el" href="group__Evas__Utils.html#gaf9edd726590b1f56ca3e566ba1a2dbb2">Evas.h</a>
+</li>
+<li>evas_string_char_next_get()
+: <a class="el" href="group__Evas__Utils.html#ga31161605cf449d16e0ea0183509a1e3b">Evas.h</a>
+</li>
+<li>evas_string_char_prev_get()
+: <a class="el" href="group__Evas__Utils.html#ga20119def41aa1f24aea7961b3fa0fd72">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_0x74.html b/doc/html/globals_0x74.html
new file mode 100644 (file)
index 0000000..edf09bf
--- /dev/null
@@ -0,0 +1,273 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li class="current"><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_0x62.html#index_b"><span>b</span></a></li>
+      <li><a href="globals_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_0x68.html#index_h"><span>h</span></a></li>
+      <li><a href="globals_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_0x73.html#index_s"><span>s</span></a></li>
+      <li class="current"><a href="globals_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>EVAS_TEXT_INVALID
+: <a class="el" href="Evas_8h.html#ad143a67f2f6f649135d84f8a55a6766a">Evas.h</a>
+</li>
+<li>EVAS_TEXT_SPECIAL
+: <a class="el" href="Evas_8h.html#a895e0e75635b4de42f815d3281fd81be">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_coord_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_delete()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf9cd7ffa37008c0d6f61413703a0670e">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga47950e666e252bbf0ad9d46b59e74269">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_content_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_eol_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_is_visible_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_item_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaedae64aa95805f0c3480cf6001297ae9">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_free()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_is_format()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_char_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6da9c7bff6073756a619f9b8a00d0e0b">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_char_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_coord_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaa49a0235809d49fb5f988253050dd101">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_char_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_char_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_text_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_text_length_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga57b2e7d853306c435946e0db83080db5">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pen_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pos_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga7f74459b59870c258bd312ff114778bc">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pos_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gacde95e638bba6858b73f316afe2cfef0">Evas.h</a>
+</li>
+<li>evas_textblock_escape_string_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac165d57003e552fa6739158dc2ed73f5">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_first_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga56e9057e5845fe785710ba6c5d07ab3e">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_last_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga091521044b95190c75c57ca1661bcc83">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_next_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga341e85b5bb0c9b2c82db4eb5a2432a9d">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_prev_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8566bfff8ca71cc89cf704c9a082780c">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_text_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8">Evas.h</a>
+</li>
+<li>evas_textblock_string_escape_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga70b3680a8691c70bab39bd1c127424a5">Evas.h</a>
+</li>
+<li>evas_textblock_style_free()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f">Evas.h</a>
+</li>
+<li>evas_textblock_style_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae106e0cfb957f1916eb3833c1214394c">Evas.h</a>
+</li>
+<li>evas_textblock_style_new()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga00cc8baec308c583ac801811dd381d4c">Evas.h</a>
+</li>
+<li>evas_textblock_style_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_PAD
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_REFLECT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_REPEAT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT_REFLECT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT_REPEAT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_defs.html b/doc/html/globals_defs.html
new file mode 100644 (file)
index 0000000..bb4075d
--- /dev/null
@@ -0,0 +1,175 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;<ul>
+<li>EVAS_COLOR_SPACE_AHSV
+: <a class="el" href="Evas_8h.html#a94722d391c46d7c062e13447d9877e71">Evas.h</a>
+</li>
+<li>EVAS_COLOR_SPACE_ARGB
+: <a class="el" href="Evas_8h.html#a37fdd5a69b7ea8e46140ef147aef8192">Evas.h</a>
+</li>
+<li>EVAS_HINT_EXPAND
+: <a class="el" href="Evas_8h.html#aa47c85083d3dae0111c21ec49359306a">Evas.h</a>
+</li>
+<li>EVAS_HINT_FILL
+: <a class="el" href="Evas_8h.html#aecbac710f36d52911fc34dcdaf8e729c">Evas.h</a>
+</li>
+<li>EVAS_LAYER_MAX
+: <a class="el" href="Evas_8h.html#a1456f5c97f03ebd786c49d4d1178e7a0">Evas.h</a>
+</li>
+<li>EVAS_LAYER_MIN
+: <a class="el" href="Evas_8h.html#a8817f2ac4e0058d43f9bfe1e563e551b">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT
+: <a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_NAME_VERSION
+: <a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_NULL
+: <a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa">Evas.h</a>
+</li>
+<li>EVAS_OBJECT_BOX_API_INIT_VERSION
+: <a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1">Evas.h</a>
+</li>
+<li>evas_object_size_hint_expand_get
+: <a class="el" href="Evas_8h.html#a71adf20af9358d9d26b7c88b61d1fc8d">Evas.h</a>
+</li>
+<li>evas_object_size_hint_expand_set
+: <a class="el" href="Evas_8h.html#ab239e77a0e38a5a756acbb0604055ecf">Evas.h</a>
+</li>
+<li>evas_object_size_hint_fill_get
+: <a class="el" href="Evas_8h.html#ac787ce1277b96bed04ff2b08449907c9">Evas.h</a>
+</li>
+<li>evas_object_size_hint_fill_set
+: <a class="el" href="Evas_8h.html#a1b148ef14ae2eb1fbde17179b66a0503">Evas.h</a>
+</li>
+<li>evas_smart_class_inherit
+: <a class="el" href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT
+: <a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS
+: <a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_NULL
+: <a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_INIT_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562">Evas.h</a>
+</li>
+<li>EVAS_SMART_CLASS_VERSION
+: <a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">Evas.h</a>
+</li>
+<li>EVAS_SMART_DATA_ALLOC
+: <a class="el" href="group__Evas__Smart__Group.html#ga4aa4b72aafa0391144fb0171aeff2ccd">Evas.h</a>
+</li>
+<li>EVAS_SMART_SUBCLASS_NEW
+: <a class="el" href="group__Evas__Smart__Group.html#ga58dc94af6f064b39b2bf0155908fbe52">Evas.h</a>
+</li>
+<li>EVAS_TEXT_INVALID
+: <a class="el" href="Evas_8h.html#ad143a67f2f6f649135d84f8a55a6766a">Evas.h</a>
+</li>
+<li>EVAS_TEXT_SPECIAL
+: <a class="el" href="Evas_8h.html#a895e0e75635b4de42f815d3281fd81be">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_enum.html b/doc/html/globals_enum.html
new file mode 100644 (file)
index 0000000..bc821d3
--- /dev/null
@@ -0,0 +1,136 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li class="current"><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;<ul>
+<li>_Evas_Alloc_Error
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cb">Evas.h</a>
+</li>
+<li>_Evas_Button_Flags
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9">Evas.h</a>
+</li>
+<li>_Evas_Callback_Type
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8a">Evas.h</a>
+</li>
+<li>_Evas_Colorspace
+: <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">Evas.h</a>
+</li>
+<li>_Evas_Event_Flags
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1a">Evas.h</a>
+</li>
+<li>_Evas_Fill_Spread
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738">Evas.h</a>
+</li>
+<li>_Evas_Font_Hinting_Flags
+: <a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">Evas.h</a>
+</li>
+<li>_Evas_Load_Error
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5f">Evas.h</a>
+</li>
+<li>_Evas_Object_Pointer_Mode
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">Evas.h</a>
+</li>
+<li>_Evas_Object_Table_Homogeneous_Mode
+: <a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">Evas.h</a>
+</li>
+<li>_Evas_Pixel_Import_Pixel_Format
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59">Evas.h</a>
+</li>
+<li>_Evas_Render_Op
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_eval.html b/doc/html/globals_eval.html
new file mode 100644 (file)
index 0000000..4003036
--- /dev/null
@@ -0,0 +1,383 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>EVAS_ALLOC_ERROR_FATAL
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e">Evas.h</a>
+</li>
+<li>EVAS_ALLOC_ERROR_NONE
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8">Evas.h</a>
+</li>
+<li>EVAS_ALLOC_ERROR_RECOVERED
+: <a class="el" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>EVAS_BUTTON_DOUBLE_CLICK
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d">Evas.h</a>
+</li>
+<li>EVAS_BUTTON_NONE
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd">Evas.h</a>
+</li>
+<li>EVAS_BUTTON_TRIPLE_CLICK
+: <a class="el" href="Evas_8h.html#a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>EVAS_CALLBACK_CANVAS_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_CHANGED_SIZE_HINTS
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_DEL
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FOCUS_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FOCUS_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_FREE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_HIDE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_HOLD
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_IMAGE_PRELOADED
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_IMAGE_UNLOADED
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_KEY_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_KEY_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_LAST
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_IN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_OUT
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOUSE_WHEEL
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_DOWN
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_MOVE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_MULTI_UP
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RENDER_FLUSH_POST
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RENDER_FLUSH_PRE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RESIZE
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_RESTACK
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145">Evas.h</a>
+</li>
+<li>EVAS_CALLBACK_SHOW
+: <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_ARGB8888
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_GRY8
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_RGB565_A5P
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_YCBCR422P601_PL
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636">Evas.h</a>
+</li>
+<li>EVAS_COLORSPACE_YCBCR422P709_PL
+: <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>EVAS_EVENT_FLAG_NONE
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf">Evas.h</a>
+</li>
+<li>EVAS_EVENT_FLAG_ON_HOLD
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83">Evas.h</a>
+</li>
+<li>EVAS_EVENT_FLAG_ON_SCROLL
+: <a class="el" href="Evas_8h.html#a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>EVAS_FONT_HINTING_AUTO
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440">Evas.h</a>
+</li>
+<li>EVAS_FONT_HINTING_BYTECODE
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e">Evas.h</a>
+</li>
+<li>EVAS_FONT_HINTING_NONE
+: <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>EVAS_LOAD_ERROR_CORRUPT_FILE
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_DOES_NOT_EXIST
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_GENERIC
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_NONE
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_PERMISSION_DENIED
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4">Evas.h</a>
+</li>
+<li>EVAS_LOAD_ERROR_UNKNOWN_FORMAT
+: <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>EVAS_OBJECT_POINTER_MODE_AUTOGRAB
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>EVAS_PIXEL_FORMAT_ARGB32
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a">Evas.h</a>
+</li>
+<li>EVAS_PIXEL_FORMAT_NONE
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2">Evas.h</a>
+</li>
+<li>EVAS_PIXEL_FORMAT_YUV420P_601
+: <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>EVAS_RENDER_ADD
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926">Evas.h</a>
+</li>
+<li>EVAS_RENDER_ADD_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc">Evas.h</a>
+</li>
+<li>EVAS_RENDER_BLEND
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e">Evas.h</a>
+</li>
+<li>EVAS_RENDER_BLEND_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7">Evas.h</a>
+</li>
+<li>EVAS_RENDER_COPY
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd">Evas.h</a>
+</li>
+<li>EVAS_RENDER_COPY_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea">Evas.h</a>
+</li>
+<li>EVAS_RENDER_MASK
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f">Evas.h</a>
+</li>
+<li>EVAS_RENDER_MUL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294">Evas.h</a>
+</li>
+<li>EVAS_RENDER_SUB
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27">Evas.h</a>
+</li>
+<li>EVAS_RENDER_SUB_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c">Evas.h</a>
+</li>
+<li>EVAS_RENDER_TINT
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9">Evas.h</a>
+</li>
+<li>EVAS_RENDER_TINT_REL
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>EVAS_TEXTURE_PAD
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_REFLECT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_REPEAT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT_REFLECT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85">Evas.h</a>
+</li>
+<li>EVAS_TEXTURE_RESTRICT_REPEAT
+: <a class="el" href="Evas_8h.html#a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func.html b/doc/html/globals_func.html
new file mode 100644 (file)
index 0000000..c5ba358
--- /dev/null
@@ -0,0 +1,130 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li class="current"><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>evas_alloc_error()
+: <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9">Evas.h</a>
+</li>
+<li>evas_async_events_fd_get()
+: <a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd">Evas.h</a>
+</li>
+<li>evas_async_events_process()
+: <a class="el" href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x63.html b/doc/html/globals_func_0x63.html
new file mode 100644 (file)
index 0000000..10db45a
--- /dev/null
@@ -0,0 +1,163 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li class="current"><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>evas_color_argb_premul()
+: <a class="el" href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa">Evas.h</a>
+</li>
+<li>evas_color_argb_unpremul()
+: <a class="el" href="group__Evas__Utils.html#ga520b64aa41b81e13bf7fc9f16fd2f3e5">Evas.h</a>
+</li>
+<li>evas_color_hsv_to_rgb()
+: <a class="el" href="group__Evas__Utils.html#ga2a28c2e6ecdc72189040ae3f5bd829d0">Evas.h</a>
+</li>
+<li>evas_color_rgb_to_hsv()
+: <a class="el" href="group__Evas__Utils.html#ga4054acb14873d5923306ddde5537171d">Evas.h</a>
+</li>
+<li>evas_coord_screen_x_to_world()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051">Evas.h</a>
+</li>
+<li>evas_coord_screen_y_to_world()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2">Evas.h</a>
+</li>
+<li>evas_coord_world_x_to_screen()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9">Evas.h</a>
+</li>
+<li>evas_coord_world_y_to_screen()
+: <a class="el" href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8">Evas.h</a>
+</li>
+<li>evas_cserve_config_get()
+: <a class="el" href="group__Evas__Cserve.html#ga9bb7fbd93f4bc9310707549ff9427b47">Evas.h</a>
+</li>
+<li>evas_cserve_config_set()
+: <a class="el" href="group__Evas__Cserve.html#ga10c38a7bfb59423c2a96447b42c2aa15">Evas.h</a>
+</li>
+<li>evas_cserve_connected_get()
+: <a class="el" href="group__Evas__Cserve.html#gab88ee4c01dbdf01fea4d8acf4a07b25f">Evas.h</a>
+</li>
+<li>evas_cserve_disconnect()
+: <a class="el" href="group__Evas__Cserve.html#ga3129abb4410e7d6967072f14ac327daf">Evas.h</a>
+</li>
+<li>evas_cserve_stats_get()
+: <a class="el" href="group__Evas__Cserve.html#ga82fec634eb97f664e9cb3ed08358b1a2">Evas.h</a>
+</li>
+<li>evas_cserve_want_get()
+: <a class="el" href="group__Evas__Cserve.html#gab039ccd04ab2e8857a0df629b4ac0901">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x64.html b/doc/html/globals_func_0x64.html
new file mode 100644 (file)
index 0000000..09c456a
--- /dev/null
@@ -0,0 +1,136 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li class="current"><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>evas_damage_rectangle_add()
+: <a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">Evas.h</a>
+</li>
+<li>evas_data_argb_premul()
+: <a class="el" href="group__Evas__Utils.html#gad61423a02fa7c3cb0293c3bdd5516216">Evas.h</a>
+</li>
+<li>evas_data_argb_unpremul()
+: <a class="el" href="group__Evas__Utils.html#ga6794135ce6545bd5e16f6563043a8f18">Evas.h</a>
+</li>
+<li>evas_data_attach_get()
+: <a class="el" href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc">Evas.h</a>
+</li>
+<li>evas_data_attach_set()
+: <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x65.html b/doc/html/globals_func_0x65.html
new file mode 100644 (file)
index 0000000..6b35917
--- /dev/null
@@ -0,0 +1,166 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li class="current"><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>evas_engine_info_get()
+: <a class="el" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713">Evas.h</a>
+</li>
+<li>evas_engine_info_set()
+: <a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">Evas.h</a>
+</li>
+<li>evas_event_feed_hold()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gaedc3a956cd753acdd2a58ad0d2865d04">Evas.h</a>
+</li>
+<li>evas_event_feed_key_down()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga096e2ef05bfa471d2773729bd24732a0">Evas.h</a>
+</li>
+<li>evas_event_feed_key_up()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gaebe7d4f8b6423aff1ffe67c724d4590d">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_cancel()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_down()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_in()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_move()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_out()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_up()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">Evas.h</a>
+</li>
+<li>evas_event_feed_mouse_wheel()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#ga393156722bbe1ce384f0ab33ab76a1f2">Evas.h</a>
+</li>
+<li>evas_event_freeze()
+: <a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e">Evas.h</a>
+</li>
+<li>evas_event_freeze_get()
+: <a class="el" href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64">Evas.h</a>
+</li>
+<li>evas_event_thaw()
+: <a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x66.html b/doc/html/globals_func_0x66.html
new file mode 100644 (file)
index 0000000..9c9089c
--- /dev/null
@@ -0,0 +1,166 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li class="current"><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>evas_focus_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5">Evas.h</a>
+</li>
+<li>evas_focus_in()
+: <a class="el" href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb">Evas.h</a>
+</li>
+<li>evas_focus_out()
+: <a class="el" href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff">Evas.h</a>
+</li>
+<li>evas_focus_state_get()
+: <a class="el" href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8">Evas.h</a>
+</li>
+<li>evas_font_available_list()
+: <a class="el" href="group__Evas__Font__Group.html#ga9d51a2efecf89a81a2990db252f3dc6c">Evas.h</a>
+</li>
+<li>evas_font_available_list_free()
+: <a class="el" href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467">Evas.h</a>
+</li>
+<li>evas_font_cache_flush()
+: <a class="el" href="group__Evas__Font__Group.html#gad75ac8ed0c921e774f1c519a66f05a2f">Evas.h</a>
+</li>
+<li>evas_font_cache_get()
+: <a class="el" href="group__Evas__Font__Group.html#ga9cf39aae3074cac05c4aafa3ff24c32f">Evas.h</a>
+</li>
+<li>evas_font_cache_set()
+: <a class="el" href="group__Evas__Font__Group.html#ga5582cfcdb08f6253225bb8cede49033a">Evas.h</a>
+</li>
+<li>evas_font_hinting_can_hint()
+: <a class="el" href="group__Evas__Font__Group.html#gaa4210fa6661330e67ec4c9cbde775b4b">Evas.h</a>
+</li>
+<li>evas_font_hinting_get()
+: <a class="el" href="group__Evas__Font__Group.html#gafe785a87743b72d8064f0562fd79cc75">Evas.h</a>
+</li>
+<li>evas_font_hinting_set()
+: <a class="el" href="group__Evas__Font__Group.html#gaf39062952fc420ff32fbacfb8c27bd7d">Evas.h</a>
+</li>
+<li>evas_font_path_clear()
+: <a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">Evas.h</a>
+</li>
+<li>evas_font_path_list()
+: <a class="el" href="group__Evas__Font__Path__Group.html#ga06fc80b3e4c27237a571404fc6aa3aeb">Evas.h</a>
+</li>
+<li>evas_free()
+: <a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x69.html b/doc/html/globals_func_0x69.html
new file mode 100644 (file)
index 0000000..44a1bae
--- /dev/null
@@ -0,0 +1,136 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li class="current"><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_i"></a>- i -</h3><ul>
+<li>evas_image_cache_flush()
+: <a class="el" href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214">Evas.h</a>
+</li>
+<li>evas_image_cache_get()
+: <a class="el" href="group__Evas__Image__Group.html#gad7ee7f4627d198c0de0ff197fe2f9ed0">Evas.h</a>
+</li>
+<li>evas_image_cache_reload()
+: <a class="el" href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981">Evas.h</a>
+</li>
+<li>evas_image_cache_set()
+: <a class="el" href="group__Evas__Image__Group.html#gab28271aad78206e5ee9bed62e0decfa7">Evas.h</a>
+</li>
+<li>evas_init()
+: <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x6b.html b/doc/html/globals_func_0x6b.html
new file mode 100644 (file)
index 0000000..acbd6b3
--- /dev/null
@@ -0,0 +1,127 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li class="current"><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_k"></a>- k -</h3><ul>
+<li>evas_key_lock_get()
+: <a class="el" href="Evas_8h.html#aa8af6d3610b4e937e79e761c8c4c7819">Evas.h</a>
+</li>
+<li>evas_key_modifier_get()
+: <a class="el" href="Evas_8h.html#a5c233a1e9eea970c1db0de87ff343e77">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x6c.html b/doc/html/globals_func_0x6c.html
new file mode 100644 (file)
index 0000000..249b01a
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li class="current"><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>evas_load_error_str()
+: <a class="el" href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x6d.html b/doc/html/globals_func_0x6d.html
new file mode 100644 (file)
index 0000000..46638fb
--- /dev/null
@@ -0,0 +1,193 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li class="current"><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>evas_map_alpha_get()
+: <a class="el" href="Evas_8h.html#ae7de42394f26fa1e5bfc315f7d114ac3">Evas.h</a>
+</li>
+<li>evas_map_alpha_set()
+: <a class="el" href="Evas_8h.html#ae1cbf087e2182e01d07979975baa9065">Evas.h</a>
+</li>
+<li>evas_map_count_get()
+: <a class="el" href="Evas_8h.html#acb6da0be6c78ebf89a5b25d9a0fa44fa">Evas.h</a>
+</li>
+<li>evas_map_dup()
+: <a class="el" href="Evas_8h.html#a25ffe0dd36fed0c9c492d636b163390a">Evas.h</a>
+</li>
+<li>evas_map_free()
+: <a class="el" href="Evas_8h.html#a78ecdf799f326e1c17aae6770c06058a">Evas.h</a>
+</li>
+<li>evas_map_new()
+: <a class="el" href="Evas_8h.html#a719acc4f4792236f7031664ec450b399">Evas.h</a>
+</li>
+<li>evas_map_point_color_get()
+: <a class="el" href="Evas_8h.html#a40ae28dc015c5dad8a09ce5c6d764422">Evas.h</a>
+</li>
+<li>evas_map_point_color_set()
+: <a class="el" href="Evas_8h.html#ae569741d778974e2825dc05cc3e68f9f">Evas.h</a>
+</li>
+<li>evas_map_point_coord_get()
+: <a class="el" href="Evas_8h.html#ab8640a9b915b7c6f33f96782bb23e939">Evas.h</a>
+</li>
+<li>evas_map_point_coord_set()
+: <a class="el" href="Evas_8h.html#acc9bdfa50e0344928f070aef0cf7a8b7">Evas.h</a>
+</li>
+<li>evas_map_point_image_uv_get()
+: <a class="el" href="Evas_8h.html#ab993d154039532e6105d2c1ea23133fc">Evas.h</a>
+</li>
+<li>evas_map_point_image_uv_set()
+: <a class="el" href="Evas_8h.html#a1ce926660d27e788b469f8a202dfb84a">Evas.h</a>
+</li>
+<li>evas_map_smooth_get()
+: <a class="el" href="Evas_8h.html#ac7693cff90eddde9f1cd5fd99d6df695">Evas.h</a>
+</li>
+<li>evas_map_smooth_set()
+: <a class="el" href="Evas_8h.html#ae851a2ebf0c272cf0bcb97168b625d23">Evas.h</a>
+</li>
+<li>evas_map_util_3d_lighting()
+: <a class="el" href="Evas_8h.html#a4dd3a3cf9091afaa87bc042b12a5685d">Evas.h</a>
+</li>
+<li>evas_map_util_3d_perspective()
+: <a class="el" href="Evas_8h.html#a14c467420d169d666865cdb31746728d">Evas.h</a>
+</li>
+<li>evas_map_util_3d_rotate()
+: <a class="el" href="Evas_8h.html#a4118dedc011bd94a35d03251c7bef5ed">Evas.h</a>
+</li>
+<li>evas_map_util_clockwise_get()
+: <a class="el" href="Evas_8h.html#a4e7cd972cac5507838c9827ef04b2607">Evas.h</a>
+</li>
+<li>evas_map_util_points_color_set()
+: <a class="el" href="Evas_8h.html#a1ea4919339773a113dece07f1335d6ac">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_geometry()
+: <a class="el" href="Evas_8h.html#adb28b64c445931d92eeeab2c3fb52286">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_object()
+: <a class="el" href="Evas_8h.html#ac2d35f2242ce06afe5b9aff79ed33487">Evas.h</a>
+</li>
+<li>evas_map_util_points_populate_from_object_full()
+: <a class="el" href="Evas_8h.html#af71ab80fefb757aea040eaae33fd06e6">Evas.h</a>
+</li>
+<li>evas_map_util_rotate()
+: <a class="el" href="Evas_8h.html#ad5bceb379d28374c62579b1969ce5080">Evas.h</a>
+</li>
+<li>evas_map_util_zoom()
+: <a class="el" href="Evas_8h.html#a986dd1010c757910b4520527f229d3b5">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x6e.html b/doc/html/globals_func_0x6e.html
new file mode 100644 (file)
index 0000000..70ef9d2
--- /dev/null
@@ -0,0 +1,133 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li class="current"><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>evas_new()
+: <a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87">Evas.h</a>
+</li>
+<li>evas_nochange_pop()
+: <a class="el" href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac">Evas.h</a>
+</li>
+<li>evas_nochange_push()
+: <a class="el" href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe">Evas.h</a>
+</li>
+<li>evas_norender()
+: <a class="el" href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x6f.html b/doc/html/globals_func_0x6f.html
new file mode 100644 (file)
index 0000000..7647d55
--- /dev/null
@@ -0,0 +1,805 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li class="current"><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>evas_object_above_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gab78867a46ecc2e35ac90bf40bae1689f">Evas.h</a>
+</li>
+<li>evas_object_anti_alias_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga3308cb65716beb4ce826b9701e23159a">Evas.h</a>
+</li>
+<li>evas_object_anti_alias_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaf0c7d4c49695749fa616d0abdbd5ddeb">Evas.h</a>
+</li>
+<li>evas_object_below_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaff15b0dacac065bc84e6124c0c4920c5">Evas.h</a>
+</li>
+<li>evas_object_bottom_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga3e06dcd04da8cd9d64e106f7ede8db9e">Evas.h</a>
+</li>
+<li>evas_object_box_accessor_new()
+: <a class="el" href="group__Evas__Object__Box.html#gad5c5837393bd163f6cde72bde073333b">Evas.h</a>
+</li>
+<li>evas_object_box_add()
+: <a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">Evas.h</a>
+</li>
+<li>evas_object_box_add_to()
+: <a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">Evas.h</a>
+</li>
+<li>evas_object_box_align_get()
+: <a class="el" href="group__Evas__Object__Box.html#gad87e3a868b14d1a28da7511f95b59673">Evas.h</a>
+</li>
+<li>evas_object_box_align_set()
+: <a class="el" href="group__Evas__Object__Box.html#gae66fe763591e62621cf6352528d97e10">Evas.h</a>
+</li>
+<li>evas_object_box_children_get()
+: <a class="el" href="group__Evas__Object__Box.html#ga542294a74645829cd5531a8ddec32d9c">Evas.h</a>
+</li>
+<li>evas_object_box_iterator_new()
+: <a class="el" href="group__Evas__Object__Box.html#ga2a3ceff4f02512fa7f85618252eacbdc">Evas.h</a>
+</li>
+<li>evas_object_box_option_property_name_get()
+: <a class="el" href="group__Evas__Object__Box.html#gad6b908faeca8fb7e16c002509a86ffab">Evas.h</a>
+</li>
+<li>evas_object_box_padding_get()
+: <a class="el" href="group__Evas__Object__Box.html#gab24383f3b29c8bc78c98cd0b0f16902d">Evas.h</a>
+</li>
+<li>evas_object_box_padding_set()
+: <a class="el" href="group__Evas__Object__Box.html#ga75ab3d2f84c328010c26a6b8d89c9c67">Evas.h</a>
+</li>
+<li>evas_object_box_remove_all()
+: <a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">Evas.h</a>
+</li>
+<li>evas_object_box_remove_at()
+: <a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">Evas.h</a>
+</li>
+<li>evas_object_box_smart_class_get()
+: <a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">Evas.h</a>
+</li>
+<li>evas_object_box_smart_set()
+: <a class="el" href="group__Evas__Object__Box.html#ga19c407e45de527d9400823fb1c85d0fe">Evas.h</a>
+</li>
+<li>evas_object_clip_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a">Evas.h</a>
+</li>
+<li>evas_object_clip_unset()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">Evas.h</a>
+</li>
+<li>evas_object_clipees_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887">Evas.h</a>
+</li>
+<li>evas_object_color_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga3856f8b88d158ffa9783b44340ef343d">Evas.h</a>
+</li>
+<li>evas_object_color_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f">Evas.h</a>
+</li>
+<li>evas_object_del()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">Evas.h</a>
+</li>
+<li>evas_object_evas_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">Evas.h</a>
+</li>
+<li>evas_object_focus_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654">Evas.h</a>
+</li>
+<li>evas_object_focus_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">Evas.h</a>
+</li>
+<li>evas_object_geometry_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">Evas.h</a>
+</li>
+<li>evas_object_hide()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">Evas.h</a>
+</li>
+<li>evas_object_image_add()
+: <a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_get()
+: <a class="el" href="group__Evas__Object__Image.html#gac136f7f65d8529427b1f6da055b47a30">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_mask_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga154d8315842f4602878704951705e6cb">Evas.h</a>
+</li>
+<li>evas_object_image_alpha_set()
+: <a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">Evas.h</a>
+</li>
+<li>evas_object_image_border_center_fill_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga04f8a4f69c5ad37d9229e4c39bb7c010">Evas.h</a>
+</li>
+<li>evas_object_image_border_center_fill_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga4caf736585ad602e6748e434ac1f5fc6">Evas.h</a>
+</li>
+<li>evas_object_image_border_get()
+: <a class="el" href="group__Evas__Object__Image.html#gab666a37cbae8ee846cdeb518e7fd495c">Evas.h</a>
+</li>
+<li>evas_object_image_border_scale_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga7cc1bf948a8a5d61c703211f0bd5d2dc">Evas.h</a>
+</li>
+<li>evas_object_image_border_scale_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0">Evas.h</a>
+</li>
+<li>evas_object_image_border_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d">Evas.h</a>
+</li>
+<li>evas_object_image_colorspace_get()
+: <a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42">Evas.h</a>
+</li>
+<li>evas_object_image_colorspace_set()
+: <a class="el" href="group__Evas__Object__Image.html#gac352f7b110d7e527bf2d36fba5507d0c">Evas.h</a>
+</li>
+<li>evas_object_image_content_hint_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga28881040682dbbf00937948124e9f3fb">Evas.h</a>
+</li>
+<li>evas_object_image_content_hint_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaf6cc0faf39773e12eb496116afd67c6f">Evas.h</a>
+</li>
+<li>evas_object_image_data_convert()
+: <a class="el" href="group__Evas__Object__Image.html#ga3072cf7c31cf33057abd8ae8876218cd">Evas.h</a>
+</li>
+<li>evas_object_image_data_copy_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga97d17b8d95f0ca01a264a6c303d00c27">Evas.h</a>
+</li>
+<li>evas_object_image_data_get()
+: <a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2">Evas.h</a>
+</li>
+<li>evas_object_image_data_set()
+: <a class="el" href="group__Evas__Object__Image.html#gabdd65e4c69f422ddcf0d3c8720859a92">Evas.h</a>
+</li>
+<li>evas_object_image_data_update_add()
+: <a class="el" href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165">Evas.h</a>
+</li>
+<li>evas_object_image_file_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">Evas.h</a>
+</li>
+<li>evas_object_image_fill_get()
+: <a class="el" href="group__Evas__Object__Image.html#gaf1a7d6b8cf914234abdd5d3d3312f85e">Evas.h</a>
+</li>
+<li>evas_object_image_fill_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">Evas.h</a>
+</li>
+<li>evas_object_image_fill_spread_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae86928005f983627c74dbaef6c0fbb0e">Evas.h</a>
+</li>
+<li>evas_object_image_fill_spread_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881">Evas.h</a>
+</li>
+<li>evas_object_image_filled_add()
+: <a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">Evas.h</a>
+</li>
+<li>evas_object_image_filled_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga3fbe9f33ccc93a5c45ffa3b26019694e">Evas.h</a>
+</li>
+<li>evas_object_image_filled_set()
+: <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">Evas.h</a>
+</li>
+<li>evas_object_image_load_dpi_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga92a5503085a5c0731bb9c299e7b42f78">Evas.h</a>
+</li>
+<li>evas_object_image_load_dpi_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga88a20331cef0267ddc1d00419841580b">Evas.h</a>
+</li>
+<li>evas_object_image_load_error_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga46e4a0b2b916d28694ad054549f88e24">Evas.h</a>
+</li>
+<li>evas_object_image_load_scale_down_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga259c48b3e2a4009e8a10f8e9874d3847">Evas.h</a>
+</li>
+<li>evas_object_image_load_scale_down_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga59796713b88c217ce5869cb003e404c0">Evas.h</a>
+</li>
+<li>evas_object_image_load_size_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae8047183e894e1e1245f1f3aaf78f218">Evas.h</a>
+</li>
+<li>evas_object_image_load_size_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga1811fb73c1e138b5221cf4b25148111a">Evas.h</a>
+</li>
+<li>evas_object_image_native_surface_get()
+: <a class="el" href="group__Evas__Object__Image.html#gabd3effabde6da00dfcac7cf0cfa22280">Evas.h</a>
+</li>
+<li>evas_object_image_pixels_dirty_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga1d9e82da12f7831552fca02b9b313551">Evas.h</a>
+</li>
+<li>evas_object_image_pixels_dirty_set()
+: <a class="el" href="group__Evas__Object__Image.html#gad230eeeb0c6ba49eafd32b20afa314cb">Evas.h</a>
+</li>
+<li>evas_object_image_preload()
+: <a class="el" href="group__Evas__Object__Image.html#gad6383022c4013008d11827b32bf63d59">Evas.h</a>
+</li>
+<li>evas_object_image_reload()
+: <a class="el" href="group__Evas__Object__Image.html#ga764bec190c0812f61f5a18f38c9c6a4e">Evas.h</a>
+</li>
+<li>evas_object_image_scale_hint_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga8cce0086819196768915e5f2c2ed0cb2">Evas.h</a>
+</li>
+<li>evas_object_image_scale_hint_set()
+: <a class="el" href="group__Evas__Object__Image.html#gad13d32b74c2cd82c95b85fa9640ae529">Evas.h</a>
+</li>
+<li>evas_object_image_size_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga43e6f1b16ebe859826e6901cb36995ad">Evas.h</a>
+</li>
+<li>evas_object_image_size_set()
+: <a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22">Evas.h</a>
+</li>
+<li>evas_object_image_smooth_scale_get()
+: <a class="el" href="group__Evas__Object__Image.html#gae4acc1da719cb38122b92527df24388c">Evas.h</a>
+</li>
+<li>evas_object_image_smooth_scale_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510">Evas.h</a>
+</li>
+<li>evas_object_image_source_get()
+: <a class="el" href="group__Evas__Object__Image.html#ga95a96ced932d6e7e17ee019654d9d901">Evas.h</a>
+</li>
+<li>evas_object_image_source_set()
+: <a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">Evas.h</a>
+</li>
+<li>evas_object_image_source_unset()
+: <a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">Evas.h</a>
+</li>
+<li>evas_object_image_stride_get()
+: <a class="el" href="group__Evas__Object__Image.html#gab72175381532640c620dd032e56c590b">Evas.h</a>
+</li>
+<li>evas_object_layer_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga13cb52d23911b6c701dbb5f1ee3f65f4">Evas.h</a>
+</li>
+<li>evas_object_layer_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">Evas.h</a>
+</li>
+<li>evas_object_line_add()
+: <a class="el" href="group__Evas__Line__Group.html#ga896f1beaea24379495af4cbc5efcebfe">Evas.h</a>
+</li>
+<li>evas_object_line_xy_get()
+: <a class="el" href="group__Evas__Line__Group.html#ga3fa674863aa41d655caa103f546a9092">Evas.h</a>
+</li>
+<li>evas_object_line_xy_set()
+: <a class="el" href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174">Evas.h</a>
+</li>
+<li>evas_object_lower()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">Evas.h</a>
+</li>
+<li>evas_object_map_enable_get()
+: <a class="el" href="Evas_8h.html#a9fe49ea6c0508408d3f0c4bc6b790084">Evas.h</a>
+</li>
+<li>evas_object_map_enable_set()
+: <a class="el" href="Evas_8h.html#acee7a5f7bbb804b406405e9199d5a900">Evas.h</a>
+</li>
+<li>evas_object_map_get()
+: <a class="el" href="Evas_8h.html#aa1d3f8febc923e8225f727afc08d21f2">Evas.h</a>
+</li>
+<li>evas_object_map_set()
+: <a class="el" href="Evas_8h.html#a4c06097f01adc414be05470a3528adca">Evas.h</a>
+</li>
+<li>evas_object_map_source_get()
+: <a class="el" href="Evas_8h.html#abb0578635393c514b1c228ebb7b2eed0">Evas.h</a>
+</li>
+<li>evas_object_map_source_set()
+: <a class="el" href="Evas_8h.html#aa0daae782c23c5624ab0fc3e4f63c8f9">Evas.h</a>
+</li>
+<li>evas_object_move()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">Evas.h</a>
+</li>
+<li>evas_object_name_find()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gad3214c89581f068934c57ac71dc6a52f">Evas.h</a>
+</li>
+<li>evas_object_name_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gac34b593d79bfd9284787ddbb43486edd">Evas.h</a>
+</li>
+<li>evas_object_name_set()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8">Evas.h</a>
+</li>
+<li>evas_object_pass_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0">Evas.h</a>
+</li>
+<li>evas_object_pass_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">Evas.h</a>
+</li>
+<li>evas_object_pointer_mode_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga80faa9ce3b9ab59fe7b4bf6924b293ac">Evas.h</a>
+</li>
+<li>evas_object_pointer_mode_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga5504e39f8d0cc41af3663fed15ec06e5">Evas.h</a>
+</li>
+<li>evas_object_polygon_add()
+: <a class="el" href="group__Evas__Object__Polygon.html#gab6beb5b98de57a0f47707cac90f96bc9">Evas.h</a>
+</li>
+<li>evas_object_polygon_point_add()
+: <a class="el" href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76">Evas.h</a>
+</li>
+<li>evas_object_polygon_points_clear()
+: <a class="el" href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2">Evas.h</a>
+</li>
+<li>evas_object_precise_is_inside_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga8483a3c855f466a5dca480fcfd07b52b">Evas.h</a>
+</li>
+<li>evas_object_precise_is_inside_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gac9ce9802afd7d4cba580fbcbe92c28b2">Evas.h</a>
+</li>
+<li>evas_object_propagate_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f">Evas.h</a>
+</li>
+<li>evas_object_propagate_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d">Evas.h</a>
+</li>
+<li>evas_object_raise()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">Evas.h</a>
+</li>
+<li>evas_object_rectangle_add()
+: <a class="el" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa">Evas.h</a>
+</li>
+<li>evas_object_ref()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723">Evas.h</a>
+</li>
+<li>evas_object_render_op_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaa157afa6f23cdf4b344d95531bb7d508">Evas.h</a>
+</li>
+<li>evas_object_render_op_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga86ef8d1f039bff1a60595688f93a7990">Evas.h</a>
+</li>
+<li>evas_object_repeat_events_get()
+: <a class="el" href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582">Evas.h</a>
+</li>
+<li>evas_object_repeat_events_set()
+: <a class="el" href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">Evas.h</a>
+</li>
+<li>evas_object_resize()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">Evas.h</a>
+</li>
+<li>evas_object_scale_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga1c0aca3af434f0bc0fa8732248b197ba">Evas.h</a>
+</li>
+<li>evas_object_scale_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gaf010777fa1b58bd1c9c8093d2edc62e9">Evas.h</a>
+</li>
+<li>evas_object_show()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f">Evas.h</a>
+</li>
+<li>evas_object_size_hint_align_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">Evas.h</a>
+</li>
+<li>evas_object_size_hint_align_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f">Evas.h</a>
+</li>
+<li>evas_object_size_hint_aspect_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga7b31c73dcbf60cdafe6ad7ffae42a54c">Evas.h</a>
+</li>
+<li>evas_object_size_hint_aspect_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gadb36ccc851e48ae2a11a6e2cb7fcb273">Evas.h</a>
+</li>
+<li>evas_object_size_hint_max_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">Evas.h</a>
+</li>
+<li>evas_object_size_hint_max_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga2a224fd6c4fc231af281af59c5a604b2">Evas.h</a>
+</li>
+<li>evas_object_size_hint_min_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">Evas.h</a>
+</li>
+<li>evas_object_size_hint_min_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">Evas.h</a>
+</li>
+<li>evas_object_size_hint_padding_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">Evas.h</a>
+</li>
+<li>evas_object_size_hint_padding_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga0014a3016d34071d41d76785a963fcb1">Evas.h</a>
+</li>
+<li>evas_object_size_hint_request_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga6a7de6942258ab03a6e85b37f569895d">Evas.h</a>
+</li>
+<li>evas_object_size_hint_request_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gace0177af29ccbf1a60415f2c4c85c1f4">Evas.h</a>
+</li>
+<li>evas_object_size_hint_weight_get()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">Evas.h</a>
+</li>
+<li>evas_object_size_hint_weight_set()
+: <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98">Evas.h</a>
+</li>
+<li>evas_object_smart_calculate()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga8013936b96d99d2ff375ca2b0b287f39">Evas.h</a>
+</li>
+<li>evas_object_smart_callbacks_descriptions_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d">Evas.h</a>
+</li>
+<li>evas_object_smart_callbacks_descriptions_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaf724dbb075cdaf2b4b44dd883b792dc3">Evas.h</a>
+</li>
+<li>evas_object_smart_changed()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_class_get()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_clipper_get()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">Evas.h</a>
+</li>
+<li>evas_object_smart_clipped_smart_set()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628">Evas.h</a>
+</li>
+<li>evas_object_smart_data_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">Evas.h</a>
+</li>
+<li>evas_object_smart_data_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e">Evas.h</a>
+</li>
+<li>evas_object_smart_member_del()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">Evas.h</a>
+</li>
+<li>evas_object_smart_members_get()
+: <a class="el" href="Evas_8h.html#afa903e37a9f98f80f1d73996cf5354cc">Evas.h</a>
+</li>
+<li>evas_object_smart_move_children_relative()
+: <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">Evas.h</a>
+</li>
+<li>evas_object_smart_need_recalculate_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga38be19a4f09b071b3d984996b8f9b3ee">Evas.h</a>
+</li>
+<li>evas_object_smart_need_recalculate_set()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1">Evas.h</a>
+</li>
+<li>evas_object_smart_parent_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511">Evas.h</a>
+</li>
+<li>evas_object_smart_smart_get()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gab1423d63011d7f3679c95ea1638fa714">Evas.h</a>
+</li>
+<li>evas_object_static_clip_get()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#gafda644be2d6e6360959853c9d6195ec8">Evas.h</a>
+</li>
+<li>evas_object_static_clip_set()
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8">Evas.h</a>
+</li>
+<li>evas_object_table_accessor_new()
+: <a class="el" href="group__Evas__Object__Table.html#gaaa6c5242faad0906b1fbf4bbc1088543">Evas.h</a>
+</li>
+<li>evas_object_table_add()
+: <a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">Evas.h</a>
+</li>
+<li>evas_object_table_add_to()
+: <a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">Evas.h</a>
+</li>
+<li>evas_object_table_align_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga7a1ff64522920c2723675ca11d723d47">Evas.h</a>
+</li>
+<li>evas_object_table_align_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga7299bcee8de1f9304fa31fff43347a45">Evas.h</a>
+</li>
+<li>evas_object_table_child_get()
+: <a class="el" href="group__Evas__Object__Table.html#gaeb4a9d107dde8a4c7bc60d6f97b5ec46">Evas.h</a>
+</li>
+<li>evas_object_table_children_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga1afb562131cd3a74a130c374fcea0632">Evas.h</a>
+</li>
+<li>evas_object_table_clear()
+: <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">Evas.h</a>
+</li>
+<li>evas_object_table_col_row_size_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga007c88dba9eb3b326aa67a10c143f3a9">Evas.h</a>
+</li>
+<li>evas_object_table_homogeneous_get()
+: <a class="el" href="group__Evas__Object__Table.html#ga1b96719d71cb4ca89a31eb59635df387">Evas.h</a>
+</li>
+<li>evas_object_table_homogeneous_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">Evas.h</a>
+</li>
+<li>evas_object_table_iterator_new()
+: <a class="el" href="group__Evas__Object__Table.html#ga07d18d5708745143c4b12280a7359e71">Evas.h</a>
+</li>
+<li>evas_object_table_mirrored_get()
+: <a class="el" href="group__Evas__Object__Table.html#gac008b924a1ba3b0133d0ac11b3e6af06">Evas.h</a>
+</li>
+<li>evas_object_table_mirrored_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga8f775fb97bf5da5e8a0005a89027044b">Evas.h</a>
+</li>
+<li>evas_object_table_padding_get()
+: <a class="el" href="group__Evas__Object__Table.html#gabe1af40fbd5e03068bc577e71939934a">Evas.h</a>
+</li>
+<li>evas_object_table_padding_set()
+: <a class="el" href="group__Evas__Object__Table.html#ga6ea229f05036a9c5d30010ad40a30c66">Evas.h</a>
+</li>
+<li>evas_object_text_add()
+: <a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539">Evas.h</a>
+</li>
+<li>evas_object_text_ascent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga4aaf7a903228927fa0adac885304e43e">Evas.h</a>
+</li>
+<li>evas_object_text_char_coords_get()
+: <a class="el" href="group__Evas__Object__Text.html#gab37f85358bd7d333cd6e8c7cf62b5daa">Evas.h</a>
+</li>
+<li>evas_object_text_char_pos_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga823b09a9d05a1650e63970e329cd7b72">Evas.h</a>
+</li>
+<li>evas_object_text_descent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga71f9d96c6dfc8ec33cf0a97e614228a0">Evas.h</a>
+</li>
+<li>evas_object_text_direction_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga2fdb3ff0318cd4b45d642ae317b19589">Evas.h</a>
+</li>
+<li>evas_object_text_font_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">Evas.h</a>
+</li>
+<li>evas_object_text_font_source_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaa48bece59070032504a2c78ad8a66577">Evas.h</a>
+</li>
+<li>evas_object_text_font_source_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b">Evas.h</a>
+</li>
+<li>evas_object_text_glow2_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga264a8425d8dab176a1b15e17a528d56d">Evas.h</a>
+</li>
+<li>evas_object_text_glow2_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga7dabe4ce0120cdf0c4e60a8f7a7e3659">Evas.h</a>
+</li>
+<li>evas_object_text_glow_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga76bcc6322241875990b572f37d754266">Evas.h</a>
+</li>
+<li>evas_object_text_glow_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga74c4ea0f0befd6213f48163ee70041e6">Evas.h</a>
+</li>
+<li>evas_object_text_horiz_advance_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga972494bd4b9d807ea5f98404a82d8eab">Evas.h</a>
+</li>
+<li>evas_object_text_inset_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d">Evas.h</a>
+</li>
+<li>evas_object_text_last_up_to_pos()
+: <a class="el" href="group__Evas__Object__Text.html#ga464d40578e2fdc2ad8890556e0b97268">Evas.h</a>
+</li>
+<li>evas_object_text_max_ascent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga1a0bdf57c3ca6e7fb7833ddfbe23b735">Evas.h</a>
+</li>
+<li>evas_object_text_max_descent_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga28ee3eb5e199c23a14ac47e07ac49205">Evas.h</a>
+</li>
+<li>evas_object_text_outline_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga16485a0062a397faed21fad732ad16ba">Evas.h</a>
+</li>
+<li>evas_object_text_outline_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga1c1cf05c6b31f06a4c79486d19ddaece">Evas.h</a>
+</li>
+<li>evas_object_text_shadow_color_get()
+: <a class="el" href="group__Evas__Object__Text.html#ga7cf7432965327a571d413dbaeca66822">Evas.h</a>
+</li>
+<li>evas_object_text_shadow_color_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga58f0bb7acf2c1d24e9ae5e4a391d19bc">Evas.h</a>
+</li>
+<li>evas_object_text_style_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaf08d4a9630d23ebdbf79cc8c2c91b2c6">Evas.h</a>
+</li>
+<li>evas_object_text_style_pad_get()
+: <a class="el" href="group__Evas__Object__Text.html#gafd638ae91c10d4139e41e6245c0712e1">Evas.h</a>
+</li>
+<li>evas_object_text_style_set()
+: <a class="el" href="group__Evas__Object__Text.html#gae7896521b9861d4bd3efc04ef1e8e91e">Evas.h</a>
+</li>
+<li>evas_object_text_text_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaef3b0b12eb63b9cd7574c1cf05afb7a8">Evas.h</a>
+</li>
+<li>evas_object_text_text_set()
+: <a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532">Evas.h</a>
+</li>
+<li>evas_object_text_vert_advance_get()
+: <a class="el" href="group__Evas__Object__Text.html#gaec17348b4fa02b15162ef96abdbfbf41">Evas.h</a>
+</li>
+<li>evas_object_textblock_add()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac43a253bc767da912ee1818a8dfa5713">Evas.h</a>
+</li>
+<li>evas_object_textblock_clear()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad5ee9184f370f602d2005ea8091a2c29">Evas.h</a>
+</li>
+<li>evas_object_textblock_cursor_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2bbd5e4e1cc36e18790dc09fbd2a6c18">Evas.h</a>
+</li>
+<li>evas_object_textblock_cursor_new()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45">Evas.h</a>
+</li>
+<li>evas_object_textblock_line_number_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga77d99df8bcb139f2a499a0dda4c5dca1">Evas.h</a>
+</li>
+<li>evas_object_textblock_newline_mode_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga0832ab9fd2820efee68bec6d1d80e427">Evas.h</a>
+</li>
+<li>evas_object_textblock_newline_mode_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae637041b07efe438e3539bb549a915e3">Evas.h</a>
+</li>
+<li>evas_object_textblock_replace_char_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga61f6c6ea8c0ce2028424396eb2ff4a81">Evas.h</a>
+</li>
+<li>evas_object_textblock_replace_char_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gab5d3958f4d73b2d9e3cccd828816b672">Evas.h</a>
+</li>
+<li>evas_object_textblock_size_formatted_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db">Evas.h</a>
+</li>
+<li>evas_object_textblock_size_native_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga9f3164f28981c6d6188a8de202848197">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_insets_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga851cb385b547a958790a0d60d386a1d8">Evas.h</a>
+</li>
+<li>evas_object_textblock_style_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0">Evas.h</a>
+</li>
+<li>evas_object_textblock_text_markup_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga0896326ca8d9ca1dd194f322d0bc87b2">Evas.h</a>
+</li>
+<li>evas_object_textblock_text_markup_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">Evas.h</a>
+</li>
+<li>evas_object_textblock_valign_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga431ec30179fc3d7bcd98f508453e41bb">Evas.h</a>
+</li>
+<li>evas_object_textblock_valign_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga5f08b5b6222ed341574ec8167a86c9a0">Evas.h</a>
+</li>
+<li>evas_object_top_at_pointer_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448">Evas.h</a>
+</li>
+<li>evas_object_top_at_xy_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54">Evas.h</a>
+</li>
+<li>evas_object_top_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga2acf1e026d576ba355ca1b1ea24e0736">Evas.h</a>
+</li>
+<li>evas_object_top_in_rectangle_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gaf072ec206768d96c6f73a590e6af39c9">Evas.h</a>
+</li>
+<li>evas_object_type_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff">Evas.h</a>
+</li>
+<li>evas_object_unref()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089">Evas.h</a>
+</li>
+<li>evas_object_visible_get()
+: <a class="el" href="group__Evas__Object__Group__Basic.html#ga9cf743b5d87b622c84ba591494445b49">Evas.h</a>
+</li>
+<li>evas_objects_at_xy_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#ga473d00deb431d0869484474153e47c04">Evas.h</a>
+</li>
+<li>evas_objects_in_rectangle_get()
+: <a class="el" href="group__Evas__Object__Group__Find.html#gae5d4af2f915c2efe4e5cfc22644b8c53">Evas.h</a>
+</li>
+<li>evas_obscured_clear()
+: <a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876">Evas.h</a>
+</li>
+<li>evas_obscured_rectangle_add()
+: <a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4">Evas.h</a>
+</li>
+<li>evas_output_method_get()
+: <a class="el" href="group__Evas__Output__Method.html#gac4127a10231f1851cc3443a84fb0b059">Evas.h</a>
+</li>
+<li>evas_output_method_set()
+: <a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">Evas.h</a>
+</li>
+<li>evas_output_size_get()
+: <a class="el" href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a">Evas.h</a>
+</li>
+<li>evas_output_size_set()
+: <a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">Evas.h</a>
+</li>
+<li>evas_output_viewport_get()
+: <a class="el" href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee">Evas.h</a>
+</li>
+<li>evas_output_viewport_set()
+: <a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x70.html b/doc/html/globals_func_0x70.html
new file mode 100644 (file)
index 0000000..69d52cb
--- /dev/null
@@ -0,0 +1,142 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li class="current"><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>evas_pointer_button_down_mask_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580">Evas.h</a>
+</li>
+<li>evas_pointer_canvas_xy_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#ga2f7bf87c9b1268e68c85d4bb8b9e4b15">Evas.h</a>
+</li>
+<li>evas_pointer_inside_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a">Evas.h</a>
+</li>
+<li>evas_pointer_output_xy_get()
+: <a class="el" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98">Evas.h</a>
+</li>
+<li>evas_post_event_callback_push()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a">Evas.h</a>
+</li>
+<li>evas_post_event_callback_remove()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516">Evas.h</a>
+</li>
+<li>evas_post_event_callback_remove_full()
+: <a class="el" href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x72.html b/doc/html/globals_func_0x72.html
new file mode 100644 (file)
index 0000000..03e059f
--- /dev/null
@@ -0,0 +1,142 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li class="current"><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>evas_render()
+: <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">Evas.h</a>
+</li>
+<li>evas_render_idle_flush()
+: <a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">Evas.h</a>
+</li>
+<li>evas_render_method_list()
+: <a class="el" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285">Evas.h</a>
+</li>
+<li>evas_render_method_list_free()
+: <a class="el" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693">Evas.h</a>
+</li>
+<li>evas_render_method_lookup()
+: <a class="el" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b">Evas.h</a>
+</li>
+<li>evas_render_updates()
+: <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca">Evas.h</a>
+</li>
+<li>evas_render_updates_free()
+: <a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x73.html b/doc/html/globals_func_0x73.html
new file mode 100644 (file)
index 0000000..a0f7e83
--- /dev/null
@@ -0,0 +1,148 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li class="current"><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>evas_shutdown()
+: <a class="el" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed">Evas.h</a>
+</li>
+<li>evas_smart_class_get()
+: <a class="el" href="group__Evas__Smart__Group.html#gac41799a0e334d515fa8e07313b88c611">Evas.h</a>
+</li>
+<li>evas_smart_class_new()
+: <a class="el" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a">Evas.h</a>
+</li>
+<li>evas_smart_data_get()
+: <a class="el" href="group__Evas__Smart__Group.html#gaa88f3f98a71031573b8dfc4bfeac2f64">Evas.h</a>
+</li>
+<li>evas_smart_free()
+: <a class="el" href="group__Evas__Smart__Group.html#ga3501ae449533ae15eee9cbf65811cad2">Evas.h</a>
+</li>
+<li>evas_smart_objects_calculate()
+: <a class="el" href="group__Evas__Smart__Object__Group.html#gaa30fa648297b723a73f28632d1dbec62">Evas.h</a>
+</li>
+<li>evas_string_char_len_get()
+: <a class="el" href="group__Evas__Utils.html#gaf9edd726590b1f56ca3e566ba1a2dbb2">Evas.h</a>
+</li>
+<li>evas_string_char_next_get()
+: <a class="el" href="group__Evas__Utils.html#ga31161605cf449d16e0ea0183509a1e3b">Evas.h</a>
+</li>
+<li>evas_string_char_prev_get()
+: <a class="el" href="group__Evas__Utils.html#ga20119def41aa1f24aea7961b3fa0fd72">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_func_0x74.html b/doc/html/globals_func_0x74.html
new file mode 100644 (file)
index 0000000..0ea754f
--- /dev/null
@@ -0,0 +1,247 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
+      <li><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="globals_func.html#index_a"><span>a</span></a></li>
+      <li><a href="globals_func_0x63.html#index_c"><span>c</span></a></li>
+      <li><a href="globals_func_0x64.html#index_d"><span>d</span></a></li>
+      <li><a href="globals_func_0x65.html#index_e"><span>e</span></a></li>
+      <li><a href="globals_func_0x66.html#index_f"><span>f</span></a></li>
+      <li><a href="globals_func_0x69.html#index_i"><span>i</span></a></li>
+      <li><a href="globals_func_0x6b.html#index_k"><span>k</span></a></li>
+      <li><a href="globals_func_0x6c.html#index_l"><span>l</span></a></li>
+      <li><a href="globals_func_0x6d.html#index_m"><span>m</span></a></li>
+      <li><a href="globals_func_0x6e.html#index_n"><span>n</span></a></li>
+      <li><a href="globals_func_0x6f.html#index_o"><span>o</span></a></li>
+      <li><a href="globals_func_0x70.html#index_p"><span>p</span></a></li>
+      <li><a href="globals_func_0x72.html#index_r"><span>r</span></a></li>
+      <li><a href="globals_func_0x73.html#index_s"><span>s</span></a></li>
+      <li class="current"><a href="globals_func_0x74.html#index_t"><span>t</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_t"></a>- t -</h3><ul>
+<li>evas_textblock_cursor_char_coord_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_delete()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf9cd7ffa37008c0d6f61413703a0670e">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga47950e666e252bbf0ad9d46b59e74269">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_char_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_content_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_eol_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_is_visible_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_item_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaedae64aa95805f0c3480cf6001297ae9">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_format_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_free()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_is_format()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_char_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga6da9c7bff6073756a619f9b8a00d0e0b">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_char_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_coord_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaa49a0235809d49fb5f988253050dd101">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_line_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_char_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_char_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_first()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_last()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_next()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_prev()
+: <a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_text_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_paragraph_text_length_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga57b2e7d853306c435946e0db83080db5">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pen_geometry_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pos_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga7f74459b59870c258bd312ff114778bc">Evas.h</a>
+</li>
+<li>evas_textblock_cursor_pos_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gacde95e638bba6858b73f316afe2cfef0">Evas.h</a>
+</li>
+<li>evas_textblock_escape_string_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac165d57003e552fa6739158dc2ed73f5">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_first_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga56e9057e5845fe785710ba6c5d07ab3e">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_last_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga091521044b95190c75c57ca1661bcc83">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_next_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga341e85b5bb0c9b2c82db4eb5a2432a9d">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_prev_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga8566bfff8ca71cc89cf704c9a082780c">Evas.h</a>
+</li>
+<li>evas_textblock_node_format_text_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8">Evas.h</a>
+</li>
+<li>evas_textblock_string_escape_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga70b3680a8691c70bab39bd1c127424a5">Evas.h</a>
+</li>
+<li>evas_textblock_style_free()
+: <a class="el" href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f">Evas.h</a>
+</li>
+<li>evas_textblock_style_get()
+: <a class="el" href="group__Evas__Object__Textblock.html#gae106e0cfb957f1916eb3833c1214394c">Evas.h</a>
+</li>
+<li>evas_textblock_style_new()
+: <a class="el" href="group__Evas__Object__Textblock.html#ga00cc8baec308c583ac801811dd381d4c">Evas.h</a>
+</li>
+<li>evas_textblock_style_set()
+: <a class="el" href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/globals_type.html b/doc/html/globals_type.html
new file mode 100644 (file)
index 0000000..d230741
--- /dev/null
@@ -0,0 +1,314 @@
+<html>
+<head>
+    <title>Evas: Data Fields</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+  <div class="tabs2">
+    <ul class="tablist">
+      <li><a href="globals.html"><span>All</span></a></li>
+      <li><a href="globals_func.html"><span>Functions</span></a></li>
+      <li class="current"><a href="globals_type.html"><span>Typedefs</span></a></li>
+      <li><a href="globals_enum.html"><span>Enumerations</span></a></li>
+      <li><a href="globals_eval.html"><span>Enumerator</span></a></li>
+      <li><a href="globals_defs.html"><span>Defines</span></a></li>
+    </ul>
+  </div>
+  <div class="tabs3">
+    <ul class="tablist">
+      <li><a href="#index_a"><span>a</span></a></li>
+      <li><a href="#index_b"><span>b</span></a></li>
+      <li><a href="#index_c"><span>c</span></a></li>
+      <li><a href="#index_d"><span>d</span></a></li>
+      <li><a href="#index_e"><span>e</span></a></li>
+      <li><a href="#index_f"><span>f</span></a></li>
+      <li><a href="#index_l"><span>l</span></a></li>
+      <li><a href="#index_m"><span>m</span></a></li>
+      <li><a href="#index_n"><span>n</span></a></li>
+      <li><a href="#index_o"><span>o</span></a></li>
+      <li><a href="#index_p"><span>p</span></a></li>
+      <li><a href="#index_r"><span>r</span></a></li>
+      <li><a href="#index_s"><span>s</span></a></li>
+    </ul>
+  </div>
+<div class="contents">
+&nbsp;
+
+<h3><a class="anchor" id="index_a"></a>- a -</h3><ul>
+<li>Evas_Alloc_Error
+: <a class="el" href="Evas_8h.html#ae0181b78df8e248703a72a978d271208">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_b"></a>- b -</h3><ul>
+<li>Evas_Button_Flags
+: <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_c"></a>- c -</h3><ul>
+<li>Evas_Callback_Type
+: <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas.h</a>
+</li>
+<li>Evas_Colorspace
+: <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas.h</a>
+</li>
+<li>Evas_Coord_Point
+: <a class="el" href="Evas_8h.html#a9d3aab92b5b0911efb7594b79e0d3f37">Evas.h</a>
+</li>
+<li>Evas_Coord_Precision_Point
+: <a class="el" href="Evas_8h.html#a27d3d206dd0447c96df4385cee0c5df2">Evas.h</a>
+</li>
+<li>Evas_Coord_Rectangle
+: <a class="el" href="Evas_8h.html#a23d14410ef9cd719fd61602ce68c4d42">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_d"></a>- d -</h3><ul>
+<li>Evas_Device
+: <a class="el" href="Evas_8h.html#a430c2d9c773093d159437e35003df281">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_e"></a>- e -</h3><ul>
+<li>Evas
+: <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas.h</a>
+</li>
+<li>Evas_Engine_Info
+: <a class="el" href="Evas_8h.html#a86d67b69014ab10fffe20b883685fa46">Evas.h</a>
+</li>
+<li>Evas_Event_Flags
+: <a class="el" href="Evas_8h.html#a9fda4d6d744ae16549b3765df7363f95">Evas.h</a>
+</li>
+<li>Evas_Event_Hold
+: <a class="el" href="Evas_8h.html#a6fb6e5748f93fc24d62276e5421f9767">Evas.h</a>
+</li>
+<li>Evas_Event_Key_Down
+: <a class="el" href="Evas_8h.html#a9a1bfd297b751119977f3c14c0004612">Evas.h</a>
+</li>
+<li>Evas_Event_Key_Up
+: <a class="el" href="Evas_8h.html#a92e77497752a3b100b3bfc4ee92daf09">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Down
+: <a class="el" href="Evas_8h.html#a907df7a46177e7bac9928ea39fbcca50">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_In
+: <a class="el" href="Evas_8h.html#a9b42da2562eb8390dd513d7337b1e018">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Move
+: <a class="el" href="Evas_8h.html#a224de88869fe5315ca144ef8a2946827">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Out
+: <a class="el" href="Evas_8h.html#a7a168fcb1c4b6bc53ac4e69f5424f317">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Up
+: <a class="el" href="Evas_8h.html#a337e8227780d38bdeae5c0ccd00d04b3">Evas.h</a>
+</li>
+<li>Evas_Event_Mouse_Wheel
+: <a class="el" href="Evas_8h.html#a54d0e99e450e158924b06746544bb4dc">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Down
+: <a class="el" href="Evas_8h.html#a0436550ffcc1e2eab730ef3c493b8c40">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Move
+: <a class="el" href="Evas_8h.html#a8658f1e1a6801e219547b05e8728ebd2">Evas.h</a>
+</li>
+<li>Evas_Event_Multi_Up
+: <a class="el" href="Evas_8h.html#a0f4d63b8673ee370e41e2c0bdc374212">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_f"></a>- f -</h3><ul>
+<li>Evas_Fill_Spread
+: <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas.h</a>
+</li>
+<li>Evas_Font_Hinting_Flags
+: <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_l"></a>- l -</h3><ul>
+<li>Evas_Load_Error
+: <a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas.h</a>
+</li>
+<li>Evas_Lock
+: <a class="el" href="Evas_8h.html#a791323b644ee831ead4c5d25552a0fd8">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_m"></a>- m -</h3><ul>
+<li>Evas_Map
+: <a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas.h</a>
+</li>
+<li>Evas_Modifier
+: <a class="el" href="Evas_8h.html#a198d0b10861c1da456004688d3443e96">Evas.h</a>
+</li>
+<li>Evas_Modifier_Mask
+: <a class="el" href="Evas_8h.html#a111c7333a7d49e44698bd19dd5bc9059">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_n"></a>- n -</h3><ul>
+<li>Evas_Native_Surface
+: <a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_o"></a>- o -</h3><ul>
+<li>Evas_Object
+: <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Api
+: <a class="el" href="group__Evas__Object__Box.html#ga2a8fbeeab4f5ae23e7bc1b291e27c5e1">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Data
+: <a class="el" href="group__Evas__Object__Box.html#gac9047b7cff95df59f61c7321967caf7b">Evas.h</a>
+</li>
+<li>Evas_Object_Box_Option
+: <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas.h</a>
+</li>
+<li>Evas_Object_Pointer_Mode
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas.h</a>
+</li>
+<li>Evas_Object_Smart_Clipped_Data
+: <a class="el" href="Evas_8h.html#a65c1b2ed3578175e476998f7b55dfe34">Evas.h</a>
+</li>
+<li>Evas_Object_Table_Homogeneous_Mode
+: <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas.h</a>
+</li>
+<li>Evas_Object_Textblock_Node_Format
+: <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_p"></a>- p -</h3><ul>
+<li>Evas_Performance
+: <a class="el" href="Evas_8h.html#a89d88a04f7684454960d465a1b9657c2">Evas.h</a>
+</li>
+<li>Evas_Pixel_Import_Pixel_Format
+: <a class="el" href="Evas_8h.html#ae609d856d391e1d65968a137313e0eb7">Evas.h</a>
+</li>
+<li>Evas_Pixel_Import_Source
+: <a class="el" href="Evas_8h.html#abb01076af16fbb50a837b1893b776783">Evas.h</a>
+</li>
+<li>Evas_Point
+: <a class="el" href="Evas_8h.html#adc20c4d74f28a08de32455f97946e6bd">Evas.h</a>
+</li>
+<li>Evas_Position
+: <a class="el" href="Evas_8h.html#a1fedb06548c63e95cdef58ae2578e494">Evas.h</a>
+</li>
+<li>Evas_Precision_Position
+: <a class="el" href="Evas_8h.html#ae62b68e728184674ee011ec19c48fa25">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_r"></a>- r -</h3><ul>
+<li>Evas_Render_Op
+: <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas.h</a>
+</li>
+</ul>
+
+
+<h3><a class="anchor" id="index_s"></a>- s -</h3><ul>
+<li>Evas_Smart
+: <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas.h</a>
+</li>
+<li>Evas_Smart_Cb_Description
+: <a class="el" href="group__Evas__Smart__Group.html#ga0ad0e7d482d7660e756e275d355e3634">Evas.h</a>
+</li>
+<li>Evas_Smart_Class
+: <a class="el" href="group__Evas__Smart__Group.html#gaea15f67e901bf5380cdb67dc1bb43391">Evas.h</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Canvas.html b/doc/html/group__Evas__Canvas.html
new file mode 100644 (file)
index 0000000..a5cc563
--- /dev/null
@@ -0,0 +1,754 @@
+<html>
+<head>
+    <title>Evas: Canvas Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Canvas Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deal with the basic evas object.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html">Render Engine Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that are used to set the render engine for a given function, and then get that engine working. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html">Output and Viewport Resizing Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that set and retrieve the output and viewport size of an evas. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html">Coordinate Mapping Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html">Pointer (Mouse) Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that deal with the status of the pointer (mouse cursor). </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html">Event Freezing Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that deal with the freezing of event processing of an evas. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html">Event Feeding Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions to tell Evas that events happened and should be processed. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html">Canvas Events</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Canvas generates some events. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html">Image Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that deals with images at canvas level. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html">Font Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that deals with fonts. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct _Evas&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas canvas handle.  <a href="#ga5ff87cc4ce6bc43e3b640a6d37f73043"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87">evas_new</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new empty evas.  <a href="#ga9280ee6564c889348b142b8bcd723f87"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">evas_free</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Frees the given evas and any objects created on it.  <a href="#ga45ab1883cc0b145bc3af130d3c00a21f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8">evas_data_attach_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Attaches a specific pointer to the evas for fetching later.  <a href="#gadbf3e81c6db5396d3c6415f3cd34e8c8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga4244b77b68937ab060bc7d8c3bf77fdc">evas_data_attach_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the pointer attached by <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8" title="Attaches a specific pointer to the evas for fetching later.">evas_data_attach_set()</a>.  <a href="#ga4244b77b68937ab060bc7d8c3bf77fdc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gad4e5f592d23e74868f1e135c714a1acb">evas_focus_in</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform to the evas that it got the focus.  <a href="#gad4e5f592d23e74868f1e135c714a1acb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga438b8a00339af4b25c84c4ef57d6b3ff">evas_focus_out</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform to the evas that it lost the focus.  <a href="#ga438b8a00339af4b25c84c4ef57d6b3ff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gab4822a733c10760b293006b77c4fc6d8">evas_focus_state_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the focus state known by the given evas.  <a href="#gab4822a733c10760b293006b77c4fc6d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga6e49e2a2b27c306c265433ac7d3b5dbe">evas_nochange_push</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push the nochange flag up 1.  <a href="#ga6e49e2a2b27c306c265433ac7d3b5dbe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gaa001b49fa2aa654ba0b116c6667b0fac">evas_nochange_pop</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pop the nochange flag down 1.  <a href="#gaa001b49fa2aa654ba0b116c6667b0fac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">evas_damage_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a damage rectangle.  <a href="#ga91b68cf4090201f16aede8e4c124986d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4">evas_obscured_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add an obscured region.  <a href="#gab731e13487e7a2bf6c39d1c1dc69ccc4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876">evas_obscured_clear</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all obscured region rectangles from the canvas.  <a href="#ga76dbc1ce160666ffde45901346cfe876"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b">evas_render_updates_free</a> (Eina_List *updates)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the rectangles returned by <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca" title="Force immediate renderization of the given canvas.">evas_render_updates()</a>.  <a href="#gae4889bb5ec0e6e4f6ce5d6ef99f8737b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca">evas_render_updates</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force immediate renderization of the given canvas.  <a href="#ga49650dcc731a151d4881106b56f7a5ca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">evas_render</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force renderization of the given canvas.  <a href="#ga241869ebb085b8ab11ff6af26e1aeaaf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga5c7761185381376e2d97497625a7bbe1">evas_norender</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the canvas internal objects but not triggering immediate renderization.  <a href="#ga5c7761185381376e2d97497625a7bbe1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">evas_render_idle_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the canvas discard internally cached data used for rendering.  <a href="#ga84a691e253bf4239691b3f3adca3c7b1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deal with the basic evas object. </p>
+<p>They are the functions you need to use at a minimum to get a working evas, and to destroy it. </p>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga5ff87cc4ce6bc43e3b640a6d37f73043"></a><!-- doxytag: member="Evas.h::Evas" ref="ga5ff87cc4ce6bc43e3b640a6d37f73043" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>An Evas canvas handle. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87" title="Creates a new empty evas.">evas_new()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free()</a> </dd></dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga91b68cf4090201f16aede8e4c124986d"></a><!-- doxytag: member="evas_render.c::evas_damage_rectangle_add" ref="ga91b68cf4090201f16aede8e4c124986d" args="(Evas *e, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_damage_rectangle_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add a damage rectangle. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The rectangle's left position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The rectangle's top position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The rectangle's width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The rectangle's height.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This is the function by which one tells evas that a part of the canvas has to be repainted. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga4244b77b68937ab060bc7d8c3bf77fdc"></a><!-- doxytag: member="evas_main.c::evas_data_attach_get" ref="ga4244b77b68937ab060bc7d8c3bf77fdc" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_data_attach_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the pointer attached by <a class="el" href="group__Evas__Canvas.html#gadbf3e81c6db5396d3c6415f3cd34e8c8" title="Attaches a specific pointer to the evas for fetching later.">evas_data_attach_set()</a>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to attach the pointer to </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The pointer attached </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gadbf3e81c6db5396d3c6415f3cd34e8c8"></a><!-- doxytag: member="evas_main.c::evas_data_attach_set" ref="gadbf3e81c6db5396d3c6415f3cd34e8c8" args="(Evas *e, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_data_attach_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Attaches a specific pointer to the evas for fetching later. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to attach the pointer to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The pointer to attach </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gad4e5f592d23e74868f1e135c714a1acb"></a><!-- doxytag: member="evas_main.c::evas_focus_in" ref="gad4e5f592d23e74868f1e135c714a1acb" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_focus_in </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Inform to the evas that it got the focus. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas to change information. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga438b8a00339af4b25c84c4ef57d6b3ff"></a><!-- doxytag: member="evas_main.c::evas_focus_out" ref="ga438b8a00339af4b25c84c4ef57d6b3ff" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_focus_out </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Inform to the evas that it lost the focus. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas to change information. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab4822a733c10760b293006b77c4fc6d8"></a><!-- doxytag: member="evas_main.c::evas_focus_state_get" ref="gab4822a733c10760b293006b77c4fc6d8" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_focus_state_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the focus state known by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas to query information. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga45ab1883cc0b145bc3af130d3c00a21f"></a><!-- doxytag: member="evas_main.c::evas_free" ref="ga45ab1883cc0b145bc3af130d3c00a21f" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Frees the given evas and any objects created on it. </p>
+<p>Any objects with 'free' callbacks will have those callbacks called in this function.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">evas_font_path_clear()</a>, and <a class="el" href="group__Evas__Canvas.html#ga84a691e253bf4239691b3f3adca3c7b1">evas_render_idle_flush()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9280ee6564c889348b142b8bcd723f87"></a><!-- doxytag: member="evas_main.c::evas_new" ref="ga9280ee6564c889348b142b8bcd723f87" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a>* evas_new </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new empty evas. </p>
+<p>Note that before you can use the evas, you will to at a minimum: </p>
+<ul>
+<li>Set its render method with <a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">evas_output_method_set</a> . </li>
+<li>Set its viewport size with <a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">evas_output_viewport_set</a> . </li>
+<li>Set its size of the canvas with <a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">evas_output_size_set</a> . </li>
+<li>Ensure that the render engine is given the correct settings with <a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">evas_engine_info_set</a> .</li>
+</ul>
+<p>This function should only fail if the memory allocation fails</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>this function is very low level. Instead of using it directly, consider using the high level functions in Ecore_Evas such as <code>ecore_evas_new()</code>. See <a href="http://docs.enlightenment.org/auto/ecore/.">http://docs.enlightenment.org/auto/ecore/.</a></dd></dl>
+<dl class="attention"><dt><b>Attention:</b></dt><dd>it is recommended that one calls <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a> before creating new canvas.</dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new uninitialised Evas canvas on success. Otherwise, <code>NULL</code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa001b49fa2aa654ba0b116c6667b0fac"></a><!-- doxytag: member="evas_main.c::evas_nochange_pop" ref="gaa001b49fa2aa654ba0b116c6667b0fac" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_nochange_pop </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Pop the nochange flag down 1. </p>
+<p>This tells evas, that while the nochange flag is greater than 0, do not mark objects as "changed" when making changes.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas to change information. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6e49e2a2b27c306c265433ac7d3b5dbe"></a><!-- doxytag: member="evas_main.c::evas_nochange_push" ref="ga6e49e2a2b27c306c265433ac7d3b5dbe" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_nochange_push </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Push the nochange flag up 1. </p>
+<p>This tells evas, that while the nochange flag is greater than 0, do not mark objects as "changed" when making changes.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas to change information. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5c7761185381376e2d97497625a7bbe1"></a><!-- doxytag: member="evas_render.c::evas_norender" ref="ga5c7761185381376e2d97497625a7bbe1" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_norender </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Update the canvas internal objects but not triggering immediate renderization. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function updates the canvas internal objects not triggering renderization. To force renderization function <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf" title="Force renderization of the given canvas.">evas_render()</a> should be used.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf" title="Force renderization of the given canvas.">evas_render</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga76dbc1ce160666ffde45901346cfe876"></a><!-- doxytag: member="evas_render.c::evas_obscured_clear" ref="ga76dbc1ce160666ffde45901346cfe876" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_obscured_clear </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove all obscured region rectangles from the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function removes all the rectangles from the obscured list of the canvas. It takes obscured areas added with <a class="el" href="group__Evas__Canvas.html#gab731e13487e7a2bf6c39d1c1dc69ccc4" title="Add an obscured region.">evas_obscured_rectangle_add()</a> and makes it a region that have to be repainted. </p>
+
+</div>
+</div>
+<a class="anchor" id="gab731e13487e7a2bf6c39d1c1dc69ccc4"></a><!-- doxytag: member="evas_render.c::evas_obscured_rectangle_add" ref="gab731e13487e7a2bf6c39d1c1dc69ccc4" args="(Evas *e, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_obscured_rectangle_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add an obscured region. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The rectangle's left position. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The rectangle's top position </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The rectangle's width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The rectangle's height.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This is the function by which one tells evas that a part of the canvas has not to be repainted. To make this region one that have to be repainted, call the function <a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876" title="Remove all obscured region rectangles from the canvas.">evas_obscured_clear()</a>.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Canvas.html#ga76dbc1ce160666ffde45901346cfe876" title="Remove all obscured region rectangles from the canvas.">evas_obscured_clear()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga241869ebb085b8ab11ff6af26e1aeaaf"></a><!-- doxytag: member="evas_render.c::evas_render" ref="ga241869ebb085b8ab11ff6af26e1aeaaf" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_render </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Force renderization of the given canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga84a691e253bf4239691b3f3adca3c7b1"></a><!-- doxytag: member="evas_render.c::evas_render_idle_flush" ref="ga84a691e253bf4239691b3f3adca3c7b1" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_render_idle_flush </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Make the canvas discard internally cached data used for rendering. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function flushes the arrays of delete, active and render objects. Other things it may also discard are: shared memory segments, temporary scratch buffers, cached data to avoid re-compute of that data etc. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">evas_free()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga49650dcc731a151d4881106b56f7a5ca"></a><!-- doxytag: member="evas_render.c::evas_render_updates" ref="ga49650dcc731a151d4881106b56f7a5ca" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_render_updates </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Force immediate renderization of the given canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A newly allocated list of updated rectangles of the canvas. Free this list with <a class="el" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b" title="Free the rectangles returned by evas_render_updates().">evas_render_updates_free()</a>.</dd></dl>
+<p>This function forces an immediate renderization update of the given given canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae4889bb5ec0e6e4f6ce5d6ef99f8737b"></a><!-- doxytag: member="evas_render.c::evas_render_updates_free" ref="gae4889bb5ec0e6e4f6ce5d6ef99f8737b" args="(Eina_List *updates)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_render_updates_free </td>
+          <td>(</td>
+          <td class="paramtype">Eina_List *&nbsp;</td>
+          <td class="paramname"> <em>updates</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Free the rectangles returned by <a class="el" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca" title="Force immediate renderization of the given canvas.">evas_render_updates()</a>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>updates</em>&nbsp;</td><td>The list of updated rectangles of the canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function removes the region from the render updates list. It makes the region doesn't be render updated anymore. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Canvas__Events.html b/doc/html/group__Evas__Canvas__Events.html
new file mode 100644 (file)
index 0000000..3bd1146
--- /dev/null
@@ -0,0 +1,428 @@
+<html>
+<head>
+    <title>Evas: Canvas Events</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Canvas Events<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Canvas generates some events.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71">evas_event_callback_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Event_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a callback function to the canvas.  <a href="#ga0388995a80e8951a532fbdc63ba26c71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga11a461d33617b022e490287e85217f5c">evas_event_callback_del</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Event_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a callback function from the canvas.  <a href="#ga11a461d33617b022e490287e85217f5c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga84450d679e473b3ac84d4374f8936980">evas_event_callback_del_full</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Event_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a callback function from the canvas.  <a href="#ga84450d679e473b3ac84d4374f8936980"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a">evas_post_event_callback_push</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Push a callback on the post-event callback stack.  <a href="#ga8f8a2686dbbe3c55e091decf3f29d42a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga59f159113fe24fdb5e33e7df3e333516">evas_post_event_callback_remove</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a callback from the post-event callback stack.  <a href="#ga59f159113fe24fdb5e33e7df3e333516"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Canvas__Events.html#ga3c76c419125c3cad9095f1fdae5f3ac9">evas_post_event_callback_remove_full</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Object_Event_Post_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a callback from the post-event callback stack.  <a href="#ga3c76c419125c3cad9095f1fdae5f3ac9"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Canvas generates some events. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga0388995a80e8951a532fbdc63ba26c71"></a><!-- doxytag: member="evas_callbacks.c::evas_event_callback_add" ref="ga0388995a80e8951a532fbdc63ba26c71" args="(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add a callback function to the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to attach a callback to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that will trigger the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to be called when the event is triggered </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to <code>func</code> </td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function adds a function callback to the canvas when the event of type <code>type</code> occurs on canvas <code>e</code>. The function is <code>func</code>.</p>
+<p>In the event of a memory allocation error during addition of the callback to the canvas, <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error()</a> should be used to determine the nature of the error, if any, and the program should sensibly try and recover.</p>
+<p>The function will be passed the pointer <code>data</code> when it is called. A callback function must look like this:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> callback (<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
+</pre></div><p>The first parameter <code>data</code> in this function will be the same value passed to <a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> as the <code>data</code> parameter. The second parameter <code>e</code> is the canvas handle on which the event occurred. The third parameter <code>event_info</code> is a pointer to a data structure that may or may not be passed to the callback, depending on the event type that triggered the callback.</p>
+<p>The event type <code>type</code> to trigger the function may be one of <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3" title="Called just before rendering is updated on the canvas target.">EVAS_CALLBACK_RENDER_FLUSH_PRE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1" title="Called just after rendering is updated on the canvas target.">EVAS_CALLBACK_RENDER_FLUSH_POST</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f" title="Canvas lost focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>. This determines the kind of event that will trigger the callback to be called. So far none of the event types provide useful data, so in all of them <code>event_info</code> pointer is <code>NULL</code>.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e;
+ <span class="keyword">extern</span> <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> focus_in_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
+ <span class="keywordtype">void</span> focus_out_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
+
+ <a class="code" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add</a>(e, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, focus_in_callback, my_data);
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() != <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" title="No allocation error.">EVAS_ALLOC_ERROR_NONE</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Callback registering failed! Abort!\n&quot;</span>);
+     exit(-1);
+   }
+ <a class="code" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add</a>(e, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f" title="Canvas lost focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_OUT</a>, focus_out_callback, my_data);
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() != <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" title="No allocation error.">EVAS_ALLOC_ERROR_NONE</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Callback registering failed! Abort!\n&quot;</span>);
+     exit(-1);
+   }
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga11a461d33617b022e490287e85217f5c"></a><!-- doxytag: member="evas_callbacks.c::evas_event_callback_del" ref="ga11a461d33617b022e490287e85217f5c" args="(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_event_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete a callback function from the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to remove a callback from </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that was triggering the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that was to be called when the event was triggered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the callback</dd></dl>
+<p>This function removes the most recently added callback from the canvas <code>e</code> which was triggered by the event type <code>type</code> and was calling the function <code>func</code> when triggered. If the removal is successful it will also return the data pointer that was passed to <a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> when the callback was added to the canvas. If not successful NULL will be returned.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e;
+ <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> focus_in_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
+
+ my_data = <a class="code" href="group__Evas__Canvas__Events.html#ga11a461d33617b022e490287e85217f5c" title="Delete a callback function from the canvas.">evas_event_callback_del</a>(ebject, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, focus_in_callback);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga84450d679e473b3ac84d4374f8936980"></a><!-- doxytag: member="evas_callbacks.c::evas_event_callback_del_full" ref="ga84450d679e473b3ac84d4374f8936980" args="(Evas *e, Evas_Callback_Type type, Evas_Event_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_event_callback_del_full </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete a callback function from the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to remove a callback from </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that was triggering the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that was to be called when the event was triggered </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer that was to be passed to the callback </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the callback</dd></dl>
+<p>This function removes the most recently added callback from the canvas <code>e</code> which was triggered by the event type <code>type</code> and was calling the function <code>func</code> with data <code>data</code> when triggered. If the removal is successful it will also return the data pointer that was passed to <a class="el" href="group__Evas__Canvas__Events.html#ga0388995a80e8951a532fbdc63ba26c71" title="Add a callback function to the canvas.">evas_event_callback_add()</a> (that will be the same as the parameter) when the callback was added to the canvas. If not successful NULL will be returned.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e;
+ <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> focus_in_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <span class="keywordtype">void</span> *event_info);
+
+ my_data = <a class="code" href="group__Evas__Canvas__Events.html#ga84450d679e473b3ac84d4374f8936980" title="Delete a callback function from the canvas.">evas_event_callback_del_full</a>(ebject, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1" title="Canvas got focus as a whole.">EVAS_CALLBACK_CANVAS_FOCUS_IN</a>, focus_in_callback, my_data);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga8f8a2686dbbe3c55e091decf3f29d42a"></a><!-- doxytag: member="evas_callbacks.c::evas_post_event_callback_push" ref="ga8f8a2686dbbe3c55e091decf3f29d42a" args="(Evas *e, Evas_Object_Event_Post_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_post_event_callback_push </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Post_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Push a callback on the post-event callback stack. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to push the callback on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that to be called when the stack is unwound </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to the callback</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Evas has a stack of callbacks that get called after all the callbacks for an event have triggered (all the objects it triggers on and al the callbacks in each object triggered). When all these have been called, the stack is unwond from most recently to least recently pushed item and removed from the stack calling the callback set for it.</p>
+<p>This is intended for doing reverse logic-like processing, example - when a child object that happens to get the event later is meant to be able to "steal" functions from a parent and thus on unwind of this stack hav its function called first, thus being able to set flags, or return 0 from the post-callback that stops all other post-callbacks in the current stack from being called (thus basically allowing a child to take control, if the event callback prepares information ready for taking action, but the post callback actually does the action). </p>
+
+</div>
+</div>
+<a class="anchor" id="ga59f159113fe24fdb5e33e7df3e333516"></a><!-- doxytag: member="evas_callbacks.c::evas_post_event_callback_remove" ref="ga59f159113fe24fdb5e33e7df3e333516" args="(Evas *e, Evas_Object_Event_Post_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_post_event_callback_remove </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Post_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove a callback from the post-event callback stack. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to push the callback on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that to be called when the stack is unwound</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This removes a callback from the stack added with <a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a" title="Push a callback on the post-event callback stack.">evas_post_event_callback_push()</a>. The first instance of the function in the callback stack is removed from being executed when the stack is unwound. Further instances may still be run on unwind. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3c76c419125c3cad9095f1fdae5f3ac9"></a><!-- doxytag: member="evas_callbacks.c::evas_post_event_callback_remove_full" ref="ga3c76c419125c3cad9095f1fdae5f3ac9" args="(Evas *e, Evas_Object_Event_Post_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_post_event_callback_remove_full </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Post_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove a callback from the post-event callback stack. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>Canvas to push the callback on </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that to be called when the stack is unwound </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to the callback</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This removes a callback from the stack added with <a class="el" href="group__Evas__Canvas__Events.html#ga8f8a2686dbbe3c55e091decf3f29d42a" title="Push a callback on the post-event callback stack.">evas_post_event_callback_push()</a>. The first instance of the function and data in the callback stack is removed from being executed when the stack is unwound. Further instances may still be run on unwind. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Coord__Mapping__Group.html b/doc/html/group__Evas__Coord__Mapping__Group.html
new file mode 100644 (file)
index 0000000..e636afb
--- /dev/null
@@ -0,0 +1,291 @@
+<html>
+<head>
+    <title>Evas: Coordinate Mapping Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Coordinate Mapping Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051">evas_coord_screen_x_to_world</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale an ouput screen co-ordinate into canvas co-ordinates.  <a href="#gab435c4e98554a4c6b934840a38d96051"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2">evas_coord_screen_y_to_world</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale an ouput screen co-ordinate into canvas co-ordinates.  <a href="#gac69db230ec0bd06f683e62665abe5df2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9">evas_coord_world_x_to_screen</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale a canvas co-ordinate into output screen co-ordinates.  <a href="#ga3e4f9f6af852df00de8c180f2e3919e9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8">evas_coord_world_y_to_screen</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert/scale a canvas co-ordinate into output screen co-ordinates.  <a href="#ga6c80c5dd33180044bcd200bb4739a2b8"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gab435c4e98554a4c6b934840a38d96051"></a><!-- doxytag: member="evas_main.c::evas_coord_screen_x_to_world" ref="gab435c4e98554a4c6b934840a38d96051" args="(const Evas *e, int x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_coord_screen_x_to_world </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert/scale an ouput screen co-ordinate into canvas co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The screen/output x co-ordinate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The screen co-ordinate translated to canvas unit co-ordinates</dd></dl>
+<p>This function takes in a horizontal co-ordinate as the <code>x</code> parameter and converts it into canvas units, accounting for output size, viewport size and location, returning it as the function return value. If <code>e</code> is invalid, the results are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keyword">extern</span> <span class="keywordtype">int</span> screen_x;
+ Evas_Coord canvas_x;
+
+ canvas_x = <a class="code" href="group__Evas__Coord__Mapping__Group.html#gab435c4e98554a4c6b934840a38d96051" title="Convert/scale an ouput screen co-ordinate into canvas co-ordinates.">evas_coord_screen_x_to_world</a>(evas, screen_x);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="gac69db230ec0bd06f683e62665abe5df2"></a><!-- doxytag: member="evas_main.c::evas_coord_screen_y_to_world" ref="gac69db230ec0bd06f683e62665abe5df2" args="(const Evas *e, int y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_coord_screen_y_to_world </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert/scale an ouput screen co-ordinate into canvas co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The screen/output y co-ordinate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The screen co-ordinate translated to canvas unit co-ordinates</dd></dl>
+<p>This function takes in a vertical co-ordinate as the <code>y</code> parameter and converts it into canvas units, accounting for output size, viewport size and location, returning it as the function return value. If <code>e</code> is invalid, the results are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keyword">extern</span> <span class="keywordtype">int</span> screen_y;
+ Evas_Coord canvas_y;
+
+ canvas_y = <a class="code" href="group__Evas__Coord__Mapping__Group.html#gac69db230ec0bd06f683e62665abe5df2" title="Convert/scale an ouput screen co-ordinate into canvas co-ordinates.">evas_coord_screen_y_to_world</a>(evas, screen_y);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga3e4f9f6af852df00de8c180f2e3919e9"></a><!-- doxytag: member="evas_main.c::evas_coord_world_x_to_screen" ref="ga3e4f9f6af852df00de8c180f2e3919e9" args="(const Evas *e, Evas_Coord x)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_coord_world_x_to_screen </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert/scale a canvas co-ordinate into output screen co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The canvas x co-ordinate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The output/screen co-ordinate translated to output co-ordinates</dd></dl>
+<p>This function takes in a horizontal co-ordinate as the <code>x</code> parameter and converts it into output units, accounting for output size, viewport size and location, returning it as the function return value. If <code>e</code> is invalid, the results are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keywordtype">int</span> screen_x;
+ <span class="keyword">extern</span> Evas_Coord canvas_x;
+
+ screen_x = <a class="code" href="group__Evas__Coord__Mapping__Group.html#ga3e4f9f6af852df00de8c180f2e3919e9" title="Convert/scale a canvas co-ordinate into output screen co-ordinates.">evas_coord_world_x_to_screen</a>(evas, canvas_x);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga6c80c5dd33180044bcd200bb4739a2b8"></a><!-- doxytag: member="evas_main.c::evas_coord_world_y_to_screen" ref="ga6c80c5dd33180044bcd200bb4739a2b8" args="(const Evas *e, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_coord_world_y_to_screen </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert/scale a canvas co-ordinate into output screen co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The canvas y co-ordinate </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The output/screen co-ordinate translated to output co-ordinates</dd></dl>
+<p>This function takes in a vertical co-ordinate as the <code>x</code> parameter and converts it into output units, accounting for output size, viewport size and location, returning it as the function return value. If <code>e</code> is invalid, the results are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keywordtype">int</span> screen_y;
+ <span class="keyword">extern</span> Evas_Coord canvas_y;
+
+ screen_y = <a class="code" href="group__Evas__Coord__Mapping__Group.html#ga6c80c5dd33180044bcd200bb4739a2b8" title="Convert/scale a canvas co-ordinate into output screen co-ordinates.">evas_coord_world_y_to_screen</a>(evas, canvas_y);
+</pre></div> 
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Cserve.html b/doc/html/group__Evas__Cserve.html
new file mode 100644 (file)
index 0000000..2171e33
--- /dev/null
@@ -0,0 +1,253 @@
+<html>
+<head>
+    <title>Evas: Shared Image Cache Server</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Shared Image Cache Server</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Provides client-server infrastructure to share bitmaps across multiple processes, saving data and processing power.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html">_Evas_Cserve_Stats</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Statistics about server that shares cached bitmaps.  <a href="struct__Evas__Cserve__Stats.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Image__Cache.html">_Evas_Cserve_Image_Cache</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cache of images shared by server.  <a href="struct__Evas__Cserve__Image__Cache.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Image.html">_Evas_Cserve_Image</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An image shared by the server.  <a href="struct__Evas__Cserve__Image.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Config.html">_Evas_Cserve_Config</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Configuration that controls the server that shares cached bitmaps.  <a href="struct__Evas__Cserve__Config.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#gab039ccd04ab2e8857a0df629b4ac0901">evas_cserve_want_get</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system wants to share bitmaps using the server.  <a href="#gab039ccd04ab2e8857a0df629b4ac0901"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#gab88ee4c01dbdf01fea4d8acf4a07b25f">evas_cserve_connected_get</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system is connected to the server used to shae bitmaps.  <a href="#gab88ee4c01dbdf01fea4d8acf4a07b25f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga82fec634eb97f664e9cb3ed08358b1a2">evas_cserve_stats_get</a> (<a class="el" href="struct__Evas__Cserve__Stats.html">Evas_Cserve_Stats</a> *stats)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the system wants to share bitmaps using the server.  <a href="#ga82fec634eb97f664e9cb3ed08358b1a2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga9bb7fbd93f4bc9310707549ff9427b47">evas_cserve_config_get</a> (<a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *config)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current configuration of the server.  <a href="#ga9bb7fbd93f4bc9310707549ff9427b47"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga10c38a7bfb59423c2a96447b42c2aa15">evas_cserve_config_set</a> (const <a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *config)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the configuration of the server.  <a href="#ga10c38a7bfb59423c2a96447b42c2aa15"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga3129abb4410e7d6967072f14ac327daf"></a><!-- doxytag: member="Evas_Cserve::evas_cserve_disconnect" ref="ga3129abb4410e7d6967072f14ac327daf" args="(void)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Cserve.html#ga3129abb4410e7d6967072f14ac327daf">evas_cserve_disconnect</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force system to disconnect from cache server. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Provides client-server infrastructure to share bitmaps across multiple processes, saving data and processing power. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga9bb7fbd93f4bc9310707549ff9427b47"></a><!-- doxytag: member="evas_stats.c::evas_cserve_config_get" ref="ga9bb7fbd93f4bc9310707549ff9427b47" args="(Evas_Cserve_Config *config)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_cserve_config_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *&nbsp;</td>
+          <td class="paramname"> <em>config</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the current configuration of the server. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>where to store current server configuration. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if <code>config</code> were filled with data, <code>EINA_FALSE</code> otherwise and <code>config</code> is untouched. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga10c38a7bfb59423c2a96447b42c2aa15"></a><!-- doxytag: member="evas_stats.c::evas_cserve_config_set" ref="ga10c38a7bfb59423c2a96447b42c2aa15" args="(const Evas_Cserve_Config *config)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_cserve_config_set </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Cserve__Config.html">Evas_Cserve_Config</a> *&nbsp;</td>
+          <td class="paramname"> <em>config</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Changes the configuration of the server. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>config</em>&nbsp;</td><td>where to store current server configuration. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if <code>config</code> were successfully applied, <code>EINA_FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab88ee4c01dbdf01fea4d8acf4a07b25f"></a><!-- doxytag: member="evas_stats.c::evas_cserve_connected_get" ref="gab88ee4c01dbdf01fea4d8acf4a07b25f" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_cserve_connected_get </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves if the system is connected to the server used to shae bitmaps. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if connected, <code>EINA_FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga82fec634eb97f664e9cb3ed08358b1a2"></a><!-- doxytag: member="evas_stats.c::evas_cserve_stats_get" ref="ga82fec634eb97f664e9cb3ed08358b1a2" args="(Evas_Cserve_Stats *stats)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_cserve_stats_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Cserve__Stats.html">Evas_Cserve_Stats</a> *&nbsp;</td>
+          <td class="paramname"> <em>stats</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves if the system wants to share bitmaps using the server. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>stats</em>&nbsp;</td><td>pointer to structure to fill with statistics about cache server. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if <code>stats</code> were filled with data, <code>EINA_FALSE</code> otherwise and <code>stats</code> is untouched. </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Cserve__Stats.html#af7fa72c981c855ee8c0e49dd3395f113">_Evas_Cserve_Stats::saved_memory</a>, <a class="el" href="struct__Evas__Cserve__Stats.html#a9738ab5831d7b402111db096b6ff972b">_Evas_Cserve_Stats::saved_memory_peak</a>, <a class="el" href="struct__Evas__Cserve__Stats.html#a8f9d701eb8a7d84937422999ff002a1a">_Evas_Cserve_Stats::saved_time_image_data_load</a>, <a class="el" href="struct__Evas__Cserve__Stats.html#a35301ae776cdf63793735930d8fe0873">_Evas_Cserve_Stats::saved_time_image_header_load</a>, <a class="el" href="struct__Evas__Cserve__Stats.html#ab98e8e5dd83545a2c6acc3c914ea488e">_Evas_Cserve_Stats::wasted_memory</a>, and <a class="el" href="struct__Evas__Cserve__Stats.html#afcdf3ed844a2e8241c0ee5986e6532bb">_Evas_Cserve_Stats::wasted_memory_peak</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab039ccd04ab2e8857a0df629b4ac0901"></a><!-- doxytag: member="evas_stats.c::evas_cserve_want_get" ref="gab039ccd04ab2e8857a0df629b4ac0901" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_cserve_want_get </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves if the system wants to share bitmaps using the server. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if wants, <code>EINA_FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Event__Feeding__Group.html b/doc/html/group__Evas__Event__Feeding__Group.html
new file mode 100644 (file)
index 0000000..5f346bb
--- /dev/null
@@ -0,0 +1,744 @@
+<html>
+<head>
+    <title>Evas: Event Feeding Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Event Feeding Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions to tell Evas that events happened and should be processed.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64">evas_event_freeze_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the freeze count of a given canvas.  <a href="#gabc15f5115b4baaeafd2d144f307b6b64"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2">evas_event_feed_mouse_down</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int b, <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a> flags, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse down event feed.  <a href="#ga5c9811b87406a96ff573b83d1efd52f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int b, <a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a> flags, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse up event feed.  <a href="#gacb400569d04ecfd2b89eb0f39856581c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385">evas_event_feed_mouse_cancel</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse cancel event feed.  <a href="#ga5c300cdca8551fd49d5341ef19c8f385"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga393156722bbe1ce384f0ab33ab76a1f2">evas_event_feed_mouse_wheel</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int direction, int z, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse wheel event feed.  <a href="#ga393156722bbe1ce384f0ab33ab76a1f2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int x, int y, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse move event feed.  <a href="#ga480017cad2b8982bee7a894433aff2f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">evas_event_feed_mouse_in</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse in event feed.  <a href="#gac9c7fada70cfee1f8124ab5446cc59ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13">evas_event_feed_mouse_out</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse out event feed.  <a href="#ga64f5f2d26a018f4e6154b91251e6bb13"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#ga096e2ef05bfa471d2773729bd24732a0">evas_event_feed_key_down</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key down event feed.  <a href="#ga096e2ef05bfa471d2773729bd24732a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gaebe7d4f8b6423aff1ffe67c724d4590d">evas_event_feed_key_up</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Key up event feed.  <a href="#gaebe7d4f8b6423aff1ffe67c724d4590d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Feeding__Group.html#gaedc3a956cd753acdd2a58ad0d2865d04">evas_event_feed_hold</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int hold, unsigned int timestamp, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hold event feed.  <a href="#gaedc3a956cd753acdd2a58ad0d2865d04"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions to tell Evas that events happened and should be processed. </p>
+<p>As explained in <a class="el" href="index.html#intro_not_evas">What Evas is not?</a>, Evas does not know how to poll for events, so the developer should do it and then feed such events to the canvas to be processed. This is only required if operating Evas directly as modules such as Ecore_Evas does that for you. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaedc3a956cd753acdd2a58ad0d2865d04"></a><!-- doxytag: member="evas_events.c::evas_event_feed_hold" ref="gaedc3a956cd753acdd2a58ad0d2865d04" args="(Evas *e, int hold, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_hold </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>hold</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Hold event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hold</em>&nbsp;</td><td>The hold. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function makes the object to stop sending events. </p>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85">EVAS_CALLBACK_HOLD</a>, and <a class="el" href="struct__Evas__Event__Hold.html#a21f7238382ebd994e083623f777853f3">_Evas_Event_Hold::hold</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga096e2ef05bfa471d2773729bd24732a0"></a><!-- doxytag: member="evas_events.c::evas_event_feed_key_down" ref="ga096e2ef05bfa471d2773729bd24732a0" args="(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_key_down </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>keyname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>compose</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Key down event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to thaw out </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>keyname</em>&nbsp;</td><td>Name of the key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key pressed. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>A String </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compose</em>&nbsp;</td><td>The compose string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>Timestamp of the mouse up event </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when a key is pressed. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Key__Down.html#a5ea3ff931ae945c486abd2388c6d653a">_Evas_Event_Key_Down::compose</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584">EVAS_CALLBACK_KEY_DOWN</a>, <a class="el" href="struct__Evas__Event__Key__Down.html#a70473bba88a1afaee180a54150513824">_Evas_Event_Key_Down::key</a>, <a class="el" href="struct__Evas__Event__Key__Down.html#a01909378c9e67734aa0e6ce2b603ad2c">_Evas_Event_Key_Down::keyname</a>, and <a class="el" href="struct__Evas__Event__Key__Down.html#a1b64741ca0b90a5119463f320ebeea00">_Evas_Event_Key_Down::string</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaebe7d4f8b6423aff1ffe67c724d4590d"></a><!-- doxytag: member="evas_events.c::evas_event_feed_key_up" ref="gaebe7d4f8b6423aff1ffe67c724d4590d" args="(Evas *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_key_up </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>keyname</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>compose</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Key up event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to thaw out </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>keyname</em>&nbsp;</td><td>Name of the key </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The key released. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>compose</em>&nbsp;</td><td>compose </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>Timestamp of the mouse up event </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>Data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when a key is released. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Key__Up.html#ac0d6a67e53331d863d141475b1b905fb">_Evas_Event_Key_Up::compose</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f">EVAS_CALLBACK_KEY_UP</a>, <a class="el" href="struct__Evas__Event__Key__Up.html#a865118cf93e4454ac101d663b8027b41">_Evas_Event_Key_Up::key</a>, <a class="el" href="struct__Evas__Event__Key__Up.html#a03b32c8ba37a03fbd3ea7cd63e5f47be">_Evas_Event_Key_Up::keyname</a>, and <a class="el" href="struct__Evas__Event__Key__Up.html#aadff1de218baec7322b0ed0f6cf6d662">_Evas_Event_Key_Up::string</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5c300cdca8551fd49d5341ef19c8f385"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_cancel" ref="ga5c300cdca8551fd49d5341ef19c8f385" args="(Evas *e, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_cancel </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse cancel event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will call <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c" title="Mouse up event feed.">evas_event_feed_mouse_up()</a> when a mouse cancel event happens. </p>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5c9811b87406a96ff573b83d1efd52f2"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_down" ref="ga5c9811b87406a96ff573b83d1efd52f2" args="(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_down </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a>&nbsp;</td>
+          <td class="paramname"> <em>flags</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse down event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The button number. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The evas button flags. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse down event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse button is pressed. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__Down.html#a0ab02808721d6c55fc642ecbb37d5ff9">_Evas_Event_Mouse_Down::button</a>, and <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f">EVAS_CALLBACK_MOUSE_DOWN</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac9c7fada70cfee1f8124ab5446cc59ed"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_in" ref="gac9c7fada70cfee1f8124ab5446cc59ed" args="(Evas *e, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_in </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse in event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse in event happens. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In::buttons</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">EVAS_CALLBACK_MOUSE_IN</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga480017cad2b8982bee7a894433aff2f7"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_move" ref="ga480017cad2b8982bee7a894433aff2f7" args="(Evas *e, int x, int y, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_move </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse move event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The horizontal position of the mouse pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The vertical position of the mouse pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse is moved from its last position. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In::buttons</a>, <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out::buttons</a>, <a class="el" href="struct__Evas__Event__Mouse__Move.html#a455bf48e5f7badcc6c525162e0997d08">_Evas_Event_Mouse_Move::buttons</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">EVAS_CALLBACK_MOUSE_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a">EVAS_CALLBACK_MOUSE_MOVE</a>, and <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">EVAS_CALLBACK_MOUSE_OUT</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">evas_event_feed_mouse_in()</a>, <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">evas_object_hide()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">evas_object_layer_set()</a>, <a class="el" href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174">evas_object_line_xy_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">evas_object_lower()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">evas_object_pass_events_set()</a>, <a class="el" href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76">evas_object_polygon_point_add()</a>, <a class="el" href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2">evas_object_polygon_points_clear()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">evas_object_raise()</a>, <a class="el" href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">evas_object_repeat_events_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f">evas_object_show()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga1128fb1e04b1de059e9ccade58c83663">evas_object_stack_above()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga8cc69c6e6d78d686d8c4606ac03c2864">evas_object_stack_below()</a>, <a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">evas_object_text_font_set()</a>, and <a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532">evas_object_text_text_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga64f5f2d26a018f4e6154b91251e6bb13"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_out" ref="ga64f5f2d26a018f4e6154b91251e6bb13" args="(Evas *e, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_out </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse out event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>Timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse out event happens. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out::buttons</a>, and <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">EVAS_CALLBACK_MOUSE_OUT</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gacb400569d04ecfd2b89eb0f39856581c"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_up" ref="gacb400569d04ecfd2b89eb0f39856581c" args="(Evas *e, int b, Evas_Button_Flags flags, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_up </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#aae3a7dde94160cc18015784fb192bb2f">Evas_Button_Flags</a>&nbsp;</td>
+          <td class="paramname"> <em>flags</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse up event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The button number. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>evas button flags. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse button is released. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__Up.html#aa513164499624ee1e6f1790899efe60f">_Evas_Event_Mouse_Up::button</a>, <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In::buttons</a>, <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out::buttons</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af">EVAS_CALLBACK_MOUSE_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">EVAS_CALLBACK_MOUSE_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7">EVAS_CALLBACK_MOUSE_UP</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c300cdca8551fd49d5341ef19c8f385">evas_event_feed_mouse_cancel()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga393156722bbe1ce384f0ab33ab76a1f2"></a><!-- doxytag: member="evas_events.c::evas_event_feed_mouse_wheel" ref="ga393156722bbe1ce384f0ab33ab76a1f2" args="(Evas *e, int direction, int z, unsigned int timestamp, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_feed_mouse_wheel </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>direction</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>z</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>timestamp</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mouse wheel event feed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>direction</em>&nbsp;</td><td>The wheel mouse direction. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>z</em>&nbsp;</td><td>How much mouse wheel was scrolled up or down. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>timestamp</em>&nbsp;</td><td>The timestamp of the mouse up event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data for canvas.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will set some evas properties that is necessary when the mouse wheel is scrolled up or down. It prepares information to be treated by the callback function. </p>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4">EVAS_CALLBACK_MOUSE_WHEEL</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabc15f5115b4baaeafd2d144f307b6b64"></a><!-- doxytag: member="evas_events.c::evas_event_freeze_get" ref="gabc15f5115b4baaeafd2d144f307b6b64" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_event_freeze_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the freeze count of a given canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to fetch the freeze count from.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This returns the number of times the canvas has been told to freeze events. It is possible to call <a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e" title="Freeze all event processing.">evas_event_freeze()</a> multiple times, and these must be matched by <a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1" title="Thaw a canvas out after freezing.">evas_event_thaw()</a> calls. This call allows the program to discover just how many times things have been frozen in case it may want to break out of a deep freeze state where the count is high.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+
+ <span class="keywordflow">while</span> (<a class="code" href="group__Evas__Event__Feeding__Group.html#gabc15f5115b4baaeafd2d144f307b6b64" title="Return the freeze count of a given canvas.">evas_event_freeze_get</a>(evas) &gt; 0) <a class="code" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1" title="Thaw a canvas out after freezing.">evas_event_thaw</a>(evas);
+</pre></div> 
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Event__Freezing__Group.html b/doc/html/group__Evas__Event__Freezing__Group.html
new file mode 100644 (file)
index 0000000..3e637d8
--- /dev/null
@@ -0,0 +1,174 @@
+<html>
+<head>
+    <title>Evas: Event Freezing Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Event Freezing Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deal with the freezing of event processing of an evas.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e">evas_event_freeze</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Freeze all event processing.  <a href="#ga45fee3a26820b56527e434f6173c345e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1">evas_event_thaw</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Thaw a canvas out after freezing.  <a href="#ga4f08e6b3eece51bf285f1226629924e1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deal with the freezing of event processing of an evas. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga45fee3a26820b56527e434f6173c345e"></a><!-- doxytag: member="evas_events.c::evas_event_freeze" ref="ga45fee3a26820b56527e434f6173c345e" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_freeze </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Freeze all event processing. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to freeze event processing on.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will indicate to evas that the canvas <code>e</code> is to have all event processing frozen until a matching <a class="el" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1" title="Thaw a canvas out after freezing.">evas_event_thaw()</a> function is called on the same canvas. Every freeze call must be matched by a thaw call in order to completely thaw out a canvas.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
+
+ <a class="code" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e" title="Freeze all event processing.">evas_event_freeze</a>(evas);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(<span class="keywordtype">object</span>, 50, 100);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(<span class="keywordtype">object</span>, 200, 200);
+ <a class="code" href="group__Evas__Event__Freezing__Group.html#ga4f08e6b3eece51bf285f1226629924e1" title="Thaw a canvas out after freezing.">evas_event_thaw</a>(evas);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga4f08e6b3eece51bf285f1226629924e1"></a><!-- doxytag: member="evas_events.c::evas_event_thaw" ref="ga4f08e6b3eece51bf285f1226629924e1" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_event_thaw </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Thaw a canvas out after freezing. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to thaw out.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This will thaw out a canvas after a matching <a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e" title="Freeze all event processing.">evas_event_freeze()</a> call. If this call completely thaws out a canvas, events will start being processed again after this call, but this call will not invole any "missed" events to be evaluated.</p>
+<p>See <a class="el" href="group__Evas__Event__Freezing__Group.html#ga45fee3a26820b56527e434f6173c345e" title="Freeze all event processing.">evas_event_freeze()</a> for an example. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Font__Group.html b/doc/html/group__Evas__Font__Group.html
new file mode 100644 (file)
index 0000000..e8b4f61
--- /dev/null
@@ -0,0 +1,449 @@
+<html>
+<head>
+    <title>Evas: Font Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Font Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deals with fonts.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html">Font Path Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that edit the paths being used to load fonts. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flags for Font Hinting.  <a href="#gaaed9273c1705a3d2356470c60b2f5aa5"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338">EVAS_FONT_HINTING_NONE</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440">EVAS_FONT_HINTING_AUTO</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e">EVAS_FONT_HINTING_BYTECODE</a>
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Flags for Font Hinting. </p>
+ <a href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaf39062952fc420ff32fbacfb8c27bd7d">evas_font_hinting_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a> hinting)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the font hinting for the given evas.  <a href="#gaf39062952fc420ff32fbacfb8c27bd7d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gafe785a87743b72d8064f0562fd79cc75">evas_font_hinting_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the font hinting used by the given evas.  <a href="#gafe785a87743b72d8064f0562fd79cc75"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gaa4210fa6661330e67ec4c9cbde775b4b">evas_font_hinting_can_hint</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a> hinting)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the font hinting is supported by the given evas.  <a href="#gaa4210fa6661330e67ec4c9cbde775b4b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gad75ac8ed0c921e774f1c519a66f05a2f">evas_font_cache_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Force the given evas and associated engine to flush its font cache.  <a href="#gad75ac8ed0c921e774f1c519a66f05a2f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga5582cfcdb08f6253225bb8cede49033a">evas_font_cache_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of font cache of the given evas.  <a href="#ga5582cfcdb08f6253225bb8cede49033a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga9cf39aae3074cac05c4aafa3ff24c32f">evas_font_cache_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of font cache of the given evas.  <a href="#ga9cf39aae3074cac05c4aafa3ff24c32f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#ga9d51a2efecf89a81a2990db252f3dc6c">evas_font_available_list</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List of available font descriptions known or found by this evas.  <a href="#ga9d51a2efecf89a81a2990db252f3dc6c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467">evas_font_available_list_free</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Eina_List *available)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free list of font descriptions returned by evas_font_dir_available_list().  <a href="#gadde47be1a7d61f416bfa365a5a1e1467"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deals with fonts. </p>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="gaaed9273c1705a3d2356470c60b2f5aa5"></a><!-- doxytag: member="Evas.h::Evas_Font_Hinting_Flags" ref="gaaed9273c1705a3d2356470c60b2f5aa5" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a>  <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Font Hinting. </p>
+<p>Flags for Font Hinting </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ga49208864211c97ac1a09f03318aa253c"></a><!-- doxytag: member="Evas.h::_Evas_Font_Hinting_Flags" ref="ga49208864211c97ac1a09f03318aa253c" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="group__Evas__Font__Group.html#ga49208864211c97ac1a09f03318aa253c">_Evas_Font_Hinting_Flags</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flags for Font Hinting. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338"></a><!-- doxytag: member="EVAS_FONT_HINTING_NONE" ref="gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338" args="" -->EVAS_FONT_HINTING_NONE</em>&nbsp;</td><td>
+<p>No font hinting. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440"></a><!-- doxytag: member="EVAS_FONT_HINTING_AUTO" ref="gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440" args="" -->EVAS_FONT_HINTING_AUTO</em>&nbsp;</td><td>
+<p>Automatic font hinting. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e"></a><!-- doxytag: member="EVAS_FONT_HINTING_BYTECODE" ref="gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e" args="" -->EVAS_FONT_HINTING_BYTECODE</em>&nbsp;</td><td>
+<p>Bytecode font hinting. </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga9d51a2efecf89a81a2990db252f3dc6c"></a><!-- doxytag: member="evas_object_text.c::evas_font_available_list" ref="ga9d51a2efecf89a81a2990db252f3dc6c" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_font_available_list </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>List of available font descriptions known or found by this evas. </p>
+<p>The list depends on Evas compile time configuration, such as fontconfig support, and the paths provided at runtime as explained in <a class="el" href="group__Evas__Font__Path__Group.html">Font Path Functions</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas instance to query. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a newly allocated list of strings. Do not change the strings. Be sure to call <a class="el" href="group__Evas__Font__Group.html#gadde47be1a7d61f416bfa365a5a1e1467" title="Free list of font descriptions returned by evas_font_dir_available_list().">evas_font_available_list_free()</a> after you're done. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gadde47be1a7d61f416bfa365a5a1e1467"></a><!-- doxytag: member="evas_object_text.c::evas_font_available_list_free" ref="gadde47be1a7d61f416bfa365a5a1e1467" args="(Evas *e, Eina_List *available)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_available_list_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_List *&nbsp;</td>
+          <td class="paramname"> <em>available</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Free list of font descriptions returned by evas_font_dir_available_list(). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The evas instance that returned such list. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>available</em>&nbsp;</td><td>the list returned by evas_font_dir_available_list(). </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gad75ac8ed0c921e774f1c519a66f05a2f"></a><!-- doxytag: member="evas_object_text.c::evas_font_cache_flush" ref="gad75ac8ed0c921e774f1c519a66f05a2f" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_cache_flush </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Force the given evas and associated engine to flush its font cache. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas to flush font cache. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9cf39aae3074cac05c4aafa3ff24c32f"></a><!-- doxytag: member="evas_object_text.c::evas_font_cache_get" ref="ga9cf39aae3074cac05c4aafa3ff24c32f" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_font_cache_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Changes the size of font cache of the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas to flush font cache. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The size, in bytes. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5582cfcdb08f6253225bb8cede49033a"></a><!-- doxytag: member="evas_object_text.c::evas_font_cache_set" ref="ga5582cfcdb08f6253225bb8cede49033a" args="(Evas *e, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_cache_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Changes the size of font cache of the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas to flush font cache. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size, in bytes. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa4210fa6661330e67ec4c9cbde775b4b"></a><!-- doxytag: member="evas_object_text.c::evas_font_hinting_can_hint" ref="gaa4210fa6661330e67ec4c9cbde775b4b" args="(const Evas *e, Evas_Font_Hinting_Flags hinting)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_font_hinting_can_hint </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a>&nbsp;</td>
+          <td class="paramname"> <em>hinting</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Checks if the font hinting is supported by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas to query. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hinting</em>&nbsp;</td><td>The hinting to use, one of <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338" title="No font hinting.">EVAS_FONT_HINTING_NONE</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440" title="Automatic font hinting.">EVAS_FONT_HINTING_AUTO</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e" title="Bytecode font hinting.">EVAS_FONT_HINTING_BYTECODE</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>EINA_TRUE</code> if it is supported, <code>EINA_FALSE</code> otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gafe785a87743b72d8064f0562fd79cc75"></a><!-- doxytag: member="evas_object_text.c::evas_font_hinting_get" ref="gafe785a87743b72d8064f0562fd79cc75" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a> evas_font_hinting_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the font hinting used by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas to query. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The hinting in use, one of <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338" title="No font hinting.">EVAS_FONT_HINTING_NONE</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440" title="Automatic font hinting.">EVAS_FONT_HINTING_AUTO</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e" title="Bytecode font hinting.">EVAS_FONT_HINTING_BYTECODE</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf39062952fc420ff32fbacfb8c27bd7d"></a><!-- doxytag: member="evas_object_text.c::evas_font_hinting_set" ref="gaf39062952fc420ff32fbacfb8c27bd7d" args="(Evas *e, Evas_Font_Hinting_Flags hinting)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_hinting_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Font__Group.html#gaaed9273c1705a3d2356470c60b2f5aa5">Evas_Font_Hinting_Flags</a>&nbsp;</td>
+          <td class="paramname"> <em>hinting</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Changes the font hinting for the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hinting</em>&nbsp;</td><td>The hinting to use, one of <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338" title="No font hinting.">EVAS_FONT_HINTING_NONE</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440" title="Automatic font hinting.">EVAS_FONT_HINTING_AUTO</a>, <a class="el" href="group__Evas__Font__Group.html#gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e" title="Bytecode font hinting.">EVAS_FONT_HINTING_BYTECODE</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Font__Path__Group.html b/doc/html/group__Evas__Font__Path__Group.html
new file mode 100644 (file)
index 0000000..7197110
--- /dev/null
@@ -0,0 +1,242 @@
+<html>
+<head>
+    <title>Evas: Font Path Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Font Path Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Font__Group.html">Font Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that edit the paths being used to load fonts.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#gad565539bda0fc124e4a0865fa29a8463">evas_font_path_clear</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all font paths loaded into memory for the given evas.  <a href="#gad565539bda0fc124e4a0865fa29a8463"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#ga0ec22ec047841db059a9f6f0b2ec5918">evas_font_path_append</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *path)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Appends a font path to the list of font paths used by the given evas.  <a href="#ga0ec22ec047841db059a9f6f0b2ec5918"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#ga652be59a6b8a2e7ecb71bef3ac31885b">evas_font_path_prepend</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *path)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepends a font path to the list of font paths used by the given evas.  <a href="#ga652be59a6b8a2e7ecb71bef3ac31885b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Font__Path__Group.html#ga06fc80b3e4c27237a571404fc6aa3aeb">evas_font_path_list</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the list of font paths used by the given evas.  <a href="#ga06fc80b3e4c27237a571404fc6aa3aeb"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that edit the paths being used to load fonts. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga0ec22ec047841db059a9f6f0b2ec5918"></a><!-- doxytag: member="evas_object_text.c::evas_font_path_append" ref="ga0ec22ec047841db059a9f6f0b2ec5918" args="(Evas *e, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_path_append </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Appends a font path to the list of font paths used by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The new font path. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gad565539bda0fc124e4a0865fa29a8463"></a><!-- doxytag: member="evas_object_text.c::evas_font_path_clear" ref="gad565539bda0fc124e4a0865fa29a8463" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_path_clear </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Removes all font paths loaded into memory for the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f">evas_free()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga06fc80b3e4c27237a571404fc6aa3aeb"></a><!-- doxytag: member="evas_object_text.c::evas_font_path_list" ref="ga06fc80b3e4c27237a571404fc6aa3aeb" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const Eina_List* evas_font_path_list </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the list of font paths used by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The list of font paths used. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga652be59a6b8a2e7ecb71bef3ac31885b"></a><!-- doxytag: member="evas_object_text.c::evas_font_path_prepend" ref="ga652be59a6b8a2e7ecb71bef3ac31885b" args="(Evas *e, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_font_path_prepend </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Prepends a font path to the list of font paths used by the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>path</em>&nbsp;</td><td>The new font path. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Group.html b/doc/html/group__Evas__Group.html
new file mode 100644 (file)
index 0000000..efb5d6c
--- /dev/null
@@ -0,0 +1,303 @@
+<html>
+<head>
+    <title>Evas: Top Level Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Top Level Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that affect Evas as a whole.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd">evas_async_events_fd_get</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get evas' internal asynchronous events read file descriptor.  <a href="#ga7e59dbbc6b37d4ce63bea067851ceedd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47">evas_async_events_process</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Trigger the processing of all events waiting on the file descriptor returned by <a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd" title="Get evas&#39; internal asynchronous events read file descriptor.">evas_async_events_fd_get()</a>.  <a href="#ga9f99c6cd0bf0621bdd61d1085999ef47"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga5c1059b55fbca7f55037c4ce52d5d6ca">evas_async_events_put</a> (const void *target, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, void *event_info, Evas_Async_Events_Put_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert asynchronous events on the canvas.  <a href="#ga5c1059b55fbca7f55037c4ce52d5d6ca"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c">evas_init</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize Evas.  <a href="#ga939a904ec53bf80796a8ad763cbb4c3c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed">evas_shutdown</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shutdown Evas.  <a href="#ga3170193ec2e0ce4d7f0eb55de71060ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#ae0181b78df8e248703a72a978d271208">Evas_Alloc_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9">evas_alloc_error</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return if any allocation errors have occurred during the prior function.  <a href="#ga1c782b4511e3b8678a2166c651053ac9"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that affect Evas as a whole. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga1c782b4511e3b8678a2166c651053ac9"></a><!-- doxytag: member="main.c::evas_alloc_error" ref="ga1c782b4511e3b8678a2166c651053ac9" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#ae0181b78df8e248703a72a978d271208">Evas_Alloc_Error</a> evas_alloc_error </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return if any allocation errors have occurred during the prior function. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The allocation error flag</dd></dl>
+<p>This function will return if any memory allocation errors occurred during, and what kind they were. The return value will be one of EVAS_ALLOC_ERROR_NONE, EVAS_ALLOC_ERROR_FATAL or EVAS_ALLOC_ERROR_RECOVERED with each meaning something different.</p>
+<p>EVAS_ALLOC_ERROR_NONE means that no errors occurred at all and the function worked as expected.</p>
+<p>EVAS_ALLOC_ERROR_FATAL means the function was completely unable to perform its job and will have exited as cleanly as possible. The programmer should consider this as a sign of very low memory and should try and safely recover from the prior functions failure (or try free up memory elsewhere and try again after more memory is freed).</p>
+<p>EVAS_ALLOC_ERROR_RECOVERED means that an allocation error occurred, but was recovered from by evas finding memory of its own it has allocated and freeing what it sees as not really usefully allocated memory. What is freed may vary. Evas may reduce the resolution of images, free cached images or fonts, trhow out pre-rendered data, reduce the complexity of change lists etc. Evas and the program will function as per normal after this, but this is a sign of low memory, and it is suggested that the program try and identify memory it doesn't need, and free it.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
+ <span class="keywordtype">void</span> callback (<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+
+ <a class="code" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>, callback, NULL);
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() == <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e" title="Allocation failed despite attempts to free up memory.">EVAS_ALLOC_ERROR_FATAL</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Completely unable to attach callabck. Must\n&quot;</span>);
+     fprintf(stderr, <span class="stringliteral">&quot;       destroy object now as it cannot be used.\n&quot;</span>);
+     <a class="code" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd" title="Deletes the given evas object and frees its memory.">evas_object_del</a>(<span class="keywordtype">object</span>);
+     <span class="keywordtype">object</span> = NULL;
+     fprintf(stderr, <span class="stringliteral">&quot;WARNING: Memory is really low. Cleaning out RAM.\n&quot;</span>);
+     my_memory_cleanup();
+   }
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() == <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e" title="Allocation succeeded, but extra memory had to be found by freeing up speculative resources.">EVAS_ALLOC_ERROR_RECOVERED</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;WARNING: Memory is really low. Cleaning out RAM.\n&quot;</span>);
+     my_memory_cleanup();
+   }
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga7e59dbbc6b37d4ce63bea067851ceedd"></a><!-- doxytag: member="evas_async_events.c::evas_async_events_fd_get" ref="ga7e59dbbc6b37d4ce63bea067851ceedd" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_async_events_fd_get </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get evas' internal asynchronous events read file descriptor. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The canvas' asynchronous events read file descriptor.</dd></dl>
+<p>Evas' asynchronous events are meant to be dealt with internally, i. e., when building stuff to be glued together into the EFL infrastructure -- a module, for example. The context which demands its use is when calculations need to be done out of the main thread, asynchronously, and some action must be performed after that.</p>
+<p>An example of actual use of this API is for image asynchronous preload inside evas. If the canvas was instantiated through ecore-evas usage, ecore itself will take care of calling those events' processing.</p>
+<p>This function returns the read file descriptor where to get the asynchronous events of the canvas. Naturally, other mainloops, apart from ecore, may make use of it. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga9f99c6cd0bf0621bdd61d1085999ef47"></a><!-- doxytag: member="evas_async_events.c::evas_async_events_process" ref="ga9f99c6cd0bf0621bdd61d1085999ef47" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_async_events_process </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Trigger the processing of all events waiting on the file descriptor returned by <a class="el" href="group__Evas__Group.html#ga7e59dbbc6b37d4ce63bea067851ceedd" title="Get evas&#39; internal asynchronous events read file descriptor.">evas_async_events_fd_get()</a>. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The number of events processed.</dd></dl>
+<p>All asynchronous events queued up by <a class="el" href="group__Evas__Group.html#ga5c1059b55fbca7f55037c4ce52d5d6ca" title="Insert asynchronous events on the canvas.">evas_async_events_put()</a> are processed here. More precisely, the callback functions, informed together with other event parameters, when queued, get called (with those parameters), in that order. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga5c1059b55fbca7f55037c4ce52d5d6ca"></a><!-- doxytag: member="evas_async_events.c::evas_async_events_put" ref="ga5c1059b55fbca7f55037c4ce52d5d6ca" args="(const void *target, Evas_Callback_Type type, void *event_info, Evas_Async_Events_Put_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_async_events_put </td>
+          <td>(</td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>target</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>event_info</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Async_Events_Put_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Insert asynchronous events on the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>target</em>&nbsp;</td><td>The target to be affected by the events. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>event_info</em>&nbsp;</td><td>Information about the event. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The callback function pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This is the way, for a routine running outside evas' main thread, to report an asynchronous event. A callback function is informed, whose call is to happen after <a class="el" href="group__Evas__Group.html#ga9f99c6cd0bf0621bdd61d1085999ef47" title="Trigger the processing of all events waiting on the file descriptor returned by evas_async_events_fd_...">evas_async_events_process()</a> is called. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga939a904ec53bf80796a8ad763cbb4c3c"></a><!-- doxytag: member="evas_main.c::evas_init" ref="ga939a904ec53bf80796a8ad763cbb4c3c" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_init </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initialize Evas. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The init counter value.</dd></dl>
+<p>This function initialize evas, increments a counter of the number of calls to this function and returns this value.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed" title="Shutdown Evas.">evas_shutdown()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3170193ec2e0ce4d7f0eb55de71060ed"></a><!-- doxytag: member="evas_main.c::evas_shutdown" ref="ga3170193ec2e0ce4d7f0eb55de71060ed" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_shutdown </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Shutdown Evas. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The init counter value.</dd></dl>
+<p>This function finalize evas, decrements the counter of the number of calls to the function <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a> and returns this value.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a>. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Image__Group.html b/doc/html/group__Evas__Image__Group.html
new file mode 100644 (file)
index 0000000..e9a9274
--- /dev/null
@@ -0,0 +1,237 @@
+<html>
+<head>
+    <title>Evas: Image Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Image Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deals with images at canvas level.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214">evas_image_cache_flush</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flush the image cache of the canvas.  <a href="#gab236c9384f6fc7a3e1563839720a8214"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981">evas_image_cache_reload</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reload the image cache.  <a href="#gaec7f0a6cd5e39ebc6f0a80e945127981"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gab28271aad78206e5ee9bed62e0decfa7">evas_image_cache_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the image cache.  <a href="#gab28271aad78206e5ee9bed62e0decfa7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Image__Group.html#gad7ee7f4627d198c0de0ff197fe2f9ed0">evas_image_cache_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the image cache.  <a href="#gad7ee7f4627d198c0de0ff197fe2f9ed0"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deals with images at canvas level. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gab236c9384f6fc7a3e1563839720a8214"></a><!-- doxytag: member="evas_object_image.c::evas_image_cache_flush" ref="gab236c9384f6fc7a3e1563839720a8214" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_image_cache_flush </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Flush the image cache of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function flushes image cache of canvas. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Image__Group.html#gaec7f0a6cd5e39ebc6f0a80e945127981">evas_image_cache_reload()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad7ee7f4627d198c0de0ff197fe2f9ed0"></a><!-- doxytag: member="evas_object_image.c::evas_image_cache_get" ref="gad7ee7f4627d198c0de0ff197fe2f9ed0" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_image_cache_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the image cache. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the image cache of canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaec7f0a6cd5e39ebc6f0a80e945127981"></a><!-- doxytag: member="evas_object_image.c::evas_image_cache_reload" ref="gaec7f0a6cd5e39ebc6f0a80e945127981" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_image_cache_reload </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Reload the image cache. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function reloads the image cache of canvas. </p>
+
+<p>References <a class="el" href="group__Evas__Image__Group.html#gab236c9384f6fc7a3e1563839720a8214">evas_image_cache_flush()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab28271aad78206e5ee9bed62e0decfa7"></a><!-- doxytag: member="evas_object_image.c::evas_image_cache_set" ref="gab28271aad78206e5ee9bed62e0decfa7" args="(Evas *e, int size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_image_cache_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the image cache. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The cache size.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets the image cache of canvas. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Line__Group.html b/doc/html/group__Evas__Line__Group.html
new file mode 100644 (file)
index 0000000..ea26f4a
--- /dev/null
@@ -0,0 +1,256 @@
+<html>
+<head>
+    <title>Evas: Line Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Line Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions used to deal with evas line objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#ga896f1beaea24379495af4cbc5efcebfe">evas_object_line_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a new evas line object to the given evas.  <a href="#ga896f1beaea24379495af4cbc5efcebfe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#gaa43185929e6e41e9c7315d2230665174">evas_object_line_xy_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the coordinates of the end points of the given evas line object.  <a href="#gaa43185929e6e41e9c7315d2230665174"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html#ga3fa674863aa41d655caa103f546a9092">evas_object_line_xy_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the coordinates of the end points of the given evas line object.  <a href="#ga3fa674863aa41d655caa103f546a9092"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions used to deal with evas line objects. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga896f1beaea24379495af4cbc5efcebfe"></a><!-- doxytag: member="evas_object_line.c::evas_object_line_add" ref="ga896f1beaea24379495af4cbc5efcebfe" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_line_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a new evas line object to the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new evas line object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3fa674863aa41d655caa103f546a9092"></a><!-- doxytag: member="evas_object_line.c::evas_object_line_xy_get" ref="ga3fa674863aa41d655caa103f546a9092" args="(const Evas_Object *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_line_xy_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the coordinates of the end points of the given evas line object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given line object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x1</em>&nbsp;</td><td>Pointer to an integer in which to store the X coordinate of the first end point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y1</em>&nbsp;</td><td>Pointer to an integer in which to store the Y coordinate of the first end point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x2</em>&nbsp;</td><td>Pointer to an integer in which to store the X coordinate of the second end point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y2</em>&nbsp;</td><td>Pointer to an integer in which to store the Y coordinate of the second end point. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa43185929e6e41e9c7315d2230665174"></a><!-- doxytag: member="evas_object_line.c::evas_object_line_xy_set" ref="gaa43185929e6e41e9c7315d2230665174" args="(Evas_Object *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_line_xy_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the coordinates of the end points of the given evas line object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas line object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x1</em>&nbsp;</td><td>The X coordinate of the first point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y1</em>&nbsp;</td><td>The Y coordinate of the first point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x2</em>&nbsp;</td><td>The X coordinate of the second point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y2</em>&nbsp;</td><td>The Y coordinate of the second point. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Box.html b/doc/html/group__Evas__Object__Box.html
new file mode 100644 (file)
index 0000000..b5ae442
--- /dev/null
@@ -0,0 +1,1376 @@
+<html>
+<head>
+    <title>Evas: Box (Sequence) Smart Object.</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Box (Sequence) Smart Object.<br/>
+<small>
+[<a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Convenience smart object that packs children as a sequence using a layout function specified by user.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a>.  <a href="struct__Evas__Object__Box__Api.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This structure augments clipped smart object's instance data, providing extra members required by generic box implementation.  <a href="struct__Evas__Object__Box__Data.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8">EVAS_OBJECT_BOX_API_INIT</a>(smart_class_init)&nbsp;&nbsp;&nbsp;{smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer for whole Evas_Object_Box_Api structure.  <a href="#ga118b1b5bc278185207e7651911637ac8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa">EVAS_OBJECT_BOX_API_INIT_NULL</a>&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure.  <a href="#gacfe469ef2fc811ab4af8c77105bf4baa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1">EVAS_OBJECT_BOX_API_INIT_VERSION</a>&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure and set version.  <a href="#gabab7b773ecb31ecbf661646d5db1bea1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7">EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</a>(name)&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.  <a href="#gad35b8c6b395f976397abbb6f964878e7"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2a8fbeeab4f5ae23e7bc1b291e27c5e1"></a><!-- doxytag: member="Evas_Object_Box::Evas_Object_Box_Api" ref="ga2a8fbeeab4f5ae23e7bc1b291e27c5e1" args="" -->
+typedef struct <a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga2a8fbeeab4f5ae23e7bc1b291e27c5e1">Evas_Object_Box_Api</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart Class extension providing extra box requirements. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac9047b7cff95df59f61c7321967caf7b"></a><!-- doxytag: member="Evas_Object_Box::Evas_Object_Box_Data" ref="gac9047b7cff95df59f61c7321967caf7b" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gac9047b7cff95df59f61c7321967caf7b">Evas_Object_Box_Data</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Smart instance data providing box requirements. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabbeb05bf47aaf7681e9d83a1b0055d20"></a><!-- doxytag: member="Evas_Object_Box::Evas_Object_Box_Option" ref="gabbeb05bf47aaf7681e9d83a1b0055d20" args="" -->
+typedef struct <br class="typebreak"/>
+_Evas_Object_Box_Option&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The base structure for a box option. <br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">evas_object_box_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *evas)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new box.  <a href="#ga84e87534e6a45a725d59c0366f4e6544"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">evas_object_box_add_to</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *parent)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a box that is child of a given element <em>parent</em>.  <a href="#gaf332313478211a06a09038755cf139bf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga19c407e45de527d9400823fb1c85d0fe">evas_object_box_smart_set</a> (<a class="el" href="struct__Evas__Object__Box__Api.html">Evas_Object_Box_Api</a> *api)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the default box <em>api</em> struct (Evas_Object_Box_Api) with the default values.  <a href="#ga19c407e45de527d9400823fb1c85d0fe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga58da2c7328e5c8a01a8817f934d083ff"></a><!-- doxytag: member="Evas_Object_Box::evas_object_box_smart_class_get" ref="ga58da2c7328e5c8a01a8817f934d083ff" args="(void)" -->
+EAPI const <a class="el" href="struct__Evas__Object__Box__Api.html">Evas_Object_Box_Api</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">evas_object_box_smart_class_get</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get Box Smart Class for inheritance purposes. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570">evas_object_box_layout_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Object_Box_Layout cb, const void *data, void(*free_data)(void *data))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a 'calculate' callback (<em>cb</em>) to the <em>o</em> box's smart class, which here defines its genre (horizontal, vertical, homogeneous, etc.  <a href="#ga2116d23c11ab08d7c50cbcb588de5570"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a (basic) horizontal box.  <a href="#gaabb841838ce9c05f6b99350d15b76aaf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a (basic) vertical box.  <a href="#ga1e102aa54789b74f54944c17d0a880db"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *homogeneous* horizontal box.  <a href="#gac4478016783bad6d2170571a11a23e21"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *homogeneous* vertical box.  <a href="#gaa860afd56866955550ae650464d2dc9a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *max size-homogeneous* horizontal box.  <a href="#gab9e441a27ebe6253ef1b9d6d25ee9bc4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *max size-homogeneous* vertical box.  <a href="#gabccbf4cf59018eac96c9281576b61abf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *flow* horizontal box.  <a href="#ga99ee061972f53fb7d9213d586c29cc8d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to a *flow* vertical box.  <a href="#gaa6e0bf47f84d7bb1b2439f4b6123e7d7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *priv, void *data __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Layout function which sets the box <em>o</em> to set all children to the size of the object.  <a href="#gae40153d3702dcb79f2587364cde2fb7b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae66fe763591e62621cf6352528d97e10"></a><!-- doxytag: member="Evas_Object_Box::evas_object_box_align_set" ref="gae66fe763591e62621cf6352528d97e10" args="(Evas_Object *o, double horizontal, double vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gae66fe763591e62621cf6352528d97e10">evas_object_box_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double horizontal, double vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad87e3a868b14d1a28da7511f95b59673"></a><!-- doxytag: member="Evas_Object_Box::evas_object_box_align_get" ref="gad87e3a868b14d1a28da7511f95b59673" args="(const Evas_Object *o, double *horizontal, double *vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad87e3a868b14d1a28da7511f95b59673">evas_object_box_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double *horizontal, double *vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga75ab3d2f84c328010c26a6b8d89c9c67"></a><!-- doxytag: member="Evas_Object_Box::evas_object_box_padding_set" ref="ga75ab3d2f84c328010c26a6b8d89c9c67" args="(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga75ab3d2f84c328010c26a6b8d89c9c67">evas_object_box_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord horizontal, Evas_Coord vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the space (padding) between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab24383f3b29c8bc78c98cd0b0f16902d"></a><!-- doxytag: member="Evas_Object_Box::evas_object_box_padding_get" ref="gab24383f3b29c8bc78c98cd0b0f16902d" args="(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gab24383f3b29c8bc78c98cd0b0f16902d">evas_object_box_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord *horizontal, Evas_Coord *vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the (space) padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gaa06e910577a949fc55b3a661d17f2fb3">evas_object_box_append</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a new object <em>child</em> to the box <em>o</em>.  <a href="#gaa06e910577a949fc55b3a661d17f2fb3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga0fec96faf6bbc106b8af28ff479ddfc3">evas_object_box_prepend</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepend a new object <em>child</em> to the box <em>o</em>.  <a href="#ga0fec96faf6bbc106b8af28ff479ddfc3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga5759fa41a7c3541f43ae98f58bd1ec85">evas_object_box_insert_before</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child, const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *reference)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepend a new object <em>child</em> to the box <code>o</code> relative to element <em>reference</em>.  <a href="#ga5759fa41a7c3541f43ae98f58bd1ec85"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga9b1fc7ee0200ce3917da70b00fb8637c">evas_object_box_insert_after</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child, const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *reference)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Append a new object <em>child</em> to the box <code>o</code> relative to element <em>reference</em>.  <a href="#ga9b1fc7ee0200ce3917da70b00fb8637c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga01b2f0564057297d6853844b77fba3a6">evas_object_box_insert_at</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child, unsigned int pos)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Insert a new object <em>child</em> to the box <em>o</em> at position <em>pos</em>.  <a href="#ga01b2f0564057297d6853844b77fba3a6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga90c644be44c06e2e4f966cb14b7a93a5">evas_object_box_remove</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove an object <em>child</em> from the box <em>o</em>.  <a href="#ga90c644be44c06e2e4f966cb14b7a93a5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">evas_object_box_remove_at</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, unsigned int pos)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove an object from the box <em>o</em> which occupies position <em>pos</em>.  <a href="#ga7d6a7321327f1398790d1f12cccd38f3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">evas_object_box_remove_all</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Eina_Bool clear)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove all child objects.  <a href="#ga6c114f237f66c0208f0669783f671318"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Iterator *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga2a3ceff4f02512fa7f85618252eacbdc">evas_object_box_iterator_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an iterator to walk the list of children for the box.  <a href="#ga2a3ceff4f02512fa7f85618252eacbdc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Accessor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad5c5837393bd163f6cde72bde073333b">evas_object_box_accessor_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an accessor to get random access to the list of children for the box.  <a href="#gad5c5837393bd163f6cde72bde073333b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga542294a74645829cd5531a8ddec32d9c">evas_object_box_children_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of children for the box.  <a href="#ga542294a74645829cd5531a8ddec32d9c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gad6b908faeca8fb7e16c002509a86ffab">evas_object_box_option_property_name_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, int property)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the name of the property of the child elements of the box <em>o</em> whose id is <em>property</em>.  <a href="#gad6b908faeca8fb7e16c002509a86ffab"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga1b799e5048ba268f47212e29cd8cc3fb">evas_object_box_option_property_id_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the id of the property of the child elements of the box <em>o</em> whose name is <em>name</em>.  <a href="#ga1b799e5048ba268f47212e29cd8cc3fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#gae2892100753fd70af716f415637f6d86">evas_object_box_option_property_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *opt, int property,...)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>.  <a href="#gae2892100753fd70af716f415637f6d86"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga56c828490bb5778be68908147c32fa6d">evas_object_box_option_property_vset</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *opt, int property, va_list args)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>.  <a href="#ga56c828490bb5778be68908147c32fa6d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga688c2cd7e2901fd491ff3b4a78dace89">evas_object_box_option_property_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *opt, int property,...)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>.  <a href="#ga688c2cd7e2901fd491ff3b4a78dace89"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html#ga987c048602d55d921c250d1cc57b5873">evas_object_box_option_property_vget</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *opt, int property, va_list args)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>.  <a href="#ga987c048602d55d921c250d1cc57b5873"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Convenience smart object that packs children as a sequence using a layout function specified by user. </p>
+<p>There are a couple of helper layout functions, all of them using children size hints to define their size and alignment inside their cell space.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Size__Hints.html">Size Hints</a> </dd></dl>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga118b1b5bc278185207e7651911637ac8"></a><!-- doxytag: member="Evas.h::EVAS_OBJECT_BOX_API_INIT" ref="ga118b1b5bc278185207e7651911637ac8" args="(smart_class_init)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_OBJECT_BOX_API_INIT</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">smart_class_init</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;{smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer for whole Evas_Object_Box_Api structure. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>smart_class_init</em>&nbsp;</td><td>initializer to use for the "base" field (Evas_Smart_Class).</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562" title="Initializer to zero a whole Evas_Smart_Class structure and set version.">EVAS_SMART_CLASS_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa" title="Initializer to zero a whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1" title="Initializer to zero a whole Evas_Object_Box_Api structure and set version.">EVAS_OBJECT_BOX_API_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7" title="Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.">EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad35b8c6b395f976397abbb6f964878e7"></a><!-- doxytag: member="Evas.h::EVAS_OBJECT_BOX_API_INIT_NAME_VERSION" ref="gad35b8c6b395f976397abbb6f964878e7" args="(name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">name</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Object_Box_Api structure and set name and version. </p>
+<p>Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION and name to the specific value.</p>
+<p>It will keep a reference to name field as a "const char *", that is, name must be available while the structure is used (hint: static or global!) and will not be modified.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa" title="Initializer to zero a whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1" title="Initializer to zero a whole Evas_Object_Box_Api structure and set version.">EVAS_OBJECT_BOX_API_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8" title="Initializer for whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">evas_object_box_smart_class_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gacfe469ef2fc811ab4af8c77105bf4baa"></a><!-- doxytag: member="Evas.h::EVAS_OBJECT_BOX_API_INIT_NULL" ref="gacfe469ef2fc811ab4af8c77105bf4baa" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_OBJECT_BOX_API_INIT_NULL&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Object_Box_Api structure. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Box.html#gabab7b773ecb31ecbf661646d5db1bea1" title="Initializer to zero a whole Evas_Object_Box_Api structure and set version.">EVAS_OBJECT_BOX_API_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7" title="Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.">EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8" title="Initializer for whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabab7b773ecb31ecbf661646d5db1bea1"></a><!-- doxytag: member="Evas.h::EVAS_OBJECT_BOX_API_INIT_VERSION" ref="gabab7b773ecb31ecbf661646d5db1bea1" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_OBJECT_BOX_API_INIT_VERSION&nbsp;&nbsp;&nbsp;EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Object_Box_Api structure and set version. </p>
+<p>Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Box.html#gacfe469ef2fc811ab4af8c77105bf4baa" title="Initializer to zero a whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#gad35b8c6b395f976397abbb6f964878e7" title="Initializer to zero a whole Evas_Object_Box_Api structure and set name and version.">EVAS_OBJECT_BOX_API_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Box.html#ga118b1b5bc278185207e7651911637ac8" title="Initializer for whole Evas_Object_Box_Api structure.">EVAS_OBJECT_BOX_API_INIT</a> </dd></dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gad5c5837393bd163f6cde72bde073333b"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_accessor_new" ref="gad5c5837393bd163f6cde72bde073333b" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Accessor* evas_object_box_accessor_new </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get an accessor to get random access to the list of children for the box. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Do not remove or delete objects while walking the list. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga84e87534e6a45a725d59c0366f4e6544"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_add" ref="ga84e87534e6a45a725d59c0366f4e6544" args="(Evas *evas)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_box_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>evas</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create a new box. </p>
+<p>Its layout function must be set via <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a> (defaults to <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf" title="Layout function which sets the box o to a (basic) horizontal box.">evas_object_box_layout_horizontal()</a>). The other properties of the box must be set/retrieved via evas_object_box_{h,v}_{align,padding}_{get,set)(). </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#gaa61f845ee24ddb252a6fcb76d5f3c148">evas_object_smart_add()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">evas_object_box_add_to()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf332313478211a06a09038755cf139bf"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_add_to" ref="gaf332313478211a06a09038755cf139bf" args="(Evas_Object *parent)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_box_add_to </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>parent</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create a box that is child of a given element <em>parent</em>. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544" title="Create a new box.">evas_object_box_add()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">evas_object_box_add()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">evas_object_evas_get()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa06e910577a949fc55b3a661d17f2fb3"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_append" ref="gaa06e910577a949fc55b3a661d17f2fb3" args="(Evas_Object *o, Evas_Object *child)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a>* evas_object_box_append </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Append a new object <em>child</em> to the box <em>o</em>. </p>
+<p>On error, <code>NULL</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga542294a74645829cd5531a8ddec32d9c"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_children_get" ref="ga542294a74645829cd5531a8ddec32d9c" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_object_box_children_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the list of children for the box. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>This is a duplicate of the list kept by the box internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the box when walking this list, but these removals won't be reflected on it. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9b1fc7ee0200ce3917da70b00fb8637c"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_insert_after" ref="ga9b1fc7ee0200ce3917da70b00fb8637c" args="(Evas_Object *o, Evas_Object *child, const Evas_Object *reference)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a>* evas_object_box_insert_after </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>reference</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Append a new object <em>child</em> to the box <code>o</code> relative to element <em>reference</em>. </p>
+<p>If <em>reference</em> is not contained in the box or any other error occurs, <code>NULL</code> is returend. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga01b2f0564057297d6853844b77fba3a6"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_insert_at" ref="ga01b2f0564057297d6853844b77fba3a6" args="(Evas_Object *o, Evas_Object *child, unsigned int pos)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a>* evas_object_box_insert_at </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Insert a new object <em>child</em> to the box <em>o</em> at position <em>pos</em>. </p>
+<p>On error, <code>NULL</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5759fa41a7c3541f43ae98f58bd1ec85"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_insert_before" ref="ga5759fa41a7c3541f43ae98f58bd1ec85" args="(Evas_Object *o, Evas_Object *child, const Evas_Object *reference)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a>* evas_object_box_insert_before </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>reference</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Prepend a new object <em>child</em> to the box <code>o</code> relative to element <em>reference</em>. </p>
+<p>If <em>reference</em> is not contained in the box or any other error occurs, <code>NULL</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2a3ceff4f02512fa7f85618252eacbdc"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_iterator_new" ref="ga2a3ceff4f02512fa7f85618252eacbdc" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Iterator* evas_object_box_iterator_new </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get an iterator to walk the list of children for the box. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Do not remove or delete objects while walking the list. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga99ee061972f53fb7d9213d586c29cc8d"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_flow_horizontal" ref="ga99ee061972f53fb7d9213d586c29cc8d" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_flow_horizontal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *flow* horizontal box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>In a flow horizontal box, the box's child elements are placed in rows (think of text as an analogy). A row has as much elements as can fit into the box's width. The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.</p>
+<dl class="user"><dt><b>box's properties:</b></dt><dd><code>padding_h</code> tells the box to draw empty spaces of that size, in pixels, between the child objects's cells. <code>align_h</code> dictates the horizontal alignment of the rows (0 to left align them, 1 to right align). A value of -1.0 to <code>align_h</code> lets the rows *justified* horizontally. <code>align_v</code> controls the vertical alignment of the entire set of rows (0 to top, 1 to bottom). A value of -1.0 to <code>align_v</code> makes the box to *justify* the rows vertically. The padding between them, in this case, is corrected so that the first row touches the top border and the last one touches the bottom border (even if they must overlap). <code>padding_v</code> has no influence on the layout.</dd></dl>
+<dl class="user"><dt><b>Child element's properties:</b></dt><dd><code>padding_l</code> and <code>padding_r</code> sum up to the required width of the child element. The <code>align_x</code> property has no influence on the layout. The child's <code>padding_t</code> and <code>padding_b</code> sum up to the required height of the child element and is the only means (besides row justifying) of setting space between rows. Note, however, that <code>align_y</code> dictates positioning relative to the *largest height* required by a child object in the actual row. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa6e0bf47f84d7bb1b2439f4b6123e7d7"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_flow_vertical" ref="gaa6e0bf47f84d7bb1b2439f4b6123e7d7" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_flow_vertical </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *flow* vertical box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>This function behaves analogously to <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d" title="Layout function which sets the box o to a *flow* horizontal box.">evas_object_box_layout_flow_horizontal()</a>. The description of its behaviour can be derived from that function's documentation. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac4478016783bad6d2170571a11a23e21"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_homogeneous_horizontal" ref="gac4478016783bad6d2170571a11a23e21" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_homogeneous_horizontal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *homogeneous* horizontal box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>In a homogeneous horizontal box, its width is divided equally between the contained objects. The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.</p>
+<dl class="user"><dt><b>box's properties:</b></dt><dd><code>align_h</code> has no influence on the box for this layout. <code>padding_h</code> tells the box to draw empty spaces of that size, in pixels, between the (still equal) child objects's cells. The <code>align_v</code> and <code>padding_v</code> properties of the box don't contribute to its behaviour when this layout is chosen.</dd></dl>
+<dl class="user"><dt><b>Child element's properties:</b></dt><dd><code>padding_l</code> and <code>padding_r</code> sum up to the required width of the child element. The <code>align_x</code> property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to <code>align_x</code> makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). The child's <code>padding_t</code>, <code>padding_b</code> and <code>align_y</code> properties apply for padding/positioning relative to the overall height of the box. A value of -1.0 to <code>align_y</code> makes the box try to resize this child element to the exact height of its parent (respecting the max hint on the child's height). </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab9e441a27ebe6253ef1b9d6d25ee9bc4"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_homogeneous_max_size_horizontal" ref="gab9e441a27ebe6253ef1b9d6d25ee9bc4" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_homogeneous_max_size_horizontal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *max size-homogeneous* horizontal box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>In a max size-homogeneous horizontal box, the equal sized cells reserved for the child objects have the width of the space required by the largest child (in width). The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.</p>
+<dl class="user"><dt><b>box's properties:</b></dt><dd><code>padding_h</code> tells the box to draw empty spaces of that size, in pixels, between the child objects's cells. <code>align_h</code> controls the horizontal alignment of the child objects relative to the containing box. When set to 0, children are aligned to the left. A value of 1 lets them aligned to the right border. Values in between align them proportionally. A negative value of <code>align_h</code> makes the box to *justify* its children cells. The padding between them, in this case, is corrected so that the leftmost one touches the left border and the rightmost one touches the right border (even if they must overlap). The <code>align_v</code> and <code>padding_v</code> properties of the box don't contribute to its behaviour when this layout is chosen.</dd></dl>
+<dl class="user"><dt><b>Child element's properties:</b></dt><dd><code>padding_l</code> and <code>padding_r</code> sum up to the required width of the child element. The <code>align_x</code> property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to <code>align_x</code> makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). The child's <code>padding_t</code>, <code>padding_b</code> and <code>align_y</code> properties apply for padding/positioning relative to the overall height of the box. A value of -1.0 to <code>align_y</code> makes the box try to resize this child element to the exact height of its parent (respecting the max hint on the child's height). </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabccbf4cf59018eac96c9281576b61abf"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_homogeneous_max_size_vertical" ref="gabccbf4cf59018eac96c9281576b61abf" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_homogeneous_max_size_vertical </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *max size-homogeneous* vertical box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>This function behaves analogously to <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4" title="Layout function which sets the box o to a *max size-homogeneous* horizontal box.">evas_object_box_layout_homogeneous_max_size_horizontal()</a>. The description of its behaviour can be derived from that function's documentation. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa860afd56866955550ae650464d2dc9a"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_homogeneous_vertical" ref="gaa860afd56866955550ae650464d2dc9a" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_homogeneous_vertical </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a *homogeneous* vertical box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>This function behaves analogously to <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21" title="Layout function which sets the box o to a *homogeneous* horizontal box.">evas_object_box_layout_homogeneous_horizontal()</a>. The description of its behaviour can be derived from that function's documentation. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaabb841838ce9c05f6b99350d15b76aaf"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_horizontal" ref="gaabb841838ce9c05f6b99350d15b76aaf" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_horizontal </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a (basic) horizontal box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>The object's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.</p>
+<dl class="user"><dt><b>box's properties:</b></dt><dd><code>align_h</code> controls the horizontal alignment of the child objects relative to the containing box. When set to 0, children are aligned to the left. A value of 1 lets them aligned to the right border. Values in between align them proportionally. Note that if the size required by the children, which is given by their widths and the <code>padding_h</code> property of the box, is bigger than the container width, the children will be displayed out of its bounds. A negative value of <code>align_h</code> makes the box to *justify* its children. The padding between them, in this case, is corrected so that the leftmost one touches the left border and the rightmost one touches the right border (even if they must overlap). The <code>align_v</code> and <code>padding_v</code> properties of the box don't contribute to its behaviour when this layout is chosen.</dd></dl>
+<dl class="user"><dt><b>Child element's properties:</b></dt><dd><code>align_x</code> does not influence the box's behavior. <code>padding_l</code> and <code>padding_r</code> sum up to the container's horizontal padding between elements. The child's <code>padding_t</code>, <code>padding_b</code> and <code>align_y</code> properties apply for padding/positioning relative to the overall height of the box. Finally, there is the <code>weight_x</code> property, which, if set to a non-zero value, tells the container that the child width is not pre-defined. If the container can't accommodate all its children, it sets the widths of the children *with weights* to sizes as small as they can all fit into it. If the size required by the children is less than the available, the box increases its children's (which have weights) widths as to fit the remaining space. The <code>weight_x</code> property, besides telling the element is resizable, gives a *weight* for the resizing process. The parent box will try to distribute (or take off) widths accordingly to the *normalized* list of weigths: most weighted children remain/get larger in this process than the the least ones. <code>weight_y</code> does not influence the layout.</dd></dl>
+<p>If one desires that, besides having weights, child elements must be resized bounded to a minimum or maximum size, their size hint properties must be set (by the evas_object_size_hint_{min,max}_set() functions. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">evas_object_size_hint_weight_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2116d23c11ab08d7c50cbcb588de5570"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_set" ref="ga2116d23c11ab08d7c50cbcb588de5570" args="(Evas_Object *o, Evas_Object_Box_Layout cb, const void *data, void(*free_data)(void *data))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Box_Layout&nbsp;</td>
+          <td class="paramname"> <em>cb</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *data)&nbsp;</td>
+          <td class="paramname"> <em>free_data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set a 'calculate' callback (<em>cb</em>) to the <em>o</em> box's smart class, which here defines its genre (horizontal, vertical, homogeneous, etc. </p>
+<p>). </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae40153d3702dcb79f2587364cde2fb7b"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_stack" ref="gae40153d3702dcb79f2587364cde2fb7b" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_stack </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to set all children to the size of the object. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>In a stack box, all children will be given the same size and they will be stacked on above the other, so the first object will be the bottom most.</p>
+<dl class="user"><dt><b>box's properties:</b></dt><dd>No box option is used.</dd></dl>
+<dl class="user"><dt><b>Child element's properties:</b></dt><dd><code>padding_l</code> and <code>padding_r</code> sum up to the required width of the child element. The <code>align_x</code> property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to <code>align_x</code> makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). Same applies to vertical axis. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga1128fb1e04b1de059e9ccade58c83663">evas_object_stack_above()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1e102aa54789b74f54944c17d0a880db"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_layout_vertical" ref="ga1e102aa54789b74f54944c17d0a880db" args="(Evas_Object *o, Evas_Object_Box_Data *priv, void *data __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_layout_vertical </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Data.html">Evas_Object_Box_Data</a> *&nbsp;</td>
+          <td class="paramname"> <em>priv</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *data&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Layout function which sets the box <em>o</em> to a (basic) vertical box. </p>
+<p><em>priv</em> must be the smart data of the box.</p>
+<p>This function behaves analogously to <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf" title="Layout function which sets the box o to a (basic) horizontal box.">evas_object_box_layout_horizontal()</a>. The description of its behaviour can be derived from that function's documentation. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set()</a>, <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get()</a>, and <a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">evas_object_size_hint_weight_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga688c2cd7e2901fd491ff3b4a78dace89"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_get" ref="ga688c2cd7e2901fd491ff3b4a78dace89" args="(Evas_Object *o, Evas_Object_Box_Option *opt, int property,...)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_option_property_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td>
+          <td class="paramname"> <em>opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>. </p>
+<p>The last arguments must be addresses of variables with the same type of that property. On error, <code>0</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Box.html#ga987c048602d55d921c250d1cc57b5873">evas_object_box_option_property_vget()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1b799e5048ba268f47212e29cd8cc3fb"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_id_get" ref="ga1b799e5048ba268f47212e29cd8cc3fb" args="(Evas_Object *o, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_object_box_option_property_id_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the id of the property of the child elements of the box <em>o</em> whose name is <em>name</em>. </p>
+<p>On error, <code>-1</code> is returned. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad6b908faeca8fb7e16c002509a86ffab"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_name_get" ref="gad6b908faeca8fb7e16c002509a86ffab" args="(Evas_Object *o, int property)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_box_option_property_name_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>property</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the name of the property of the child elements of the box <em>o</em> whose id is <em>property</em>. </p>
+<p>On error, <code>NULL</code> is returned. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae2892100753fd70af716f415637f6d86"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_set" ref="gae2892100753fd70af716f415637f6d86" args="(Evas_Object *o, Evas_Object_Box_Option *opt, int property,...)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_option_property_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td>
+          <td class="paramname"> <em>opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>. </p>
+<p>The property's values must be the last arguments and their type *must* match that of the property itself. On error, <code>0</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Box.html#ga56c828490bb5778be68908147c32fa6d">evas_object_box_option_property_vset()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga987c048602d55d921c250d1cc57b5873"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_vget" ref="ga987c048602d55d921c250d1cc57b5873" args="(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_option_property_vget </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td>
+          <td class="paramname"> <em>opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">va_list&nbsp;</td>
+          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>. </p>
+<p>The args which the va_list <em>args</em> is initialized with must be addresses of variables with the same type of that property. On error, <code>0</code> is returned. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga688c2cd7e2901fd491ff3b4a78dace89">evas_object_box_option_property_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga56c828490bb5778be68908147c32fa6d"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_option_property_vset" ref="ga56c828490bb5778be68908147c32fa6d" args="(Evas_Object *o, Evas_Object_Box_Option *opt, int property, va_list args)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_option_property_vset </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a> *&nbsp;</td>
+          <td class="paramname"> <em>opt</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>property</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">va_list&nbsp;</td>
+          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the property (with id <em>property</em>) of the child element of the box <em>o</em> whose property struct is <em>opt</em>. </p>
+<p>The property's values must be the args which the va_list <em>args</em> is initialized with and their type *must* match that of the property itself. On error, <code>0</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gae2892100753fd70af716f415637f6d86">evas_object_box_option_property_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0fec96faf6bbc106b8af28ff479ddfc3"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_prepend" ref="ga0fec96faf6bbc106b8af28ff479ddfc3" args="(Evas_Object *o, Evas_Object *child)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Box.html#gabbeb05bf47aaf7681e9d83a1b0055d20">Evas_Object_Box_Option</a>* evas_object_box_prepend </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Prepend a new object <em>child</em> to the box <em>o</em>. </p>
+<p>On error, <code>NULL</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga90c644be44c06e2e4f966cb14b7a93a5"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_remove" ref="ga90c644be44c06e2e4f966cb14b7a93a5" args="(Evas_Object *o, Evas_Object *child)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_remove </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove an object <em>child</em> from the box <em>o</em>. </p>
+<p>On error, <code>0</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6c114f237f66c0208f0669783f671318"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_remove_all" ref="ga6c114f237f66c0208f0669783f671318" args="(Evas_Object *o, Eina_Bool clear)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_remove_all </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>clear</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove all child objects. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>0 on errors </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>, <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7d6a7321327f1398790d1f12cccd38f3"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_remove_at" ref="ga7d6a7321327f1398790d1f12cccd38f3" args="(Evas_Object *o, unsigned int pos)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_box_remove_at </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>pos</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove an object from the box <em>o</em> which occupies position <em>pos</em>. </p>
+<p>On error, <code>0</code> is returned. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga19c407e45de527d9400823fb1c85d0fe"></a><!-- doxytag: member="evas_object_box.c::evas_object_box_smart_set" ref="ga19c407e45de527d9400823fb1c85d0fe" args="(Evas_Object_Box_Api *api)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_box_smart_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Object__Box__Api.html">Evas_Object_Box_Api</a> *&nbsp;</td>
+          <td class="paramname"> <em>api</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the default box <em>api</em> struct (Evas_Object_Box_Api) with the default values. </p>
+<p>May be used to extend that API. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff">evas_object_box_smart_class_get()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Group.html b/doc/html/group__Evas__Object__Group.html
new file mode 100644 (file)
index 0000000..f72857c
--- /dev/null
@@ -0,0 +1,144 @@
+<html>
+<head>
+    <title>Evas: Generic Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a> &#124;
+<a href="#typedef-members">Typedefs</a>  </div>
+  <div class="headertitle">
+<h1>Generic Object Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that manipulate generic evas objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html">Basic Object Manipulation</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Methods that are often used, like those that change the color, clippers and geometry of the object. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html">Object Events</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Map.html">UV Mapping (Rotation, Perspecitve, 3D...)</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Evas allows different transformations to be applied to all kinds of objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html">Size Hints</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Objects may carry hints so another object that acts as a manager (see <a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>) may know how to properly position and resize the object. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html">Extra Object Manipulation</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html">Finding Objects</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that allows finding objects by their position, name or other properties. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html">Object Method Interceptors</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Evas provides a way to intercept method calls. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9e19e6dd1f517a0ba437c0114d3e7c97"></a><!-- doxytag: member="Evas_Object_Group::Evas_Object" ref="ga9e19e6dd1f517a0ba437c0114d3e7c97" args="" -->
+typedef struct _Evas_Object&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An Evas Object handle. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that manipulate generic evas objects. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Group__Basic.html b/doc/html/group__Evas__Object__Group__Basic.html
new file mode 100644 (file)
index 0000000..cf04faa
--- /dev/null
@@ -0,0 +1,1256 @@
+<html>
+<head>
+    <title>Evas: Basic Object Manipulation</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Basic Object Manipulation<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Methods that are often used, like those that change the color, clippers and geometry of the object.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *clip)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clip one object to another.  <a href="#ga19eabaaeec1ea375366e201f533f3d56"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a">evas_object_clip_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the object clipping this one (if any).  <a href="#gadd9e5c165ff2129dd902f43c669a0c1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable clipping for an object.  <a href="#gaa7fcd13f310444d7c1541b4fd31fa7f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887">evas_object_clipees_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a list of objects currently clipped by a specific object.  <a href="#gaa73ed804aa051d0aa5faa1743e113887"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">evas_object_focus_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool focus)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets focus to the given object.  <a href="#ga5f1530901a9e94e3f35b987101009cf5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654">evas_object_focus_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Test if the object has focus.  <a href="#ga7dc71b30e4caaaf60076a5990173d654"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">evas_object_layer_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, short l)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the layer of the evas that the given object will be part of.  <a href="#gab48bd3ad20b6663aa5756823edb02038"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga13cb52d23911b6c701dbb5f1ee3f65f4">evas_object_layer_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the layer of the evas that the given object is part of.  <a href="#ga13cb52d23911b6c701dbb5f1ee3f65f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8">evas_object_name_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the name of the given evas object to the given name.  <a href="#ga4b6eee1edde61389b5ca9df911de60d8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gac34b593d79bfd9284787ddbb43486edd">evas_object_name_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the name of the given evas object.  <a href="#gac34b593d79bfd9284787ddbb43486edd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723">evas_object_ref</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Increments object reference count to defer deletion.  <a href="#gaa22895e88e2cb157b9c38a6d3ce10723"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089">evas_object_unref</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Decrements object reference count to defer deletion.  <a href="#ga956f8793fd2897945d90bda2d4d08089"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Deletes the given evas object and frees its memory.  <a href="#ga6d840e8d5670db3ae32e00c4ecbb6abd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves the given evas object to the given location.  <a href="#ga78fa8858c51707f1a557b720014b71cc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149">evas_object_resize</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Changes the size of the given evas object.  <a href="#ga34df8b33704deafd2a25f40e3c09d149"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the position and rectangular size of the given evas object.  <a href="#ga5fa60c701af13dac5dd31071167309d2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f">evas_object_show</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the given evas object visible.  <a href="#ga769ad9a3e3daecb7a828196a2c86332f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">evas_object_hide</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Makes the given evas object invisible.  <a href="#ga495807707f06f9acd4de8590a8c92148"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga9cf743b5d87b622c84ba591494445b49">evas_object_visible_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether or not the given evas object is visible.  <a href="#ga9cf743b5d87b622c84ba591494445b49"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f">evas_object_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the general colour of the given evas object to the given colour.  <a href="#ga6b2dfe01eb955cebf734f4e10ac9ce7f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga3856f8b88d158ffa9783b44340ef343d">evas_object_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the general colour of the given evas object.  <a href="#ga3856f8b88d158ffa9783b44340ef343d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">evas_object_evas_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the evas that the given evas object is on.  <a href="#ga678e810edc3e2ee8b1080186bfa12247"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff">evas_object_type_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the name of the type of the given evas object.  <a href="#gaebc12590e689bfcbfede10eca37f80ff"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">evas_object_raise</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Raise <code>obj</code> to the top of its layer.  <a href="#ga7a99128189105d042cf6b4fefca9b60e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">evas_object_lower</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Lower <code>obj</code> to the bottom of its layer.  <a href="#gae5ede5671799a140e3d3f7bb7ea7f14f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga1128fb1e04b1de059e9ccade58c83663">evas_object_stack_above</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *above)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stack <code>obj</code> immediately above <code>above</code>.  <a href="#ga1128fb1e04b1de059e9ccade58c83663"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#ga8cc69c6e6d78d686d8c4606ac03c2864">evas_object_stack_below</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *below)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Stack <code>obj</code> immediately below <code>below</code>.  <a href="#ga8cc69c6e6d78d686d8c4606ac03c2864"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gab78867a46ecc2e35ac90bf40bae1689f">evas_object_above_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the evas object above <code>obj</code>.  <a href="#gab78867a46ecc2e35ac90bf40bae1689f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Basic.html#gaff15b0dacac065bc84e6124c0c4920c5">evas_object_below_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the evas object below <code>obj</code>.  <a href="#gaff15b0dacac065bc84e6124c0c4920c5"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Methods that are often used, like those that change the color, clippers and geometry of the object. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gab78867a46ecc2e35ac90bf40bae1689f"></a><!-- doxytag: member="evas_stack.c::evas_object_above_get" ref="gab78867a46ecc2e35ac90bf40bae1689f" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_above_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the evas object above <code>obj</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>an Evas_Object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the Evas_Object directly above </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaff15b0dacac065bc84e6124c0c4920c5"></a><!-- doxytag: member="evas_stack.c::evas_object_below_get" ref="gaff15b0dacac065bc84e6124c0c4920c5" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_below_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the evas object below <code>obj</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>an Evas_Object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the Evas_Object directly below </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gadd9e5c165ff2129dd902f43c669a0c1a"></a><!-- doxytag: member="evas_clip.c::evas_object_clip_get" ref="gadd9e5c165ff2129dd902f43c669a0c1a" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_clip_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the object clipping this one (if any). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to get the clipper from</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the the object clipping <code>obj</code>. If <code>obj</code> not being clipped, NULL is returned. The object <code>obj</code> must be a valid object.</p>
+<p>See also <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8" title="Disable clipping for an object.">evas_object_clip_unset()</a> and <a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887" title="Return a list of objects currently clipped by a specific object.">evas_object_clipees_get()</a>.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+ <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *clipper;
+
+ clipper = <a class="code" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a" title="Get the object clipping this one (if any).">evas_object_clip_get</a>(obj);
+ <span class="keywordflow">if</span> (clipper) <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(clipper);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga19eabaaeec1ea375366e201f533f3d56"></a><!-- doxytag: member="evas_clip.c::evas_object_clip_set" ref="ga19eabaaeec1ea375366e201f533f3d56" args="(Evas_Object *obj, Evas_Object *clip)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_clip_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>clip</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Clip one object to another. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to be clipped </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>clip</em>&nbsp;</td><td>The object to clip <code>obj</code> by</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function will clip the object <code>obj</code> to the area occupied by the object <code>clipper</code>. This means the object <code>obj</code> will only be visible within the area occupied by the clipping object (<code>clip</code>). The color of the object being clipped will be multiplied by the color of the clipping object, so the resulting color for the clipped object is RESULT = (OBJ * CLIP) / (255 * 255) per color element (red, green, blue and alpha). Clipping is recursive, so clip objects may be clipped by other objects, and their color will in tern be multiplied. You may NOT set up circular clipping lists (i.e. object 1 clips object 2 which clips object 1). The behavior of Evas is undefined in this case. Objects which do not clip others are visible as normal, those that clip 1 or more objects become invisible themselves, only affecting what they clip. If an object ceases to have other objects being clipped by it, it will become visible again. The visibility of an object affects the objects that are clipped by it, so if the object clipping others is not shown, the objects clipped will not be shown either. If the object was being clipped by another object when this function is called, it is implicitly removed from the clipper it is being clipped to, and now is made to clip its new clipper.</p>
+<p>At the moment the only objects that can validly be used to clip other objects are rectangle objects. All other object types are invalid and the result of using them is undefined.</p>
+<p>The clip object <code>clip</code> must be a valid object, but may also be NULL in which case the effect of this function is the same as calling <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8" title="Disable clipping for an object.">evas_object_clip_unset()</a> on the <code>obj</code> object.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+ <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *clipper;
+
+ clipper = <a class="code" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa" title="Adds a rectangle to the given evas.">evas_object_rectangle_add</a>(evas);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(clipper, 255, 255, 255, 255);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(clipper, 10, 10);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(clipper, 20, 50);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set</a>(obj, clipper);
+ <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(clipper);
+</pre></div> 
+<p>References <a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">evas_damage_rectangle_add()</a>, <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#gaebc12590e689bfcbfede10eca37f80ff">evas_object_type_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa7fcd13f310444d7c1541b4fd31fa7f8"></a><!-- doxytag: member="evas_clip.c::evas_object_clip_unset" ref="gaa7fcd13f310444d7c1541b4fd31fa7f8" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_clip_unset </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Disable clipping for an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to cease clipping on</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function disables clipping for the object <code>obj</code>, if it was already clipped. If it wasn't, this has no effect. The object <code>obj</code> must be a valid object.</p>
+<p>See also <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887" title="Return a list of objects currently clipped by a specific object.">evas_object_clipees_get()</a> and <a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a" title="Get the object clipping this one (if any).">evas_object_clip_get()</a>.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+ <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *clipper;
+
+ clipper = <a class="code" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a" title="Get the object clipping this one (if any).">evas_object_clip_get</a>(obj);
+ <span class="keywordflow">if</span> (clipper)
+   {
+     <a class="code" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8" title="Disable clipping for an object.">evas_object_clip_unset</a>(obj);
+     <a class="code" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148" title="Makes the given evas object invisible.">evas_object_hide</a>(obj);
+   }
+</pre></div> 
+<p>References <a class="el" href="group__Evas__Canvas.html#ga91b68cf4090201f16aede8e4c124986d">evas_damage_rectangle_add()</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa73ed804aa051d0aa5faa1743e113887"></a><!-- doxytag: member="evas_clip.c::evas_object_clipees_get" ref="gaa73ed804aa051d0aa5faa1743e113887" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const Eina_List* evas_object_clipees_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return a list of objects currently clipped by a specific object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to get a list of clippees from</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This returns the inernal list handle that contains all objects clipped by the object <code>obj</code>. If none are clipped, it returns NULL. This list is only valid until the clip list is changed and should be fetched again with another call to <a class="el" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887" title="Return a list of objects currently clipped by a specific object.">evas_object_clipees_get()</a> if any objects being clipped by this object are unclipped, clipped by a new object, are deleted or the clipper is deleted. These operations will invalidate the list returned so it should not be used anymore after that point. Any use of the list after this may have undefined results, not limited just to strange behavior but possible segfaults and other strange memory errors. The object <code>obj</code> must be a valid object.</p>
+<p>See also <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8" title="Disable clipping for an object.">evas_object_clip_unset()</a> and <a class="el" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a" title="Get the object clipping this one (if any).">evas_object_clip_get()</a>.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+ <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *clipper;
+
+ clipper = <a class="code" href="group__Evas__Object__Group__Basic.html#gadd9e5c165ff2129dd902f43c669a0c1a" title="Get the object clipping this one (if any).">evas_object_clip_get</a>(obj);
+ <span class="keywordflow">if</span> (clipper)
+   {
+     Eina_List *clippees, *l;
+     <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj_tmp;
+
+     clippees = <a class="code" href="group__Evas__Object__Group__Basic.html#gaa73ed804aa051d0aa5faa1743e113887" title="Return a list of objects currently clipped by a specific object.">evas_object_clipees_get</a>(clipper);
+     printf(<span class="stringliteral">&quot;Clipper clips %i objects\n&quot;</span>, eina_list_count(clippees));
+     EINA_LIST_FOREACH(clippees, l, obj_tmp)
+         <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(obj_tmp);
+   }
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga3856f8b88d158ffa9783b44340ef343d"></a><!-- doxytag: member="evas_object_main.c::evas_object_color_get" ref="ga3856f8b88d158ffa9783b44340ef343d" args="(const Evas_Object *obj, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the general colour of the given evas object. </p>
+<p>Note that if any of <code>r</code>, <code>g</code>, <code>b</code> or <code>a</code> are <code>NULL</code>, then the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>Pointer to an integer in which to store the red component of the colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>Pointer to an integer in which to store the green component of the colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Pointer to an integer in which to store the blue component of the colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>Pointer to an integer in which to store the alpha component of the colour. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6b2dfe01eb955cebf734f4e10ac9ce7f"></a><!-- doxytag: member="evas_object_main.c::evas_object_color_set" ref="ga6b2dfe01eb955cebf734f4e10ac9ce7f" args="(Evas_Object *obj, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the general colour of the given evas object to the given colour. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The red component of the given colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The green component of the given colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The blue component of the given colour. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>The alpha component of the given colour. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e">EVAS_RENDER_BLEND</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6d840e8d5670db3ae32e00c4ecbb6abd"></a><!-- doxytag: member="evas_object_main.c::evas_object_del" ref="ga6d840e8d5670db3ae32e00c4ecbb6abd" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Deletes the given evas object and frees its memory. </p>
+<p>The object's 'free' callback is called when this function is called. If the object currently has the focus, its 'focus out' callback is also called.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277">EVAS_CALLBACK_DEL</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3">EVAS_CALLBACK_FOCUS_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24">EVAS_CALLBACK_FREE</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#gaa7fcd13f310444d7c1541b4fd31fa7f8">evas_object_clip_unset()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">evas_object_hide()</a>, <a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">evas_object_image_source_unset()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga4b6eee1edde61389b5ca9df911de60d8">evas_object_name_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">evas_object_box_remove_all()</a>, <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">evas_object_table_clear()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga956f8793fd2897945d90bda2d4d08089">evas_object_unref()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga678e810edc3e2ee8b1080186bfa12247"></a><!-- doxytag: member="evas_object_main.c::evas_object_evas_get" ref="ga678e810edc3e2ee8b1080186bfa12247" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a>* evas_object_evas_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the evas that the given evas object is on. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The evas that the object is on. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">evas_object_box_add_to()</a>, and <a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">evas_object_table_add_to()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7dc71b30e4caaaf60076a5990173d654"></a><!-- doxytag: member="evas_focus.c::evas_object_focus_get" ref="ga7dc71b30e4caaaf60076a5990173d654" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_focus_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Test if the object has focus. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to be tested.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>If the passed object is the currently focused object 1 is returned, 0 otherwise.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5" title="Sets focus to the given object.">evas_object_focus_set</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5" title="Retrieve the object that currently has focus.">evas_focus_get</a> </dd>
+<dd>
+evas_object_key_grab </dd>
+<dd>
+evas_object_key_ungrab</dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 if the object has the focus, 0 otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5f1530901a9e94e3f35b987101009cf5"></a><!-- doxytag: member="evas_focus.c::evas_object_focus_set" ref="ga5f1530901a9e94e3f35b987101009cf5" args="(Evas_Object *obj, Eina_Bool focus)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_focus_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>focus</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets focus to the given object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to be focused or unfocused. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>focus</em>&nbsp;</td><td>set or remove focus to the object.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Changing focus only affects where key events go. There can be only one object focused at any time. </p>
+<p>If the parameter (<code>focus</code>) is set, the passed object will be set as the currently focused object. It will receive all keyboard events that are not exclusive key grabs on other objects.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654" title="Test if the object has focus.">evas_object_focus_get</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5" title="Retrieve the object that currently has focus.">evas_focus_get</a> </dd>
+<dd>
+evas_object_key_grab </dd>
+<dd>
+evas_object_key_ungrab </dd></dl>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5">EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070">EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97">EVAS_CALLBACK_FOCUS_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3">EVAS_CALLBACK_FOCUS_OUT</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">evas_object_focus_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5">evas_object_focus_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5fa60c701af13dac5dd31071167309d2"></a><!-- doxytag: member="evas_object_main.c::evas_object_geometry_get" ref="ga5fa60c701af13dac5dd31071167309d2" args="(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the position and rectangular size of the given evas object. </p>
+<p>Note that if any of <code>x</code>, <code>y</code>, <code>w</code> or <code>h</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Pointer to an integer in which to store the X coordinate of the object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Pointer to an integer in which to store the Y coordinate of the object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the width of the object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the height of the object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>, and <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga495807707f06f9acd4de8590a8c92148"></a><!-- doxytag: member="evas_object_main.c::evas_object_hide" ref="ga495807707f06f9acd4de8590a8c92148" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_hide </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Makes the given evas object invisible. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>the hidden objects will not be checked for changes and will not catch events. That is, they are much ligher than an object that is invisible due indirect effects, such as clipped or out-of-viewport. </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out::buttons</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25">EVAS_CALLBACK_MOUSE_OUT</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga13cb52d23911b6c701dbb5f1ee3f65f4"></a><!-- doxytag: member="evas_layer.c::evas_object_layer_get" ref="ga13cb52d23911b6c701dbb5f1ee3f65f4" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI short evas_object_layer_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the layer of the evas that the given object is part of. </p>
+<p>Be careful, it doesn't make sense to change the layer of smart object's child. So the returned value could be wrong in some case. Don't rely on it's accuracy.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Number of the layer. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab48bd3ad20b6663aa5756823edb02038"></a><!-- doxytag: member="evas_layer.c::evas_object_layer_set" ref="gab48bd3ad20b6663aa5756823edb02038" args="(Evas_Object *obj, short l)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_layer_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">short&nbsp;</td>
+          <td class="paramname"> <em>l</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the layer of the evas that the given object will be part of. </p>
+<p>It is not possible to change the layer of a smart object's child.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>The number of the layer to place the object on. Between <a class="el" href="Evas_8h.html#a8817f2ac4e0058d43f9bfe1e563e551b" title="bottom-most layer number">EVAS_LAYER_MIN</a> and <a class="el" href="Evas_8h.html#a1456f5c97f03ebd786c49d4d1178e7a0" title="top-most layer number">EVAS_LAYER_MAX</a>. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">evas_object_raise()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae5ede5671799a140e3d3f7bb7ea7f14f"></a><!-- doxytag: member="evas_stack.c::evas_object_lower" ref="gae5ede5671799a140e3d3f7bb7ea7f14f" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_lower </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Lower <code>obj</code> to the bottom of its layer. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to lower </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga8cc69c6e6d78d686d8c4606ac03c2864">evas_object_stack_below()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga78fa8858c51707f1a557b720014b71cc"></a><!-- doxytag: member="evas_object_main.c::evas_object_move" ref="ga78fa8858c51707f1a557b720014b71cc" args="(Evas_Object *obj, Evas_Coord x, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_move </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Moves the given evas object to the given location. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X position to move the object to, in canvas units. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y position to move the object to, in canvas units. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>, and <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">evas_object_smart_move_children_relative()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac34b593d79bfd9284787ddbb43486edd"></a><!-- doxytag: member="evas_name.c::evas_object_name_get" ref="gac34b593d79bfd9284787ddbb43486edd" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_name_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the name of the given evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The name of the object. <code>NULL</code> if no name has been given to the object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4b6eee1edde61389b5ca9df911de60d8"></a><!-- doxytag: member="evas_name.c::evas_object_name_set" ref="ga4b6eee1edde61389b5ca9df911de60d8" args="(Evas_Object *obj, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_name_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the name of the given evas object to the given name. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The given name. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7a99128189105d042cf6b4fefca9b60e"></a><!-- doxytag: member="evas_stack.c::evas_object_raise" ref="ga7a99128189105d042cf6b4fefca9b60e" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_raise </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Raise <code>obj</code> to the top of its layer. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to raise </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#gab48bd3ad20b6663aa5756823edb02038">evas_object_layer_set()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga1128fb1e04b1de059e9ccade58c83663">evas_object_stack_above()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa22895e88e2cb157b9c38a6d3ce10723"></a><!-- doxytag: member="evas_object_main.c::evas_object_ref" ref="gaa22895e88e2cb157b9c38a6d3ce10723" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_ref </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Increments object reference count to defer deletion. </p>
+<p>This increments the reference count of an object, which if greater than 0 will defer deletion by <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd" title="Deletes the given evas object and frees its memory.">evas_object_del()</a> until all references are released back to 0. References cannot go below 0 and unreferencing more times that referencing will result in the reference count being limited to 0. References are limited to 2^32 - 1 for an object. Referencing it more than this will result in it being limited to this value.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object to reference</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga34df8b33704deafd2a25f40e3c09d149"></a><!-- doxytag: member="evas_object_main.c::evas_object_resize" ref="ga34df8b33704deafd2a25f40e3c09d149" args="(Evas_Object *obj, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_resize </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Changes the size of the given evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The new width of the evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The new height of the evas object.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>Be aware that resizing an object changes its drawing area, but that does imply the object is rescaled! For instance, images are filled inside their drawing area using the specifications of <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a>, thus to scale the image to match exactly your drawing area, you need to change the <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a> as well. Consider the following example: <div class="fragment"><pre class="fragment">       <span class="comment">// rescale image to fill exactly its area without tiling:</span>
+       <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(img, w, h);
+       <a class="code" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set</a>(img, 0, 0, w, h);
+</pre></div> This is more evident in images, but text, textblock, lines and polygons will behave similarly. Check their specific APIs to know how to achieve your desired behavior. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga769ad9a3e3daecb7a828196a2c86332f"></a><!-- doxytag: member="evas_object_main.c::evas_object_show" ref="ga769ad9a3e3daecb7a828196a2c86332f" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_show </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Makes the given evas object visible. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1128fb1e04b1de059e9ccade58c83663"></a><!-- doxytag: member="evas_stack.c::evas_object_stack_above" ref="ga1128fb1e04b1de059e9ccade58c83663" args="(Evas_Object *obj, Evas_Object *above)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_stack_above </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>above</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Stack <code>obj</code> immediately above <code>above</code>. </p>
+<p>If <code>obj</code> is a member of a smart object, then <code>above</code> must also be a member of the same smart object.</p>
+<p>Similarly, if <code>obj</code> is not a member of smart object, <code>above</code> may not either.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to stack </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>above</em>&nbsp;</td><td>the object above which to stack </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga7a99128189105d042cf6b4fefca9b60e">evas_object_raise()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8cc69c6e6d78d686d8c4606ac03c2864"></a><!-- doxytag: member="evas_stack.c::evas_object_stack_below" ref="ga8cc69c6e6d78d686d8c4606ac03c2864" args="(Evas_Object *obj, Evas_Object *below)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_stack_below </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>below</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Stack <code>obj</code> immediately below <code>below</code>. </p>
+<p>If <code>obj</code> is a member of a smart object, then <code>below</code> must also be a member of the same smart object.</p>
+<p>Similarly, if <code>obj</code> is not a member of smart object, <code>below</code> may not either.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to stack </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>below</em>&nbsp;</td><td>the object below which to stack </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#gae5ede5671799a140e3d3f7bb7ea7f14f">evas_object_lower()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaebc12590e689bfcbfede10eca37f80ff"></a><!-- doxytag: member="evas_object_main.c::evas_object_type_get" ref="gaebc12590e689bfcbfede10eca37f80ff" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_type_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the name of the type of the given evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The name. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56">evas_object_clip_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga956f8793fd2897945d90bda2d4d08089"></a><!-- doxytag: member="evas_object_main.c::evas_object_unref" ref="ga956f8793fd2897945d90bda2d4d08089" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_unref </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Decrements object reference count to defer deletion. </p>
+<p>This decrements the reference count of an object. If the object has had <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd" title="Deletes the given evas object and frees its memory.">evas_object_del()</a> called on it while references were more than 0, it will be deleted at the time this function is called as it normally would have been. See <a class="el" href="group__Evas__Object__Group__Basic.html#gaa22895e88e2cb157b9c38a6d3ce10723" title="Increments object reference count to defer deletion.">evas_object_ref()</a> for more information.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object to unreference</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga9cf743b5d87b622c84ba591494445b49"></a><!-- doxytag: member="evas_object_main.c::evas_object_visible_get" ref="ga9cf743b5d87b622c84ba591494445b49" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_visible_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves whether or not the given evas object is visible. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>1</code> if the object is visible. <code>0</code> otherwise. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Group__Events.html b/doc/html/group__Evas__Object__Group__Events.html
new file mode 100644 (file)
index 0000000..d42cfac
--- /dev/null
@@ -0,0 +1,545 @@
+<html>
+<head>
+    <title>Evas: Object Events</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Object Events<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55">evas_object_event_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Object_Event_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a callback function to an object.  <a href="#ga0147a80fc21895dc40165f208ec8cf55"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga270a967a4f0069e646e9a07c51e15863">evas_object_event_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Object_Event_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a callback function from an object.  <a href="#ga270a967a4f0069e646e9a07c51e15863"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga5dbed5bfe210ee8f8ffae7b99a69ec68">evas_object_event_callback_del_full</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a> type, Evas_Object_Event_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete a callback function from an object.  <a href="#ga5dbed5bfe210ee8f8ffae7b99a69ec68"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga5622d84abe1bd303de71f8ddbdcd0665">evas_object_pass_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool pass)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an object's pass events state.  <a href="#ga5622d84abe1bd303de71f8ddbdcd0665"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga019458a8697c55dc3d5e3fe525c535e0">evas_object_pass_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to pass events.  <a href="#ga019458a8697c55dc3d5e3fe525c535e0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gaacd5e00427f3c98ecfb72f630ff7aa46">evas_object_repeat_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool repeat)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an object's repeat events state.  <a href="#gaacd5e00427f3c98ecfb72f630ff7aa46"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#ga2c7ca0c2c33ec1e12da64f60a5742582">evas_object_repeat_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to repeat events.  <a href="#ga2c7ca0c2c33ec1e12da64f60a5742582"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gaca523e82bd3e590f92e8bbda29c1607d">evas_object_propagate_events_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool prop)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether events on a smart member object should propagate to its parent.  <a href="#gaca523e82bd3e590f92e8bbda29c1607d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Events.html#gadc40db6c861c8e57a2229783f0e9ac7f">evas_object_propagate_events_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to propagate events.  <a href="#gadc40db6c861c8e57a2229783f0e9ac7f"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on. </p>
+<p>These methods will allow one to handle such events.</p>
+<p>The events can be those from keyboard and mouse, if the object accepts these events. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga0147a80fc21895dc40165f208ec8cf55"></a><!-- doxytag: member="evas_callbacks.c::evas_object_event_callback_add" ref="ga0147a80fc21895dc40165f208ec8cf55" args="(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_event_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add a callback function to an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Object to attach a callback to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that will trigger the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function to be called when the event is triggered </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to <code>func</code> </td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function adds a function callback to an object when the event of type <code>type</code> occurs on object <code>obj</code>. The function is <code>func</code>.</p>
+<p>In the event of a memory allocation error during addition of the callback to the object, <a class="el" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error()</a> should be used to determine the nature of the error, if any, and the program should sensibly try and recover.</p>
+<p>The function will be passed the pointer <code>data</code> when it is called. A callback function must look like this:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> callback (<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+</pre></div><p>The first parameter <code>data</code> in this function will be the same value passed to <a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> as the <code>data</code> parameter. The second parameter is a convenience for the programmer to know what evas canvas the event occurred on. The third parameter <code>obj</code> is the Object handle on which the event occurred. The foruth parameter <code>event_info</code> is a pointer to a data structure that may or may not be passed to the callback, depending on the event type that triggered the callback.</p>
+<p>The event type <code>type</code> to trigger the function may be one of <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25" title="Mouse Out Event.">EVAS_CALLBACK_MOUSE_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a" title="Mouse Move Event.">EVAS_CALLBACK_MOUSE_MOVE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4" title="Mouse Wheel Event.">EVAS_CALLBACK_MOUSE_WHEEL</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24" title="Object Being Freed (Called after Del).">EVAS_CALLBACK_FREE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584" title="Key Press Event.">EVAS_CALLBACK_KEY_DOWN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f" title="Key Release Event.">EVAS_CALLBACK_KEY_UP</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97" title="Focus In Event.">EVAS_CALLBACK_FOCUS_IN</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3" title="Focus Out Event.">EVAS_CALLBACK_FOCUS_OUT</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540" title="Show Event.">EVAS_CALLBACK_SHOW</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7" title="Hide Event.">EVAS_CALLBACK_HIDE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0" title="Move Event.">EVAS_CALLBACK_MOVE</a>, <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21" title="Resize Event.">EVAS_CALLBACK_RESIZE</a> or <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145" title="Restack Event.">EVAS_CALLBACK_RESTACK</a>. This determines the kind of event that will trigger the callback to be called. The <code>event_info</code> pointer passed to the callback will be one of the following, depending on the event triggering it:</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a>: event_info = pointer to Evas_Event_Mouse_In</p>
+<p>This event is triggered when the mouse pointer enters the region of the object <code>obj</code>. This may occur by the mouse pointer being moved by <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7" title="Mouse move event feed.">evas_event_feed_mouse_move()</a> or evas_event_feed_mouse_move_data() calls, or by the object being shown, raised, moved, resized, or other objects being moved out of the way, hidden, lowered or moved out of the way.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25" title="Mouse Out Event.">EVAS_CALLBACK_MOUSE_OUT</a>: event_info = pointer to Evas_Event_Mouse_Out</p>
+<p>This event is triggered exactly like <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af" title="Mouse In Event.">EVAS_CALLBACK_MOUSE_IN</a> is, but occurs when the mouse pointer exits an object. Note that no out events will be reported if the mouse pointer is implicitly grabbed to an object (the mouse buttons are down at all and any were pressed on that object). An out event will be reported as soon as the mouse is no longer grabbed (no mouse buttons are depressed). Out events will be reported once all buttons are released, if the mouse has left the object.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>: event_info = pointer to Evas_Event_Mouse_Down</p>
+<p>This event is triggered by a mouse button being depressed while over an object. If pointermode is EVAS_OBJECT_POINTER_MODE_AUTOGRAB (default) this causes this object to passively grab the mouse until all mouse buttons have been released. That means if this mouse button is the first to be pressed, all future mouse events will be reported to only this object until no buttons are down. That includes mouse move events, in and out events, and further button presses. When all buttons are released, event propagation occurs as normal.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>: event_info = pointer to Evas_Event_Mouse_Up</p>
+<p>This event is triggered by a mouse button being released while over an object or when passively grabbed to an object. If this is the last mouse button to be raised on an object then the passive grab is released and event processing will continue as normal.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a" title="Mouse Move Event.">EVAS_CALLBACK_MOUSE_MOVE</a>: event_info = pointer to Evas_Event_Mouse_Move</p>
+<p>This event is triggered by the mouse pointer moving while over an object or passively grabbed to an object.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4" title="Mouse Wheel Event.">EVAS_CALLBACK_MOUSE_WHEEL</a>: event_info = pointer to Evas_Event_Mouse_Wheel</p>
+<p>This event is triggered by the mouse wheel being rolled while over an object or passively grabbed to an object.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24" title="Object Being Freed (Called after Del).">EVAS_CALLBACK_FREE</a>: event_info = NULL</p>
+<p>This event is triggered just before Evas is about to free all memory used by an object and remove all references to it. This is useful for programs to use if they attached data to an object and want to free it when the object is deleted. The object is still valid when this callback is called, but after this callback returns, there is no guarantee on the object's validity.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584" title="Key Press Event.">EVAS_CALLBACK_KEY_DOWN</a>: event_info = pointer to Evas_Event_Key_Down</p>
+<p>This callback is called when a key is pressed and the focus is on the object, or a key has been grabbed to a particular object which wants to intercept the key press regardless of what object has the focus.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f" title="Key Release Event.">EVAS_CALLBACK_KEY_UP</a>: event_info = pointer to Evas_Event_Key_Up</p>
+<p>This callback is called when a key is released and the focus is on the object, or a key has been grabbed to a particular object which wants to intercept the key release regardless of what object has the focus.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97" title="Focus In Event.">EVAS_CALLBACK_FOCUS_IN</a>: event_info = NULL</p>
+<p>This event is called when an object gains the focus. When the callback is called the object has already gained the focus.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3" title="Focus Out Event.">EVAS_CALLBACK_FOCUS_OUT</a>: event_info = NULL</p>
+<p>This event is triggered by an object losing the focus. When the callback is called the object has already lost the focus.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540" title="Show Event.">EVAS_CALLBACK_SHOW</a>: event_info = NULL</p>
+<p>This event is triggered by the object being shown by <a class="el" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show()</a>.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7" title="Hide Event.">EVAS_CALLBACK_HIDE</a>: event_info = NULL</p>
+<p>This event is triggered by an object being hidden by <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148" title="Makes the given evas object invisible.">evas_object_hide()</a>.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0" title="Move Event.">EVAS_CALLBACK_MOVE</a>: event_info = NULL</p>
+<p>This event is triggered by an object being moved. <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move()</a> can trigger this, as can any object-specific manipulations that would mean the object's origin could move.</p>
+<p><a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21" title="Resize Event.">EVAS_CALLBACK_RESIZE</a>: event_info = NULL</p>
+<p>This event is triggered by an object being resized. Resizes can be triggered by <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize()</a> or by any object-specific calls that may cause the object to resize.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
+ <span class="keyword">extern</span> <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> down_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+ <span class="keywordtype">void</span> up_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+
+ <a class="code" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, up_callback, my_data);
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() != <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" title="No allocation error.">EVAS_ALLOC_ERROR_NONE</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Callback registering failed! Abort!\n&quot;</span>);
+     exit(-1);
+   }
+ <a class="code" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f" title="Mouse Button Down Event.">EVAS_CALLBACK_MOUSE_DOWN</a>, down_callback, my_data);
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Group.html#ga1c782b4511e3b8678a2166c651053ac9" title="Return if any allocation errors have occurred during the prior function.">evas_alloc_error</a>() != <a class="code" href="Evas_8h.html#a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8" title="No allocation error.">EVAS_ALLOC_ERROR_NONE</a>)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Callback registering failed! Abort!\n&quot;</span>);
+     exit(-1);
+   }
+</pre></div> 
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga270a967a4f0069e646e9a07c51e15863"></a><!-- doxytag: member="evas_callbacks.c::evas_object_event_callback_del" ref="ga270a967a4f0069e646e9a07c51e15863" args="(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_event_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete a callback function from an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Object to remove a callback from </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that was triggering the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that was to be called when the event was triggered </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the callback</dd></dl>
+<p>This function removes the most recently added callback from the object <code>obj</code> which was triggered by the event type <code>type</code> and was calling the function <code>func</code> when triggered. If the removal is successful it will also return the data pointer that was passed to <a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> when the callback was added to the object. If not successful NULL will be returned.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
+ <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> up_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+
+ my_data = <a class="code" href="group__Evas__Object__Group__Events.html#ga270a967a4f0069e646e9a07c51e15863" title="Delete a callback function from an object.">evas_object_event_callback_del</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, up_callback);
+</pre></div> 
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5dbed5bfe210ee8f8ffae7b99a69ec68"></a><!-- doxytag: member="evas_callbacks.c::evas_object_event_callback_del_full" ref="ga5dbed5bfe210ee8f8ffae7b99a69ec68" args="(Evas_Object *obj, Evas_Callback_Type type, Evas_Object_Event_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_event_callback_del_full </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a076b2a9b2de2b2144a4193b1d12ed448">Evas_Callback_Type</a>&nbsp;</td>
+          <td class="paramname"> <em>type</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Event_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete a callback function from an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Object to remove a callback from </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>The type of event that was triggering the callback </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The function that was to be called when the event was triggered </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer that was to be passed to the callback </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer that was to be passed to the callback</dd></dl>
+<p>This function removes the most recently added callback from the object <code>obj</code> which was triggered by the event type <code>type</code> and was calling the function <code>func</code> with data <code>data</code> when triggered. If the removal is successful it will also return the data pointer that was passed to <a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55" title="Add a callback function to an object.">evas_object_event_callback_add()</a> (that will be the same as the parameter) when the callback was added to the object. If not successful NULL will be returned.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *object;
+ <span class="keywordtype">void</span> *my_data;
+ <span class="keywordtype">void</span> up_callback(<span class="keywordtype">void</span> *data, <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *e, <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj, <span class="keywordtype">void</span> *event_info);
+
+ my_data = <a class="code" href="group__Evas__Object__Group__Events.html#ga5dbed5bfe210ee8f8ffae7b99a69ec68" title="Delete a callback function from an object.">evas_object_event_callback_del_full</a>(<span class="keywordtype">object</span>, <a class="code" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7" title="Mouse Button Up Event.">EVAS_CALLBACK_MOUSE_UP</a>, up_callback, data);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga019458a8697c55dc3d5e3fe525c535e0"></a><!-- doxytag: member="evas_events.c::evas_object_pass_events_get" ref="ga019458a8697c55dc3d5e3fe525c535e0" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_pass_events_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Determine whether an object is set to pass events. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>pass events state </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5622d84abe1bd303de71f8ddbdcd0665"></a><!-- doxytag: member="evas_events.c::evas_object_pass_events_set" ref="ga5622d84abe1bd303de71f8ddbdcd0665" args="(Evas_Object *obj, Eina_Bool pass)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_pass_events_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>pass</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set an object's pass events state. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pass</em>&nbsp;</td><td>whether to pass events or not</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>If <code>pass</code> is true, this will cause events on <code>obj</code> to be ignored. They will be triggered on the next lower object (that is not set to pass events) instead.</p>
+<p>If <code>pass</code> is false, events will be processed as normal. </p>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gadc40db6c861c8e57a2229783f0e9ac7f"></a><!-- doxytag: member="evas_events.c::evas_object_propagate_events_get" ref="gadc40db6c861c8e57a2229783f0e9ac7f" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_propagate_events_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Determine whether an object is set to propagate events. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>propagate events state </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaca523e82bd3e590f92e8bbda29c1607d"></a><!-- doxytag: member="evas_events.c::evas_object_propagate_events_set" ref="gaca523e82bd3e590f92e8bbda29c1607d" args="(Evas_Object *obj, Eina_Bool prop)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_propagate_events_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>prop</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set whether events on a smart member object should propagate to its parent. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart member object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>prop</em>&nbsp;</td><td>wheter to propagate events or not</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function has no effect if <code>obj</code> is not a member of a smart object.</p>
+<p>If <code>prop</code> is true, events occurring on this object will propagate on to the smart object of which <code>obj</code> is a member.</p>
+<p>If <code>prop</code> is false, events for which callbacks are set on the member object, <code>obj</code>, will not be passed on to the parent smart object.</p>
+<p>The default value is true. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2c7ca0c2c33ec1e12da64f60a5742582"></a><!-- doxytag: member="evas_events.c::evas_object_repeat_events_get" ref="ga2c7ca0c2c33ec1e12da64f60a5742582" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_repeat_events_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Determine whether an object is set to repeat events. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>repeat events state </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaacd5e00427f3c98ecfb72f630ff7aa46"></a><!-- doxytag: member="evas_events.c::evas_object_repeat_events_set" ref="gaacd5e00427f3c98ecfb72f630ff7aa46" args="(Evas_Object *obj, Eina_Bool repeat)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_repeat_events_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>repeat</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set an object's repeat events state. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>repeat</em>&nbsp;</td><td>wheter to repeat events or not</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>If <code>repeat</code> is true, this will cause events on <code>obj</code> to trigger callbacks, but also to be repeated on the next lower object in the stack.</p>
+<p>If <code>repeat</code> is false, events occurring on <code>obj</code> will be processed normally. </p>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Group__Extras.html b/doc/html/group__Evas__Object__Group__Extras.html
new file mode 100644 (file)
index 0000000..fb492df
--- /dev/null
@@ -0,0 +1,818 @@
+<html>
+<head>
+    <title>Evas: Extra Object Manipulation</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Extra Object Manipulation<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How mouse pointer should be handled by Evas.  <a href="#ga27baac4c63b590de109e3e3f0d941483"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e">EVAS_RENDER_BLEND</a> =  0, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7">EVAS_RENDER_BLEND_REL</a> =  1, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd">EVAS_RENDER_COPY</a> =  2, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea">EVAS_RENDER_COPY_REL</a> =  3, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926">EVAS_RENDER_ADD</a> =  4, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc">EVAS_RENDER_ADD_REL</a> =  5, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27">EVAS_RENDER_SUB</a> =  6, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c">EVAS_RENDER_SUB_REL</a> =  7, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9">EVAS_RENDER_TINT</a> =  8, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6">EVAS_RENDER_TINT_REL</a> =  9, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f">EVAS_RENDER_MASK</a> =  10, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Group__Extras.html#gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294">EVAS_RENDER_MUL</a> =  11
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How the object should be rendered to output. </p>
+ <a href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a> { <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28">EVAS_OBJECT_POINTER_MODE_AUTOGRAB</a>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How mouse pointer should be handled by Evas. </p>
+ <a href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga429f41f49547080ff96d21196e4ff8ed">evas_object_data_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *key, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an attached data pointer to an object with a given string key.  <a href="#ga429f41f49547080ff96d21196e4ff8ed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga69bba3a6ae917a3170ec4429d6b86f0b">evas_object_data_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an attached data pointer by its given string key.  <a href="#ga69bba3a6ae917a3170ec4429d6b86f0b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga163e7d373168eea15ef1b6a9be68f3ec">evas_object_data_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete at attached data pointer from an object.  <a href="#ga163e7d373168eea15ef1b6a9be68f3ec"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga5504e39f8d0cc41af3663fed15ec06e5">evas_object_pointer_mode_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a> setting)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set pointer behavior.  <a href="#ga5504e39f8d0cc41af3663fed15ec06e5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga80faa9ce3b9ab59fe7b4bf6924b293ac">evas_object_pointer_mode_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine how pointer will behave.  <a href="#ga80faa9ce3b9ab59fe7b4bf6924b293ac"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaf0c7d4c49695749fa616d0abdbd5ddeb">evas_object_anti_alias_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool anti_alias)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets whether or not the given evas object is to be drawn anti-aliased.  <a href="#gaf0c7d4c49695749fa616d0abdbd5ddeb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga3308cb65716beb4ce826b9701e23159a">evas_object_anti_alias_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether or not the given evas object is to be drawn anti_aliased.  <a href="#ga3308cb65716beb4ce826b9701e23159a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaf010777fa1b58bd1c9c8093d2edc62e9">evas_object_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double scale)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the scaling factor for an evas object.  <a href="#gaf010777fa1b58bd1c9c8093d2edc62e9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga1c0aca3af434f0bc0fa8732248b197ba">evas_object_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the scaling factor for the given evas object.  <a href="#ga1c0aca3af434f0bc0fa8732248b197ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga86ef8d1f039bff1a60595688f93a7990">evas_object_render_op_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a> render_op)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the render_op to be used for rendering the evas object.  <a href="#ga86ef8d1f039bff1a60595688f93a7990"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gaa157afa6f23cdf4b344d95531bb7d508">evas_object_render_op_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current value of the operation used for rendering the evas object.  <a href="#gaa157afa6f23cdf4b344d95531bb7d508"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gac9ce9802afd7d4cba580fbcbe92c28b2">evas_object_precise_is_inside_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool precise)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set whether to use a precise (usually expensive) point collision detection.  <a href="#gac9ce9802afd7d4cba580fbcbe92c28b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga8483a3c855f466a5dca480fcfd07b52b">evas_object_precise_is_inside_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether an object is set to use a precise point collision detection.  <a href="#ga8483a3c855f466a5dca480fcfd07b52b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8">evas_object_static_clip_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool is_static_clip)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a hint flag on the object that this is used as a static "clipper".  <a href="#ga8697b24251c2209c60aabb1a5de860a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Extras.html#gafda644be2d6e6360959853c9d6195ec8">evas_object_static_clip_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get static "clipper" hint flag.  <a href="#gafda644be2d6e6360959853c9d6195ec8"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects. </p>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga27baac4c63b590de109e3e3f0d941483"></a><!-- doxytag: member="Evas.h::Evas_Object_Pointer_Mode" ref="ga27baac4c63b590de109e3e3f0d941483" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a>  <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>How mouse pointer should be handled by Evas. </p>
+<p>If <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28" title="default, X11-like">EVAS_OBJECT_POINTER_MODE_AUTOGRAB</a>, then when mouse is down an object, then moves outside of it, the pointer still behaves as being bound to the object, albeit out of its drawing region. On mouse up, the event will be feed to the object, that may check if the final position is over or not and do something about it. How mouse pointer should be handled by Evas. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga9c39a3ca795bbec3687fae9ee67d6056"></a><!-- doxytag: member="Evas.h::Evas_Render_Op" ref="ga9c39a3ca795bbec3687fae9ee67d6056" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a>  <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<p>How the object should be rendered to output. </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ga822b2a69896ff21279debe2a417e3082"></a><!-- doxytag: member="Evas.h::_Evas_Object_Pointer_Mode" ref="ga822b2a69896ff21279debe2a417e3082" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga822b2a69896ff21279debe2a417e3082">_Evas_Object_Pointer_Mode</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>How mouse pointer should be handled by Evas. </p>
+<p>If <a class="el" href="group__Evas__Object__Group__Extras.html#gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28" title="default, X11-like">EVAS_OBJECT_POINTER_MODE_AUTOGRAB</a>, then when mouse is down an object, then moves outside of it, the pointer still behaves as being bound to the object, albeit out of its drawing region. On mouse up, the event will be feed to the object, that may check if the final position is over or not and do something about it. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28"></a><!-- doxytag: member="EVAS_OBJECT_POINTER_MODE_AUTOGRAB" ref="gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28" args="" -->EVAS_OBJECT_POINTER_MODE_AUTOGRAB</em>&nbsp;</td><td>
+<p>default, X11-like </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga551375283a5e2b0abffd5f40582e9ce2"></a><!-- doxytag: member="Evas.h::_Evas_Render_Op" ref="ga551375283a5e2b0abffd5f40582e9ce2" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="group__Evas__Object__Group__Extras.html#ga551375283a5e2b0abffd5f40582e9ce2">_Evas_Render_Op</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>How the object should be rendered to output. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e"></a><!-- doxytag: member="EVAS_RENDER_BLEND" ref="gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e" args="" -->EVAS_RENDER_BLEND</em>&nbsp;</td><td>
+<p>default op: d = d*(1-sa) + s </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7"></a><!-- doxytag: member="EVAS_RENDER_BLEND_REL" ref="gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7" args="" -->EVAS_RENDER_BLEND_REL</em>&nbsp;</td><td>
+<p>d = d*(1 - sa) + s*da </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd"></a><!-- doxytag: member="EVAS_RENDER_COPY" ref="gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd" args="" -->EVAS_RENDER_COPY</em>&nbsp;</td><td>
+<p>d = s </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea"></a><!-- doxytag: member="EVAS_RENDER_COPY_REL" ref="gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea" args="" -->EVAS_RENDER_COPY_REL</em>&nbsp;</td><td>
+<p>d = s*da </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926"></a><!-- doxytag: member="EVAS_RENDER_ADD" ref="gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926" args="" -->EVAS_RENDER_ADD</em>&nbsp;</td><td>
+<p>d = d + s </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc"></a><!-- doxytag: member="EVAS_RENDER_ADD_REL" ref="gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc" args="" -->EVAS_RENDER_ADD_REL</em>&nbsp;</td><td>
+<p>d = d + s*da </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27"></a><!-- doxytag: member="EVAS_RENDER_SUB" ref="gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27" args="" -->EVAS_RENDER_SUB</em>&nbsp;</td><td>
+<p>d = d - s </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c"></a><!-- doxytag: member="EVAS_RENDER_SUB_REL" ref="gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c" args="" -->EVAS_RENDER_SUB_REL</em>&nbsp;</td><td>
+<p>d = d - s*da </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9"></a><!-- doxytag: member="EVAS_RENDER_TINT" ref="gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9" args="" -->EVAS_RENDER_TINT</em>&nbsp;</td><td>
+<p>d = d*s + d*(1 - sa) + s*(1 - da) </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6"></a><!-- doxytag: member="EVAS_RENDER_TINT_REL" ref="gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6" args="" -->EVAS_RENDER_TINT_REL</em>&nbsp;</td><td>
+<p>d = d*(1 - sa + s) </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f"></a><!-- doxytag: member="EVAS_RENDER_MASK" ref="gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f" args="" -->EVAS_RENDER_MASK</em>&nbsp;</td><td>
+<p>d = d*sa </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294"></a><!-- doxytag: member="EVAS_RENDER_MUL" ref="gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294" args="" -->EVAS_RENDER_MUL</em>&nbsp;</td><td>
+<p>d = d*s </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga3308cb65716beb4ce826b9701e23159a"></a><!-- doxytag: member="evas_object_main.c::evas_object_anti_alias_get" ref="ga3308cb65716beb4ce826b9701e23159a" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_anti_alias_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves whether or not the given evas object is to be drawn anti_aliased. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd><code>1</code> if the object is to be anti_aliased. <code>0</code> otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf0c7d4c49695749fa616d0abdbd5ddeb"></a><!-- doxytag: member="evas_object_main.c::evas_object_anti_alias_set" ref="gaf0c7d4c49695749fa616d0abdbd5ddeb" args="(Evas_Object *obj, Eina_Bool anti_alias)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_anti_alias_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>anti_alias</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets whether or not the given evas object is to be drawn anti-aliased. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>anti_alias</em>&nbsp;</td><td>1 if the object is to be anti_aliased, 0 otherwise. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga163e7d373168eea15ef1b6a9be68f3ec"></a><!-- doxytag: member="evas_data.c::evas_object_data_del" ref="ga163e7d373168eea15ef1b6a9be68f3ec" args="(Evas_Object *obj, const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_data_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete at attached data pointer from an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to delete the data pointer from </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The string key the data was stored under </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The original data pointer stored at <code>key</code> on <code>obj</code> </dd></dl>
+<p>This will remove thee stored data pointer from <code>obj</code> stored under <code>key</code>, and return the original pointer stored under <code>key</code>, if any, nor NULL if nothing was stored under that key.</p>
+<p>Example:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> *my_data;
+ <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+
+ my_data = <a class="code" href="group__Evas__Object__Group__Extras.html#ga163e7d373168eea15ef1b6a9be68f3ec" title="Delete at attached data pointer from an object.">evas_object_data_del</a>(obj, <span class="stringliteral">&quot;name_of_my_data&quot;</span>);
+</pre></div> 
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Extras.html#ga429f41f49547080ff96d21196e4ff8ed">evas_object_data_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga69bba3a6ae917a3170ec4429d6b86f0b"></a><!-- doxytag: member="evas_data.c::evas_object_data_get" ref="ga69bba3a6ae917a3170ec4429d6b86f0b" args="(const Evas_Object *obj, const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_data_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return an attached data pointer by its given string key. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to which the data was attached </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The string key the data was stored under </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The data pointer stored, or NULL if none was stored</dd></dl>
+<p>This function will return the data pointer attached to the object <code>obj</code> stored using the string key <code>key</code>. If the object is valid and data was stored under the given key, the pointer that was stored will be reuturned. If this is not the case, NULL will be returned, signifying an invalid object or non-existent key. It is possible a NULL pointer was stored given that key, but this situation is non-sensical and thus can be considered an error as well. NULL pointers are never stored as this is the return value if an error occurs.</p>
+<p>Example:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> *my_data;
+ <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+
+ my_data = <a class="code" href="group__Evas__Object__Group__Extras.html#ga69bba3a6ae917a3170ec4429d6b86f0b" title="Return an attached data pointer by its given string key.">evas_object_data_get</a>(obj, <span class="stringliteral">&quot;name_of_my_data&quot;</span>);
+ <span class="keywordflow">if</span> (my_data) printf(<span class="stringliteral">&quot;Data stored was %p\n&quot;</span>, my_data);
+ <span class="keywordflow">else</span> printf(<span class="stringliteral">&quot;No data was stored on the object\n&quot;</span>);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga429f41f49547080ff96d21196e4ff8ed"></a><!-- doxytag: member="evas_data.c::evas_object_data_set" ref="ga429f41f49547080ff96d21196e4ff8ed" args="(Evas_Object *obj, const char *key, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_data_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set an attached data pointer to an object with a given string key. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The object to attach the data pointer to </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The string key for the data to access it </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The ponter to the data to be attached</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This attaches the pointer <code>data</code> to the object <code>obj</code> given the string <code>key</code>. This pointer will stay "hooked" to the object until a new pointer with the same string key is attached with <a class="el" href="group__Evas__Object__Group__Extras.html#ga429f41f49547080ff96d21196e4ff8ed" title="Set an attached data pointer to an object with a given string key.">evas_object_data_set()</a> or it is deleted with <a class="el" href="group__Evas__Object__Group__Extras.html#ga163e7d373168eea15ef1b6a9be68f3ec" title="Delete at attached data pointer from an object.">evas_object_data_del()</a>. On deletion of the object <code>obj</code>, the pointers will not be accessible from the object anymore.</p>
+<p>You can find the pointer attached under a string key using <a class="el" href="group__Evas__Object__Group__Extras.html#ga69bba3a6ae917a3170ec4429d6b86f0b" title="Return an attached data pointer by its given string key.">evas_object_data_get()</a>. It is the job of the calling application to free any data pointed to by <code>data</code> when it is no longer required.</p>
+<p>If <code>data</code> is NULL, the old value stored at <code>key</code> will be removed but no new value will be stored. This is synonymous with calling <a class="el" href="group__Evas__Object__Group__Extras.html#ga163e7d373168eea15ef1b6a9be68f3ec" title="Delete at attached data pointer from an object.">evas_object_data_del()</a> with <code>obj</code> and <code>key</code>.</p>
+<p>Example:</p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> *my_data;
+ <span class="keyword">extern</span> <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *obj;
+
+ my_data = malloc(500);
+ <a class="code" href="group__Evas__Object__Group__Extras.html#ga429f41f49547080ff96d21196e4ff8ed" title="Set an attached data pointer to an object with a given string key.">evas_object_data_set</a>(obj, <span class="stringliteral">&quot;name_of_data&quot;</span>, my_data);
+ printf(<span class="stringliteral">&quot;The data that was attached was %p\n&quot;</span>, <a class="code" href="group__Evas__Object__Group__Extras.html#ga69bba3a6ae917a3170ec4429d6b86f0b" title="Return an attached data pointer by its given string key.">evas_object_data_get</a>(obj, <span class="stringliteral">&quot;name_of_data&quot;</span>));
+</pre></div> 
+<p>References <a class="el" href="group__Evas__Object__Group__Extras.html#ga163e7d373168eea15ef1b6a9be68f3ec">evas_object_data_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga80faa9ce3b9ab59fe7b4bf6924b293ac"></a><!-- doxytag: member="evas_events.c::evas_object_pointer_mode_get" ref="ga80faa9ce3b9ab59fe7b4bf6924b293ac" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a> evas_object_pointer_mode_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Determine how pointer will behave. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td></td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>pointer behavior. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5504e39f8d0cc41af3663fed15ec06e5"></a><!-- doxytag: member="evas_events.c::evas_object_pointer_mode_set" ref="ga5504e39f8d0cc41af3663fed15ec06e5" args="(Evas_Object *obj, Evas_Object_Pointer_Mode setting)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_pointer_mode_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Extras.html#ga27baac4c63b590de109e3e3f0d941483">Evas_Object_Pointer_Mode</a>&nbsp;</td>
+          <td class="paramname"> <em>setting</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set pointer behavior. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td></td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>setting</em>&nbsp;</td><td>desired behavior.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function has direct effect on event callbacks related to mouse.</p>
+<p>If <code>setting</code> is EVAS_OBJECT_POINTER_MODE_AUTOGRAB, then when mouse is down at this object, events will be restricted to it as source, mouse moves, for example, will be emitted even if outside this object area.</p>
+<p>If <code>setting</code> is EVAS_OBJECT_POINTER_MODE_NOGRAB, then events will be emitted just when inside this object area.</p>
+<p>The default value is EVAS_OBJECT_POINTER_MODE_AUTOGRAB. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga8483a3c855f466a5dca480fcfd07b52b"></a><!-- doxytag: member="evas_object_main.c::evas_object_precise_is_inside_get" ref="ga8483a3c855f466a5dca480fcfd07b52b" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_precise_is_inside_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Determine whether an object is set to use a precise point collision detection. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gac9ce9802afd7d4cba580fbcbe92c28b2"></a><!-- doxytag: member="evas_object_main.c::evas_object_precise_is_inside_set" ref="gac9ce9802afd7d4cba580fbcbe92c28b2" args="(Evas_Object *obj, Eina_Bool precise)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_precise_is_inside_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>precise</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set whether to use a precise (usually expensive) point collision detection. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>precise</em>&nbsp;</td><td>wheter to use a precise point collision detection or not The default value is false. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa157afa6f23cdf4b344d95531bb7d508"></a><!-- doxytag: member="evas_object_main.c::evas_object_render_op_get" ref="gaa157afa6f23cdf4b344d95531bb7d508" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a> evas_object_render_op_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the current value of the operation used for rendering the evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>one of the enumerated values in Evas_Render_Op. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga86ef8d1f039bff1a60595688f93a7990"></a><!-- doxytag: member="evas_object_main.c::evas_object_render_op_set" ref="ga86ef8d1f039bff1a60595688f93a7990" args="(Evas_Object *obj, Evas_Render_Op render_op)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_render_op_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group__Extras.html#ga9c39a3ca795bbec3687fae9ee67d6056">Evas_Render_Op</a>&nbsp;</td>
+          <td class="paramname"> <em>render_op</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the render_op to be used for rendering the evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>render_op</em>&nbsp;</td><td>one of the Evas_Render_Op values. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1c0aca3af434f0bc0fa8732248b197ba"></a><!-- doxytag: member="evas_object_main.c::evas_object_scale_get" ref="ga1c0aca3af434f0bc0fa8732248b197ba" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double evas_object_scale_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the scaling factor for the given evas object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The scaling factor. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf010777fa1b58bd1c9c8093d2edc62e9"></a><!-- doxytag: member="evas_object_main.c::evas_object_scale_set" ref="gaf010777fa1b58bd1c9c8093d2edc62e9" args="(Evas_Object *obj, double scale)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_scale_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>scale</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the scaling factor for an evas object. </p>
+<p>Does not affect all objects.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>scale</em>&nbsp;</td><td>The scaling factor. 1.0 == none. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gafda644be2d6e6360959853c9d6195ec8"></a><!-- doxytag: member="evas_object_main.c::evas_object_static_clip_get" ref="gafda644be2d6e6360959853c9d6195ec8" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_static_clip_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get static "clipper" hint flag. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Extras.html#ga8697b24251c2209c60aabb1a5de860a8" title="Set a hint flag on the object that this is used as a static &quot;clipper&quot;.">evas_object_static_clip_set()</a></dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The static clip flag (on or off) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8697b24251c2209c60aabb1a5de860a8"></a><!-- doxytag: member="evas_object_main.c::evas_object_static_clip_set" ref="ga8697b24251c2209c60aabb1a5de860a8" args="(Evas_Object *obj, Eina_Bool is_static_clip)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_static_clip_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>is_static_clip</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set a hint flag on the object that this is used as a static "clipper". </p>
+<p>This is a hint to evas that this object is used as a big static clipper and shouldnt be moved with children and otherwise considered specially. The Default is off.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>is_static_clip</em>&nbsp;</td><td>The static clip flag (on or off) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Group__Find.html b/doc/html/group__Evas__Object__Group__Find.html
new file mode 100644 (file)
index 0000000..a260feb
--- /dev/null
@@ -0,0 +1,543 @@
+<html>
+<head>
+    <title>Evas: Finding Objects</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Finding Objects<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that allows finding objects by their position, name or other properties.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gaafc05ec22375400b9f0cfc8bcfc83bf5">evas_focus_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the object that currently has focus.  <a href="#gaafc05ec22375400b9f0cfc8bcfc83bf5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gad3214c89581f068934c57ac71dc6a52f">evas_object_name_find</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the object on the given evas with the given name.  <a href="#gad3214c89581f068934c57ac71dc6a52f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54">evas_object_top_at_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object at the given position (x,y).  <a href="#ga6028b55f1ec538feb45aa004ba916a54"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448">evas_object_top_at_pointer_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object at mouse pointer position.  <a href="#ga6382adb2279892eb01029cef46988448"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gaf072ec206768d96c6f73a590e6af39c9">evas_object_top_in_rectangle_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the top object in the given rectangle region.  <a href="#gaf072ec206768d96c6f73a590e6af39c9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga473d00deb431d0869484474153e47c04">evas_objects_at_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the objects at the given position.  <a href="#ga473d00deb431d0869484474153e47c04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#gae5d4af2f915c2efe4e5cfc22644b8c53">evas_objects_in_rectangle_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gae5d4af2f915c2efe4e5cfc22644b8c53"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga3e06dcd04da8cd9d64e106f7ede8db9e">evas_object_bottom_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the lowest evas object on the Evas <code>e</code>.  <a href="#ga3e06dcd04da8cd9d64e106f7ede8db9e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Find.html#ga2acf1e026d576ba355ca1b1ea24e0736">evas_object_top_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the highest evas object on the Evas <code>e</code>.  <a href="#ga2acf1e026d576ba355ca1b1ea24e0736"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that allows finding objects by their position, name or other properties. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaafc05ec22375400b9f0cfc8bcfc83bf5"></a><!-- doxytag: member="evas_focus.c::evas_focus_get" ref="gaafc05ec22375400b9f0cfc8bcfc83bf5" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_focus_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieve the object that currently has focus. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The <code>Evas</code> canvas to query focus on.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Returns the object that currently has focus, NULL otherwise.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Basic.html#ga5f1530901a9e94e3f35b987101009cf5" title="Sets focus to the given object.">evas_object_focus_set</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Group__Basic.html#ga7dc71b30e4caaaf60076a5990173d654" title="Test if the object has focus.">evas_object_focus_get</a> </dd>
+<dd>
+evas_object_key_grab </dd>
+<dd>
+evas_object_key_ungrab</dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The object that has focus or NULL is there is not one. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga3e06dcd04da8cd9d64e106f7ede8db9e"></a><!-- doxytag: member="evas_stack.c::evas_object_bottom_get" ref="ga3e06dcd04da8cd9d64e106f7ede8db9e" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_bottom_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the lowest evas object on the Evas <code>e</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>an Evas </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the lowest object </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad3214c89581f068934c57ac71dc6a52f"></a><!-- doxytag: member="evas_name.c::evas_object_name_find" ref="gad3214c89581f068934c57ac71dc6a52f" args="(const Evas *e, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_name_find </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the object on the given evas with the given name. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The given name. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>If successful, the evas object with the given name. Otherwise, <code>NULL</code>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6382adb2279892eb01029cef46988448"></a><!-- doxytag: member="evas_object_main.c::evas_object_top_at_pointer_get" ref="ga6382adb2279892eb01029cef46988448" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_top_at_pointer_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the top object at mouse pointer position. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The evas object that is over all others objects at the pointer position. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Find.html#ga6028b55f1ec538feb45aa004ba916a54">evas_object_top_at_xy_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6028b55f1ec538feb45aa004ba916a54"></a><!-- doxytag: member="evas_object_main.c::evas_object_top_at_xy_get" ref="ga6028b55f1ec538feb45aa004ba916a54" args="(const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_top_at_xy_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_pass_events_objects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_hidden_objects</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the top object at the given position (x,y). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The horizontal coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The vertical coordinate </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_pass_events_objects</em>&nbsp;</td><td>Boolean Flag to include or not pass events objects </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_hidden_objects</em>&nbsp;</td><td>Boolean Flag to include or not hidden objects </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The evas object that is over all others objects at the given position. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Find.html#ga6382adb2279892eb01029cef46988448">evas_object_top_at_pointer_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2acf1e026d576ba355ca1b1ea24e0736"></a><!-- doxytag: member="evas_stack.c::evas_object_top_get" ref="ga2acf1e026d576ba355ca1b1ea24e0736" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_top_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the highest evas object on the Evas <code>e</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>an Evas </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the highest object </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf072ec206768d96c6f73a590e6af39c9"></a><!-- doxytag: member="evas_object_main.c::evas_object_top_in_rectangle_get" ref="gaf072ec206768d96c6f73a590e6af39c9" args="(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_top_in_rectangle_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_pass_events_objects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_hidden_objects</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the top object in the given rectangle region. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The horizontal coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The vertical coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_pass_events_objects</em>&nbsp;</td><td>Boolean Flag to include or not pass events objects </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_hidden_objects</em>&nbsp;</td><td>Boolean Flag to include or not hidden objects </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The evas object that is over all others objects at the pointer position. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga473d00deb431d0869484474153e47c04"></a><!-- doxytag: member="evas_object_main.c::evas_objects_at_xy_get" ref="ga473d00deb431d0869484474153e47c04" args="(const Evas *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_objects_at_xy_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_pass_events_objects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_hidden_objects</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the objects at the given position. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The horizontal coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The vertical coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_pass_events_objects</em>&nbsp;</td><td>Boolean Flag to include or not pass events objects </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_hidden_objects</em>&nbsp;</td><td>Boolean Flag to include or not hidden objects </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The list of evas objects at the pointer position. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae5d4af2f915c2efe4e5cfc22644b8c53"></a><!-- doxytag: member="evas_object_main.c::evas_objects_in_rectangle_get" ref="gae5d4af2f915c2efe4e5cfc22644b8c53" args="(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_objects_in_rectangle_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_pass_events_objects</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>include_hidden_objects</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. Retrieves the objects in the given rectangle region </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The horizontal coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The vertical coordinate. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_pass_events_objects</em>&nbsp;</td><td>Boolean Flag to include or not pass events objects </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>include_hidden_objects</em>&nbsp;</td><td>Boolean Flag to include or not hidden objects </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The list of evas object in the rectangle region. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Group__Interceptors.html b/doc/html/group__Evas__Object__Group__Interceptors.html
new file mode 100644 (file)
index 0000000..1716966
--- /dev/null
@@ -0,0 +1,999 @@
+<html>
+<head>
+    <title>Evas: Object Method Interceptors</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Object Method Interceptors<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Evas provides a way to intercept method calls.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga3d80ec058c8c41638c8cc969be4d2920">evas_object_intercept_show_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Show_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the callback function that intercepts a show event of a object.  <a href="#ga3d80ec058c8c41638c8cc969be4d2920"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga4816b582c3187aaad1644d2b93058e5e">evas_object_intercept_show_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Show_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unset the callback function that intercepts a show event of a object.  <a href="#ga4816b582c3187aaad1644d2b93058e5e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga22e8baa1ef7a1607f8f28dac68a1f082">evas_object_intercept_hide_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Hide_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the callback function that intercepts a hide event of a object.  <a href="#ga22e8baa1ef7a1607f8f28dac68a1f082"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga6586e236a6184486198775ab763e3f3c">evas_object_intercept_hide_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Hide_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unset the callback function that intercepts a hide event of a object.  <a href="#ga6586e236a6184486198775ab763e3f3c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga08de22649a49981f9e10bf0da91a3ea6">evas_object_intercept_move_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Move_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the callback function that intercepts a move event of a object.  <a href="#ga08de22649a49981f9e10bf0da91a3ea6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga74c91ac985423daab22a89c4399c1d1d">evas_object_intercept_move_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Move_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unset the callback function that intercepts a move event of a object.  <a href="#ga74c91ac985423daab22a89c4399c1d1d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gac2ff36ae29a8e23617426f29a0c1fcd5">evas_object_intercept_resize_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Resize_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gac2ff36ae29a8e23617426f29a0c1fcd5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga4e97fa796c926741eb36e8394cb165c3">evas_object_intercept_resize_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Resize_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga4e97fa796c926741eb36e8394cb165c3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga19d34b7aeb38e7461ffd4edbe53ed6de">evas_object_intercept_raise_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Raise_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga19d34b7aeb38e7461ffd4edbe53ed6de"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga506306fe87e6029c05900aa1d05f7738">evas_object_intercept_raise_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Raise_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga506306fe87e6029c05900aa1d05f7738"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga89af0b657cf6455d5f045a8635bda384">evas_object_intercept_lower_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Lower_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga89af0b657cf6455d5f045a8635bda384"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gabf2007804911fba837d08f40771b4407">evas_object_intercept_lower_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Lower_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gabf2007804911fba837d08f40771b4407"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga2312fa84e2a3e406fa3dfcdcad4508e4">evas_object_intercept_stack_above_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Stack_Above_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga2312fa84e2a3e406fa3dfcdcad4508e4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gae1bf65a8cd0cdca8de7dc8d2695e793d">evas_object_intercept_stack_above_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Stack_Above_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gae1bf65a8cd0cdca8de7dc8d2695e793d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga2ca3156882d8c75ff9f133d919de97a3">evas_object_intercept_stack_below_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Stack_Below_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga2ca3156882d8c75ff9f133d919de97a3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga3ea2c39efe906e667c7ee6ff3e495077">evas_object_intercept_stack_below_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Stack_Below_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga3ea2c39efe906e667c7ee6ff3e495077"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gad09f0dc01feadf931c7e28ec59c5a006">evas_object_intercept_layer_set_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Layer_Set_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gad09f0dc01feadf931c7e28ec59c5a006"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gaae557df24e79e6f5e297c58039769756">evas_object_intercept_layer_set_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Layer_Set_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaae557df24e79e6f5e297c58039769756"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gaa06bec22508d8a6e3d46a15ad9b9424b">evas_object_intercept_color_set_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Color_Set_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaa06bec22508d8a6e3d46a15ad9b9424b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gaea953f10b9d493808ed05f76070d9271">evas_object_intercept_color_set_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Color_Set_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaea953f10b9d493808ed05f76070d9271"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gac4f3f584515d02f663d32fb010bd4959">evas_object_intercept_clip_set_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Clip_Set_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gac4f3f584515d02f663d32fb010bd4959"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gab36329c91b46748f30c1bffb811f70ce">evas_object_intercept_clip_set_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Clip_Set_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gab36329c91b46748f30c1bffb811f70ce"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga608008f35ffb143afc70c7154530a2c5">evas_object_intercept_clip_unset_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Clip_Unset_Cb func, const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga608008f35ffb143afc70c7154530a2c5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Interceptors.html#gaa4985b2b46b9f0f3126856a343136286">evas_object_intercept_clip_unset_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Intercept_Clip_Unset_Cb func)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaa4985b2b46b9f0f3126856a343136286"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Evas provides a way to intercept method calls. </p>
+<p>The interceptor callback may opt to completely deny the call, or may check and change the parameters before continuing. The continuation of an intercepted call is done by calling the intercepted call again, from inside the interceptor callback. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gac4f3f584515d02f663d32fb010bd4959"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_clip_set_callback_add" ref="gac4f3f584515d02f663d32fb010bd4959" args="(Evas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_clip_set_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Clip_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gab36329c91b46748f30c1bffb811f70ce"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_clip_set_callback_del" ref="gab36329c91b46748f30c1bffb811f70ce" args="(Evas_Object *obj, Evas_Object_Intercept_Clip_Set_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_clip_set_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Clip_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga608008f35ffb143afc70c7154530a2c5"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_clip_unset_callback_add" ref="ga608008f35ffb143afc70c7154530a2c5" args="(Evas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_clip_unset_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Clip_Unset_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaa4985b2b46b9f0f3126856a343136286"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_clip_unset_callback_del" ref="gaa4985b2b46b9f0f3126856a343136286" args="(Evas_Object *obj, Evas_Object_Intercept_Clip_Unset_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_clip_unset_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Clip_Unset_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaa06bec22508d8a6e3d46a15ad9b9424b"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_color_set_callback_add" ref="gaa06bec22508d8a6e3d46a15ad9b9424b" args="(Evas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_color_set_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Color_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaea953f10b9d493808ed05f76070d9271"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_color_set_callback_del" ref="gaea953f10b9d493808ed05f76070d9271" args="(Evas_Object *obj, Evas_Object_Intercept_Color_Set_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_color_set_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Color_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga22e8baa1ef7a1607f8f28dac68a1f082"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_hide_callback_add" ref="ga22e8baa1ef7a1607f8f28dac68a1f082" args="(Evas_Object *obj, Evas_Object_Intercept_Hide_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_hide_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Hide_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the callback function that intercepts a hide event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given function to be the callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data passed to the callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a hide event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga6586e236a6184486198775ab763e3f3c" title="Unset the callback function that intercepts a hide event of a object.">evas_object_intercept_hide_callback_del()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6586e236a6184486198775ab763e3f3c"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_hide_callback_del" ref="ga6586e236a6184486198775ab763e3f3c" args="(Evas_Object *obj, Evas_Object_Intercept_Hide_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_hide_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Hide_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Unset the callback function that intercepts a hide event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a hide event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga22e8baa1ef7a1607f8f28dac68a1f082" title="Set the callback function that intercepts a hide event of a object.">evas_object_intercept_hide_callback_add()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad09f0dc01feadf931c7e28ec59c5a006"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_layer_set_callback_add" ref="gad09f0dc01feadf931c7e28ec59c5a006" args="(Evas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_layer_set_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Layer_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaae557df24e79e6f5e297c58039769756"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_layer_set_callback_del" ref="gaae557df24e79e6f5e297c58039769756" args="(Evas_Object *obj, Evas_Object_Intercept_Layer_Set_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_layer_set_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Layer_Set_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga89af0b657cf6455d5f045a8635bda384"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_lower_callback_add" ref="ga89af0b657cf6455d5f045a8635bda384" args="(Evas_Object *obj, Evas_Object_Intercept_Lower_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_lower_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Lower_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gabf2007804911fba837d08f40771b4407"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_lower_callback_del" ref="gabf2007804911fba837d08f40771b4407" args="(Evas_Object *obj, Evas_Object_Intercept_Lower_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_lower_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Lower_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga08de22649a49981f9e10bf0da91a3ea6"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_move_callback_add" ref="ga08de22649a49981f9e10bf0da91a3ea6" args="(Evas_Object *obj, Evas_Object_Intercept_Move_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_move_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Move_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the callback function that intercepts a move event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given function to be the callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data passed to the callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a move event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga74c91ac985423daab22a89c4399c1d1d" title="Unset the callback function that intercepts a move event of a object.">evas_object_intercept_move_callback_del()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga74c91ac985423daab22a89c4399c1d1d"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_move_callback_del" ref="ga74c91ac985423daab22a89c4399c1d1d" args="(Evas_Object *obj, Evas_Object_Intercept_Move_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_move_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Move_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Unset the callback function that intercepts a move event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a move event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga08de22649a49981f9e10bf0da91a3ea6" title="Set the callback function that intercepts a move event of a object.">evas_object_intercept_move_callback_add()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga19d34b7aeb38e7461ffd4edbe53ed6de"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_raise_callback_add" ref="ga19d34b7aeb38e7461ffd4edbe53ed6de" args="(Evas_Object *obj, Evas_Object_Intercept_Raise_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_raise_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Raise_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga506306fe87e6029c05900aa1d05f7738"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_raise_callback_del" ref="ga506306fe87e6029c05900aa1d05f7738" args="(Evas_Object *obj, Evas_Object_Intercept_Raise_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_raise_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Raise_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gac2ff36ae29a8e23617426f29a0c1fcd5"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_resize_callback_add" ref="gac2ff36ae29a8e23617426f29a0c1fcd5" args="(Evas_Object *obj, Evas_Object_Intercept_Resize_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_resize_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Resize_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga4e97fa796c926741eb36e8394cb165c3"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_resize_callback_del" ref="ga4e97fa796c926741eb36e8394cb165c3" args="(Evas_Object *obj, Evas_Object_Intercept_Resize_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_resize_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Resize_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3d80ec058c8c41638c8cc969be4d2920"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_show_callback_add" ref="ga3d80ec058c8c41638c8cc969be4d2920" args="(Evas_Object *obj, Evas_Object_Intercept_Show_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_show_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Show_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the callback function that intercepts a show event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given function to be the callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data passed to the callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a show event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga4816b582c3187aaad1644d2b93058e5e" title="Unset the callback function that intercepts a show event of a object.">evas_object_intercept_show_callback_del()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4816b582c3187aaad1644d2b93058e5e"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_show_callback_del" ref="ga4816b582c3187aaad1644d2b93058e5e" args="(Evas_Object *obj, Evas_Object_Intercept_Show_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_show_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Show_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Unset the callback function that intercepts a show event of a object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The given callback function.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a callback function to intercepts a show event of a canvas object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Interceptors.html#ga3d80ec058c8c41638c8cc969be4d2920" title="Set the callback function that intercepts a show event of a object.">evas_object_intercept_show_callback_add()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2312fa84e2a3e406fa3dfcdcad4508e4"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_stack_above_callback_add" ref="ga2312fa84e2a3e406fa3dfcdcad4508e4" args="(Evas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_stack_above_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Stack_Above_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae1bf65a8cd0cdca8de7dc8d2695e793d"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_stack_above_callback_del" ref="gae1bf65a8cd0cdca8de7dc8d2695e793d" args="(Evas_Object *obj, Evas_Object_Intercept_Stack_Above_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_stack_above_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Stack_Above_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2ca3156882d8c75ff9f133d919de97a3"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_stack_below_callback_add" ref="ga2ca3156882d8c75ff9f133d919de97a3" args="(Evas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func, const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_intercept_stack_below_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Stack_Below_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3ea2c39efe906e667c7ee6ff3e495077"></a><!-- doxytag: member="evas_object_intercept.c::evas_object_intercept_stack_below_callback_del" ref="ga3ea2c39efe906e667c7ee6ff3e495077" args="(Evas_Object *obj, Evas_Object_Intercept_Stack_Below_Cb func)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_intercept_stack_below_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Intercept_Stack_Below_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Group__Map.html b/doc/html/group__Evas__Object__Group__Map.html
new file mode 100644 (file)
index 0000000..86ad417
--- /dev/null
@@ -0,0 +1,134 @@
+<html>
+<head>
+    <title>Evas: UV Mapping (Rotation, Perspecitve, 3D...)</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a>  </div>
+  <div class="headertitle">
+<h1>UV Mapping (Rotation, Perspecitve, 3D...)<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Evas allows different transformations to be applied to all kinds of objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef struct _Evas_Map&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An opaque handle to map points.  <a href="#gae94fcea124ae4135e8bb15a014b334dc"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Evas allows different transformations to be applied to all kinds of objects. </p>
+<p>These are applied by means of UV mapping.</p>
+<p>With UV mapping, one maps points in the source object to a 3D space positioning at target. This allows rotation, perspective, scale and lots of other effects, depending on the map that is used.</p>
+<p>Each map point may carry a multiplier color. If properly calculated, these can do shading effects on the object, producing 3D effects.</p>
+<p>As usual, Evas provides both the raw and easy to use methods. The raw methods allow developer to create its maps somewhere else, maybe load them from some file format. The easy to use methods, calculate the points given some high-level parameters, such as rotation angle, ambient light and so on.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>applying mapping will reduce performance, so use with care. The impact on performance depends on engine in use. Software is quite optimized, but not as fast as OpenGL. </dd></dl>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="gae94fcea124ae4135e8bb15a014b334dc"></a><!-- doxytag: member="Evas.h::Evas_Map" ref="gae94fcea124ae4135e8bb15a014b334dc" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="group__Evas__Object__Group__Map.html#gae94fcea124ae4135e8bb15a014b334dc">Evas_Map</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>An opaque handle to map points. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="Evas_8h.html#a719acc4f4792236f7031664ec450b399" title="Create map of transformation points to be later used with an evas object.">evas_map_new()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a78ecdf799f326e1c17aae6770c06058a" title="Free a previously allocated map.">evas_map_free()</a> </dd>
+<dd>
+<a class="el" href="Evas_8h.html#a25ffe0dd36fed0c9c492d636b163390a" title="Copy a previously allocated map.">evas_map_dup()</a> </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Group__Size__Hints.html b/doc/html/group__Evas__Object__Group__Size__Hints.html
new file mode 100644 (file)
index 0000000..8076995
--- /dev/null
@@ -0,0 +1,818 @@
+<html>
+<head>
+    <title>Evas: Size Hints</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Size Hints<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Objects may carry hints so another object that acts as a manager (see <a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>) may know how to properly position and resize the object.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga8f1430ec1cce66ee7763fbac7927f55e">evas_object_size_hint_min_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size hint for the minimum size.  <a href="#ga8f1430ec1cce66ee7763fbac7927f55e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga373fc149848dd782ac942e4b5751eb4b">evas_object_size_hint_min_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size hint for the minimum size.  <a href="#ga373fc149848dd782ac942e4b5751eb4b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga868180db80ed59bfd7ebdc3dd71bb59a">evas_object_size_hint_max_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size hint for the maximum size.  <a href="#ga868180db80ed59bfd7ebdc3dd71bb59a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga2a224fd6c4fc231af281af59c5a604b2">evas_object_size_hint_max_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size hint for the maximum size.  <a href="#ga2a224fd6c4fc231af281af59c5a604b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga6a7de6942258ab03a6e85b37f569895d">evas_object_size_hint_request_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size request hint.  <a href="#ga6a7de6942258ab03a6e85b37f569895d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gace0177af29ccbf1a60415f2c4c85c1f4">evas_object_size_hint_request_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the requested size hint.  <a href="#gace0177af29ccbf1a60415f2c4c85c1f4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga7b31c73dcbf60cdafe6ad7ffae42a54c">evas_object_size_hint_aspect_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size aspect control hint.  <a href="#ga7b31c73dcbf60cdafe6ad7ffae42a54c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gadb36ccc851e48ae2a11a6e2cb7fcb273">evas_object_size_hint_aspect_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size aspect control hint.  <a href="#gadb36ccc851e48ae2a11a6e2cb7fcb273"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gaff2802d3169b29a786f9b39be3f474bb">evas_object_size_hint_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double *x, double *y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size align control hint.  <a href="#gaff2802d3169b29a786f9b39be3f474bb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga156cf1921d0be0d7dcf4d6f93daf010f">evas_object_size_hint_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double x, double y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size align control hint.  <a href="#ga156cf1921d0be0d7dcf4d6f93daf010f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga66f88dc981e7c0af05822c583e03fabb">evas_object_size_hint_weight_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double *x, double *y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size weight control hint.  <a href="#ga66f88dc981e7c0af05822c583e03fabb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#gabb010d4e7a8772b1785185d89a1a6b98">evas_object_size_hint_weight_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double x, double y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size weight control hint.  <a href="#gabb010d4e7a8772b1785185d89a1a6b98"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga81b821793f451c648052cf7d6cfe6dd4">evas_object_size_hint_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size padding control hint.  <a href="#ga81b821793f451c648052cf7d6cfe6dd4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Group__Size__Hints.html#ga0014a3016d34071d41d76785a963fcb1">evas_object_size_hint_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size padding control hint.  <a href="#ga0014a3016d34071d41d76785a963fcb1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Objects may carry hints so another object that acts as a manager (see <a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>) may know how to properly position and resize the object. </p>
+<p>The Size Hints provide a common interface that is recommended as the protocol for such information. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaff2802d3169b29a786f9b39be3f474bb"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_align_get" ref="gaff2802d3169b29a786f9b39be3f474bb" args="(const Evas_Object *obj, double *x, double *y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_align_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size align control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>x</code> or <code>y</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Pointer to a double in which to store the align x. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Pointer to a double in which to store the align y. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga156cf1921d0be0d7dcf4d6f93daf010f"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_align_set" ref="ga156cf1921d0be0d7dcf4d6f93daf010f" args="(Evas_Object *obj, double x, double y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_align_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size align control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Accepted values are in the 0.0 to 1.0 range, with the special value -1.0 used to specify "justify" or "fill" by some users. See documentation of possible users.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Double (0.0..1.0 or -1.0) to use as align x hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Double (0.0..1.0 or -1.0) to use as align y hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7b31c73dcbf60cdafe6ad7ffae42a54c"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_aspect_get" ref="ga7b31c73dcbf60cdafe6ad7ffae42a54c" args="(const Evas_Object *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_aspect_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Aspect_Control *&nbsp;</td>
+          <td class="paramname"> <em>aspect</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size aspect control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>aspect</code>, <code>w</code> or <code>h</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>aspect</em>&nbsp;</td><td>Returns the hint on how size should be calculated. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the aspect width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the aspect height. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gadb36ccc851e48ae2a11a6e2cb7fcb273"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_aspect_set" ref="gadb36ccc851e48ae2a11a6e2cb7fcb273" args="(Evas_Object *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_aspect_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Aspect_Control&nbsp;</td>
+          <td class="paramname"> <em>aspect</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size aspect control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>aspect</em>&nbsp;</td><td>Hint on how to calculate size. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Integer to use as aspect width hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Integer to use as aspect height hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga868180db80ed59bfd7ebdc3dd71bb59a"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_max_get" ref="ga868180db80ed59bfd7ebdc3dd71bb59a" args="(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_max_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size hint for the maximum size. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>w</code> or <code>h</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the maximum width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the maximum height. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2a224fd6c4fc231af281af59c5a604b2"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_max_set" ref="ga2a224fd6c4fc231af281af59c5a604b2" args="(Evas_Object *obj, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_max_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size hint for the maximum size. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Value -1 is considered unset.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Integer to use as the maximum width hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Integer to use as the maximum height hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8f1430ec1cce66ee7763fbac7927f55e"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_min_get" ref="ga8f1430ec1cce66ee7763fbac7927f55e" args="(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_min_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size hint for the minimum size. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>w</code> or <code>h</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the minimum width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the minimum height. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, and <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga373fc149848dd782ac942e4b5751eb4b"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_min_set" ref="ga373fc149848dd782ac942e4b5751eb4b" args="(Evas_Object *obj, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_min_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size hint for the minimum size. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Value 0 is considered unset.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Integer to use as the minimum width hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Integer to use as the minimum height hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga81b821793f451c648052cf7d6cfe6dd4"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_padding_get" ref="ga81b821793f451c648052cf7d6cfe6dd4" args="(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_padding_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size padding control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>l</code>, <code>r</code>, <code>t</code> or <code>b</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>Pointer to an integer in which to store left padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>Pointer to an integer in which to store right padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>Pointer to an integer in which to store top padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Pointer to an integer in which to store bottom padding. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga99ee061972f53fb7d9213d586c29cc8d">evas_object_box_layout_flow_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa6e0bf47f84d7bb1b2439f4b6123e7d7">evas_object_box_layout_flow_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gac4478016783bad6d2170571a11a23e21">evas_object_box_layout_homogeneous_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gab9e441a27ebe6253ef1b9d6d25ee9bc4">evas_object_box_layout_homogeneous_max_size_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gabccbf4cf59018eac96c9281576b61abf">evas_object_box_layout_homogeneous_max_size_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa860afd56866955550ae650464d2dc9a">evas_object_box_layout_homogeneous_vertical()</a>, <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, <a class="el" href="group__Evas__Object__Box.html#gae40153d3702dcb79f2587364cde2fb7b">evas_object_box_layout_stack()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0014a3016d34071d41d76785a963fcb1"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_padding_set" ref="ga0014a3016d34071d41d76785a963fcb1" args="(Evas_Object *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_padding_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size padding control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>Integer to specify left padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>Integer to specify right padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>Integer to specify top padding. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Integer to specify bottom padding. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6a7de6942258ab03a6e85b37f569895d"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_request_get" ref="ga6a7de6942258ab03a6e85b37f569895d" args="(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_request_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size request hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>w</code> or <code>h</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Pointer to an integer in which to store the requested width. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Pointer to an integer in which to store the requested height. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gace0177af29ccbf1a60415f2c4c85c1f4"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_request_set" ref="gace0177af29ccbf1a60415f2c4c85c1f4" args="(Evas_Object *obj, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_request_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the requested size hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Value 0 is considered unset.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Integer to use as the preferred width hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Integer to use as the preferred height hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga66f88dc981e7c0af05822c583e03fabb"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_weight_get" ref="ga66f88dc981e7c0af05822c583e03fabb" args="(const Evas_Object *obj, double *x, double *y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_weight_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double *&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size weight control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<p>Note that if any of <code>x</code> or <code>y</code> are <code>NULL</code>, the <code>NULL</code> parameters are ignored.</p>
+<p>Accepted values are zero or positive values. Some users might use this hint as a boolean, but some might consider it as a proportion, see documentation of possible users.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Pointer to a double in which to store the weight x. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Pointer to a double in which to store the weight y. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gaabb841838ce9c05f6b99350d15b76aaf">evas_object_box_layout_horizontal()</a>, and <a class="el" href="group__Evas__Object__Box.html#ga1e102aa54789b74f54944c17d0a880db">evas_object_box_layout_vertical()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabb010d4e7a8772b1785185d89a1a6b98"></a><!-- doxytag: member="evas_object_main.c::evas_object_size_hint_weight_set" ref="gabb010d4e7a8772b1785185d89a1a6b98" args="(Evas_Object *obj, double x, double y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_size_hint_weight_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size weight control hint. </p>
+<p>This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Double (0.0-1.0) to use as weight x hint. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Double (0.0-1.0) to use as weight y hint. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Image.html b/doc/html/group__Evas__Object__Image.html
new file mode 100644 (file)
index 0000000..3df48e5
--- /dev/null
@@ -0,0 +1,2398 @@
+<html>
+<head>
+    <title>Evas: Image Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Image Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions used to create and manipulate image objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Colorspaces for pixel data supported by Evas.  <a href="#ga8c6e60db9c8b83b155ccea52957ff656"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a> { <br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254">EVAS_COLORSPACE_ARGB8888</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636">EVAS_COLORSPACE_YCBCR422P601_PL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22">EVAS_COLORSPACE_YCBCR422P709_PL</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729">EVAS_COLORSPACE_RGB565_A5P</a>, 
+<br/>
+&nbsp;&nbsp;<a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0">EVAS_COLORSPACE_GRY8</a>
+<br/>
+ }</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Colorspaces for pixel data supported by Evas. </p>
+ <a href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce">evas_object_image_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new image object on the given evas.  <a href="#gae2bf7d73874a8b11ac4d7cb3bf2476ce"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">evas_object_image_filled_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new image object that automatically scales on the given evas.  <a href="#ga2e4275b1aee95e338ffa8b39e81f4eee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga58846bf7f00892e6985264ea2681d73a">evas_object_image_memfile_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data, int size, char *format, char *key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the data for an image from memory to be loaded.  <a href="#ga58846bf7f00892e6985264ea2681d73a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">evas_object_image_file_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *file, const char *key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the filename and key of the given image object.  <a href="#ga70f63c055b2e248089e761f5c0f78a0f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga0c3b22438934db6f2b53a30ddd71ef1a">evas_object_image_file_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char **file, const char **key)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the filename and key of the given image object.  <a href="#ga0c3b22438934db6f2b53a30ddd71ef1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">evas_object_image_source_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *src)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the source object on a proxy object.  <a href="#ga8f3b7eb8efaa3d77b9908a080b3d4c55"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga95a96ced932d6e7e17ee019654d9d901">evas_object_image_source_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current source object of an image.  <a href="#ga95a96ced932d6e7e17ee019654d9d901"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">evas_object_image_source_unset</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the source on a proxy image.  <a href="#gad667fc9de032eb39bf07e33ef0f4d81b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d">evas_object_image_border_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int l, int r, int t, int b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets how much of each border of the given image object is not to be scaled.  <a href="#ga6283aace5be077433bee45ec23ad072d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab666a37cbae8ee846cdeb518e7fd495c">evas_object_image_border_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *l, int *r, int *t, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves how much of each border of the given image object is not to be scaled.  <a href="#gab666a37cbae8ee846cdeb518e7fd495c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga4caf736585ad602e6748e434ac1f5fc6">evas_object_image_border_center_fill_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Border_Fill_Mode fill)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets if the center part of the given image object (not the border) should be drawn.  <a href="#ga4caf736585ad602e6748e434ac1f5fc6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Border_Fill_Mode&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga04f8a4f69c5ad37d9229e4c39bb7c010">evas_object_image_border_center_fill_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if the center of the given image object is to be drawn or not.  <a href="#ga04f8a4f69c5ad37d9229e4c39bb7c010"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool setting)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets if image fill property should track object size.  <a href="#gae304964ee6769e559ca452c788f5aae4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga3fbe9f33ccc93a5c45ffa3b26019694e">evas_object_image_filled_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves if image fill property is tracking object size.  <a href="#ga3fbe9f33ccc93a5c45ffa3b26019694e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0">evas_object_image_border_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double scale)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets a scale factor (multiplier) for the borders of an image.  <a href="#gaba00498563648d2d3934e7e75449abd0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga7cc1bf948a8a5d61c703211f0bd5d2dc">evas_object_image_border_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the border scale factor.  <a href="#ga7cc1bf948a8a5d61c703211f0bd5d2dc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">evas_object_image_fill_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the rectangle of the given image object that the image will be drawn to.  <a href="#ga7182040bc16e68d3bbce3bd0f8ee8034"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf1a7d6b8cf914234abdd5d3d3312f85e">evas_object_image_fill_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the dimensions of the rectangle of the given image object that the image will be drawn to.  <a href="#gaf1a7d6b8cf914234abdd5d3d3312f85e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga0015a660507a5562e118a1777947f881">evas_object_image_fill_spread_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a> spread)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the tiling mode for the given evas image object's fill.  <a href="#ga0015a660507a5562e118a1777947f881"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae86928005f983627c74dbaef6c0fbb0e">evas_object_image_fill_spread_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the spread (tiling mode) for the given image object's fill.  <a href="#gae86928005f983627c74dbaef6c0fbb0e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22">evas_object_image_size_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the size of the given image object.  <a href="#gaf85031267b5fab16874ebbf944dded22"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga43e6f1b16ebe859826e6901cb36995ad">evas_object_image_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *w, int *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the size of the given image object.  <a href="#ga43e6f1b16ebe859826e6901cb36995ad"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab72175381532640c620dd032e56c590b">evas_object_image_stride_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the row stride of the given image object,.  <a href="#gab72175381532640c620dd032e56c590b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga46e4a0b2b916d28694ad054549f88e24">evas_object_image_load_error_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves a number representing any error that occurred during the last load of the given image object.  <a href="#ga46e4a0b2b916d28694ad054549f88e24"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga3072cf7c31cf33057abd8ae8876218cd">evas_object_image_data_convert</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a> to_cspace)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the raw image data of the given image object to the specified colorspace.  <a href="#ga3072cf7c31cf33057abd8ae8876218cd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabdd65e4c69f422ddcf0d3c8720859a92">evas_object_image_data_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the raw image data of the given image object.  <a href="#gabdd65e4c69f422ddcf0d3c8720859a92"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2">evas_object_image_data_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool for_writing)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the raw image data of the given image object.  <a href="#gabe5883e22418071463f4ae97ca8885b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad6383022c4013008d11827b32bf63d59">evas_object_image_preload</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool cancel)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Preload image in the background.  <a href="#gad6383022c4013008d11827b32bf63d59"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga97d17b8d95f0ca01a264a6c303d00c27">evas_object_image_data_copy_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replaces the raw image data of the given image object.  <a href="#ga97d17b8d95f0ca01a264a6c303d00c27"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165">evas_object_image_data_update_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int x, int y, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark a sub-region of the given image object to be redrawn.  <a href="#gab6b763271781a2ab35f5849f6564e165"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">evas_object_image_alpha_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool has_alpha)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable or disable alpha channel of the given image object.  <a href="#gadf2df4027a211db3f9a1fb21f248d7fb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gac136f7f65d8529427b1f6da055b47a30">evas_object_image_alpha_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the alpha channel setting of the given image object.  <a href="#gac136f7f65d8529427b1f6da055b47a30"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510">evas_object_image_smooth_scale_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool smooth_scale)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets whether to use of high-quality image scaling algorithm of the given image object.  <a href="#ga670a0cf9176882f0ad339ccb4f37f510"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae4acc1da719cb38122b92527df24388c">evas_object_image_smooth_scale_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given image object is using use a high-quality image scaling algorithm.  <a href="#gae4acc1da719cb38122b92527df24388c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga764bec190c0812f61f5a18f38c9c6a4e">evas_object_image_reload</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reload a image of the canvas.  <a href="#ga764bec190c0812f61f5a18f38c9c6a4e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga68eee07a73dc2f5dc529970f5a1634c4">evas_object_image_save</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *file, const char *key, const char *flags)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Save the given image object to a file.  <a href="#ga68eee07a73dc2f5dc529970f5a1634c4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad87ced373138180afff4756fded5a4f3">evas_object_image_pixels_import</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#abb01076af16fbb50a837b1893b776783">Evas_Pixel_Import_Source</a> *pixels)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Import pixels from given source to a given canvas image object.  <a href="#gad87ced373138180afff4756fded5a4f3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga1602f8906760b1c871b84b4a287a52db">evas_object_image_pixels_get_callback_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the callback function to get pixels from a canva's image.  <a href="#ga1602f8906760b1c871b84b4a287a52db"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad230eeeb0c6ba49eafd32b20afa314cb">evas_object_image_pixels_dirty_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool dirty)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark whether the given image object is dirty (needs to be redrawn).  <a href="#gad230eeeb0c6ba49eafd32b20afa314cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga1d9e82da12f7831552fca02b9b313551">evas_object_image_pixels_dirty_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves whether the given image object is dirty (needs to be redrawn).  <a href="#ga1d9e82da12f7831552fca02b9b313551"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga88a20331cef0267ddc1d00419841580b">evas_object_image_load_dpi_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double dpi)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the dpi resolution of a loaded image of the canvas.  <a href="#ga88a20331cef0267ddc1d00419841580b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga92a5503085a5c0731bb9c299e7b42f78">evas_object_image_load_dpi_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the dpi resolution of a loaded image of the canvas.  <a href="#ga92a5503085a5c0731bb9c299e7b42f78"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga1811fb73c1e138b5221cf4b25148111a">evas_object_image_load_size_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the size of a loaded image of the canvas.  <a href="#ga1811fb73c1e138b5221cf4b25148111a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gae8047183e894e1e1245f1f3aaf78f218">evas_object_image_load_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *w, int *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the size of a loaded image of the canvas.  <a href="#gae8047183e894e1e1245f1f3aaf78f218"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga59796713b88c217ce5869cb003e404c0">evas_object_image_load_scale_down_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int scale_down)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the scale down of a loaded image of the canvas.  <a href="#ga59796713b88c217ce5869cb003e404c0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga259c48b3e2a4009e8a10f8e9874d3847">evas_object_image_load_scale_down_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the scale down value of given image of the canvas.  <a href="#ga259c48b3e2a4009e8a10f8e9874d3847"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gac352f7b110d7e527bf2d36fba5507d0c">evas_object_image_colorspace_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a> cspace)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the colorspace of a given image of the canvas.  <a href="#gac352f7b110d7e527bf2d36fba5507d0c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42">evas_object_image_colorspace_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the colorspace of a given image of the canvas.  <a href="#gaa59339b6adb32081383fa5540641eb42"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gacbe4ec46460fd3321dd4f6161f09bbed">evas_object_image_native_surface_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a> *surf)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the native surface of a given image of the canvas.  <a href="#gacbe4ec46460fd3321dd4f6161f09bbed"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gabd3effabde6da00dfcac7cf0cfa22280">evas_object_image_native_surface_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the native surface of a given image of the canvas.  <a href="#gabd3effabde6da00dfcac7cf0cfa22280"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gad13d32b74c2cd82c95b85fa9640ae529">evas_object_image_scale_hint_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Image_Scale_Hint hint)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the scale hint of a given image of the canvas.  <a href="#gad13d32b74c2cd82c95b85fa9640ae529"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Image_Scale_Hint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga8cce0086819196768915e5f2c2ed0cb2">evas_object_image_scale_hint_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the scale hint of a given image of the canvas.  <a href="#ga8cce0086819196768915e5f2c2ed0cb2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#gaf6cc0faf39773e12eb496116afd67c6f">evas_object_image_content_hint_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Image_Content_Hint hint)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the content hint of a given image of the canvas.  <a href="#gaf6cc0faf39773e12eb496116afd67c6f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga154d8315842f4602878704951705e6cb">evas_object_image_alpha_mask_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool ismask)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enable an image to be used as an alpha mask.  <a href="#ga154d8315842f4602878704951705e6cb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Image_Content_Hint&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html#ga28881040682dbbf00937948124e9f3fb">evas_object_image_content_hint_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the content hint of a given image of the canvas.  <a href="#ga28881040682dbbf00937948124e9f3fb"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions used to create and manipulate image objects. </p>
+<p>Note - Image objects may return or accept "image data" in multiple formats. This is based on the colorspace of an object. Here is a rundown on formats:</p>
+<p>EVAS_COLORSPACE_ARGB8888:</p>
+<p>This pixel format is a linear block of pixels, starting at the top-left row by row until the bottom right of the image or pixel region. All pixels are 32-bit unsigned int's with the high-byte being alpha and the low byte being blue in the format ARGB. Alpha may or may not be used by evas depending on the alpha flag of the image, but if not used, should be set to 0xff anyway.</p>
+<p>This colorspace uses premultiplied alpha. That means that R, G and B cannot exceed A in value. The conversion from non-premultiplied colorspace is:</p>
+<p>R = (r * a) / 255; G = (g * a) / 255; B = (b * a) / 255;</p>
+<p>So 50% transparent blue will be: 0x80000080. This will not be "dark" - just 50% transparent. Values are 0 == black, 255 == solid or full red, green or blue.</p>
+<p>EVAS_COLORSPACE_YCBCR422P601_PL:</p>
+<p>This is a pointer-list indirected set of YUV (YCbCr) pixel data. This means that the data returned or set is not actual pixel data, but pointers TO lines of pixel data. The list of pointers will first be N rows of pointers to the Y plane - pointing to the first pixel at the start of each row in the Y plane. N is the height of the image data in pixels. Each pixel in the Y, U and V planes is 1 byte exactly, packed. The next N / 2 pointers will point to rows in the U plane, and the next N / 2 pointers will point to the V plane rows. U and V planes are half the horizontal and vertical resolution of the Y plane.</p>
+<p>Row order is top to bottom and row pixels are stored left to right.</p>
+<p>There is a limitation that these images MUST be a multiple of 2 pixels in size horizontally or vertically. This is due to the U and V planes being half resolution. Also note that this assumes the itu601 YUV colorspace specification. This is defined for standard television and mpeg streams. HDTV may use the itu709 specification.</p>
+<p>Values are 0 to 255, indicating full or no signal in that plane respectively.</p>
+<p>EVAS_COLORSPACE_YCBCR422P709_PL:</p>
+<p>Not implemented yet.</p>
+<p>EVAS_COLORSPACE_RGB565_A5P:</p>
+<p>In the process of being implemented in 1 engine only. This may change.</p>
+<p>This is a pointer to image data for 16-bit half-word pixel data in 16bpp RGB 565 format (5 bits red, 6 bits green, 5 bits blue), with the high-byte containing red and the low byte containing blue, per pixel. This data is packed row by row from the top-left to the bottom right.</p>
+<p>If the image has an alpha channel enabled there will be an extra alpha plane after the color pixel plane. If not, then this data will not exist and should not be accessed in any way. This plane is a set of pixels with 1 byte per pixel defining the alpha values of all pixels in the image from the top-left to the bottom right of the image, row by row. Even though the values of the alpha pixels can be 0 to 255, only values 0 through to 32 are used, 32 being solid and 0 being transparent.</p>
+<p>RGB values can be 0 to 31 for red and blue and 0 to 63 for green, with 0 being black and 31 or 63 being full red, green or blue respectively. This colorspace is also pre-multiplied like EVAS_COLORSPACE_ARGB8888 so:</p>
+<p>R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32;</p>
+<p>EVAS_COLORSPACE_A8:</p>
+<p>The image is just a alpha mask (8 bit's per pixel). This is used for alpha masking. </p>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga8c6e60db9c8b83b155ccea52957ff656"></a><!-- doxytag: member="Evas.h::Evas_Colorspace" ref="ga8c6e60db9c8b83b155ccea52957ff656" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a>  <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Colorspaces for pixel data supported by Evas. </p>
+<p>Colorspaces for pixel data supported by Evas </p>
+
+</div>
+</div>
+<hr/><h2>Enumeration Type Documentation</h2>
+<a class="anchor" id="ga84ff1db3d33d85c86d81dbe9046b54bb"></a><!-- doxytag: member="Evas.h::_Evas_Colorspace" ref="ga84ff1db3d33d85c86d81dbe9046b54bb" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">enum <a class="el" href="group__Evas__Object__Image.html#ga84ff1db3d33d85c86d81dbe9046b54bb">_Evas_Colorspace</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Colorspaces for pixel data supported by Evas. </p>
+<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
+<tr><td valign="top"><em><a class="anchor" id="gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254"></a><!-- doxytag: member="EVAS_COLORSPACE_ARGB8888" ref="gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254" args="" -->EVAS_COLORSPACE_ARGB8888</em>&nbsp;</td><td>
+<p>ARGB 32 bits per pixel, high-byte is Alpha, accessed 1 32bit word at a time. </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636"></a><!-- doxytag: member="EVAS_COLORSPACE_YCBCR422P601_PL" ref="gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636" args="" -->EVAS_COLORSPACE_YCBCR422P601_PL</em>&nbsp;</td><td>
+<p>YCbCr 4:2:2 Planar, ITU.BT-601 specifications. </p>
+<p>The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22"></a><!-- doxytag: member="EVAS_COLORSPACE_YCBCR422P709_PL" ref="gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22" args="" -->EVAS_COLORSPACE_YCBCR422P709_PL</em>&nbsp;</td><td>
+<p>YCbCr 4:2:2 Planar, ITU.BT-709 specifications. </p>
+<p>The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729"></a><!-- doxytag: member="EVAS_COLORSPACE_RGB565_A5P" ref="gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729" args="" -->EVAS_COLORSPACE_RGB565_A5P</em>&nbsp;</td><td>
+<p>16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte </p>
+</td></tr>
+<tr><td valign="top"><em><a class="anchor" id="gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0"></a><!-- doxytag: member="EVAS_COLORSPACE_GRY8" ref="gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0" args="" -->EVAS_COLORSPACE_GRY8</em>&nbsp;</td><td>
+<p>8bit grayscale </p>
+</td></tr>
+</table>
+</dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gae2bf7d73874a8b11ac4d7cb3bf2476ce"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_add" ref="gae2bf7d73874a8b11ac4d7cb3bf2476ce" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_image_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new image object on the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The created image object. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">evas_object_image_filled_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac136f7f65d8529427b1f6da055b47a30"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_alpha_get" ref="gac136f7f65d8529427b1f6da055b47a30" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_alpha_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the alpha channel setting of the given image object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the alpha channel data is being used.</dd></dl>
+<p>This function returns 1 if the image object's alpha channel is being used, or 0 otherwise.</p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">evas_object_image_alpha_set</a> for more details. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga154d8315842f4602878704951705e6cb"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_alpha_mask_set" ref="ga154d8315842f4602878704951705e6cb" args="(Evas_Object *obj, Eina_Bool ismask)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_alpha_mask_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>ismask</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Enable an image to be used as an alpha mask. </p>
+<p>This will set any flags, and discard any excess image data not used as an alpha mask.</p>
+<p>Note there is little point in using a image as alpha mask unless it has an alpha channel.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Object to use as an alpha mask. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ismask</em>&nbsp;</td><td>Use image as alphamask, must be true. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gadf2df4027a211db3f9a1fb21f248d7fb"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_alpha_set" ref="gadf2df4027a211db3f9a1fb21f248d7fb" args="(Evas_Object *obj, Eina_Bool has_alpha)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_alpha_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>has_alpha</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Enable or disable alpha channel of the given image object. </p>
+<p>This function sets a flag on an image object indicating whether or not to use alpha channel data. A value of 1 indicates to use alpha channel data, and 0 indicates to ignore any alpha channel data. Note that this has nothing to do with an object's color as manipulated by <a class="el" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set()</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>has_alpha</em>&nbsp;</td><td>Whether to use alpha channel data or not. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#gab6b763271781a2ab35f5849f6564e165">evas_object_image_data_update_add()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#ga58846bf7f00892e6985264ea2681d73a">evas_object_image_memfile_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga04f8a4f69c5ad37d9229e4c39bb7c010"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_center_fill_get" ref="ga04f8a4f69c5ad37d9229e4c39bb7c010" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Border_Fill_Mode evas_object_image_border_center_fill_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves if the center of the given image object is to be drawn or not. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">evas_object_image_fill_set</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Fill mode of the center. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4caf736585ad602e6748e434ac1f5fc6"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_center_fill_set" ref="ga4caf736585ad602e6748e434ac1f5fc6" args="(Evas_Object *obj, Evas_Border_Fill_Mode fill)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_border_center_fill_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Border_Fill_Mode&nbsp;</td>
+          <td class="paramname"> <em>fill</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets if the center part of the given image object (not the border) should be drawn. </p>
+<p>When rendering, the image may be scaled to fit the size of the image object. This function sets if the center part of the scaled image is to be drawn or left completely blank, or forced to be solid. Very useful for frames and decorations.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fill</em>&nbsp;</td><td>Fill mode of the middle. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gab666a37cbae8ee846cdeb518e7fd495c"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_get" ref="gab666a37cbae8ee846cdeb518e7fd495c" args="(const Evas_Object *obj, int *l, int *r, int *t, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_border_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves how much of each border of the given image object is not to be scaled. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#ga6283aace5be077433bee45ec23ad072d">evas_object_image_border_set</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>Location to store the left border width in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>Location to store the right border width in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>Location to store the top border width in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Location to store the bottom border width in, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7cc1bf948a8a5d61c703211f0bd5d2dc"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_scale_get" ref="ga7cc1bf948a8a5d61c703211f0bd5d2dc" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double evas_object_image_border_scale_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the border scale factor. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gaba00498563648d2d3934e7e75449abd0" title="Sets a scale factor (multiplier) for the borders of an image.">evas_object_image_border_scale_set()</a></p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The scale factor </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaba00498563648d2d3934e7e75449abd0"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_scale_set" ref="gaba00498563648d2d3934e7e75449abd0" args="(Evas_Object *obj, double scale)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_border_scale_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>scale</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets a scale factor (multiplier) for the borders of an image. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>scale</em>&nbsp;</td><td>The scale factor (default is 1.0 - i.e. no scale) </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6283aace5be077433bee45ec23ad072d"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_border_set" ref="ga6283aace5be077433bee45ec23ad072d" args="(Evas_Object *obj, int l, int r, int t, int b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_border_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets how much of each border of the given image object is not to be scaled. </p>
+<p>When rendering, the image may be scaled to fit the size of the image object. This function sets what area around the border of the image is not to be scaled. This sort of function is useful for widget theming, where, for example, buttons may be of varying sizes, but the border size must remain constant.</p>
+<p>The units used for <code>l</code>, <code>r</code>, <code>t</code> and <code>b</code> are output units.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>Distance of the left border that is not to be stretched. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>Distance of the right border that is not to be stretched. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>Distance of the top border that is not to be stretched. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>Distance of the bottom border that is not to be stretched. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa59339b6adb32081383fa5540641eb42"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_colorspace_get" ref="gaa59339b6adb32081383fa5540641eb42" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a> evas_object_image_colorspace_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the colorspace of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The colorspace of the image.</dd></dl>
+<p>This function returns the colorspace of given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="gac352f7b110d7e527bf2d36fba5507d0c"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_colorspace_set" ref="gac352f7b110d7e527bf2d36fba5507d0c" args="(Evas_Object *obj, Evas_Colorspace cspace)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_colorspace_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a>&nbsp;</td>
+          <td class="paramname"> <em>cspace</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the colorspace of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cspace</em>&nbsp;</td><td>The new color space.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets the colorspace of given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga28881040682dbbf00937948124e9f3fb"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_content_hint_get" ref="ga28881040682dbbf00937948124e9f3fb" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Image_Content_Hint evas_object_image_content_hint_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the content hint of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the content hint value of the given image of the canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaf6cc0faf39773e12eb496116afd67c6f"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_content_hint_set" ref="gaf6cc0faf39773e12eb496116afd67c6f" args="(Evas_Object *obj, Evas_Image_Content_Hint hint)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_content_hint_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Image_Content_Hint&nbsp;</td>
+          <td class="paramname"> <em>hint</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the content hint of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hint</em>&nbsp;</td><td>The content hint value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets the content hint value of the given image of the canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3072cf7c31cf33057abd8ae8876218cd"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_data_convert" ref="ga3072cf7c31cf33057abd8ae8876218cd" args="(Evas_Object *obj, Evas_Colorspace to_cspace)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_image_data_convert </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Image.html#ga8c6e60db9c8b83b155ccea52957ff656">Evas_Colorspace</a>&nbsp;</td>
+          <td class="paramname"> <em>to_cspace</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Converts the raw image data of the given image object to the specified colorspace. </p>
+<p>Note that this function does not modify the raw image data. If the requested colorspace is the same as the image colorspace nothing is done and NULL is returned. You should use <a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42" title="Get the colorspace of a given image of the canvas.">evas_object_image_colorspace_get()</a> to check the current image colorspace.</p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gaa59339b6adb32081383fa5540641eb42">evas_object_image_colorspace_get</a>.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>to_cspace</em>&nbsp;</td><td>The colorspace to which the image raw data will be converted. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>data A newly allocated data in the format specified by to_cspace. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga97d17b8d95f0ca01a264a6c303d00c27"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_data_copy_set" ref="ga97d17b8d95f0ca01a264a6c303d00c27" args="(Evas_Object *obj, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_data_copy_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Replaces the raw image data of the given image object. </p>
+<p>This function lets the application replace an image object's internal pixel buffer with a user-allocated one. For best results, you should generally first call <a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22" title="Sets the size of the given image object.">evas_object_image_size_set()</a> with the width and height for the new buffer.</p>
+<p>This call is best suited for when you will be using image data with different dimensions than the existing image data, if any. If you only need to modify the existing image in some fashion, then using <a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2" title="Get a pointer to the raw image data of the given image object.">evas_object_image_data_get()</a> is probably what you are after.</p>
+<p>Note that the caller is responsible for freeing the buffer when finished with it, as user-set image data will not be automatically freed when the image object is deleted.</p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gabe5883e22418071463f4ae97ca8885b2">evas_object_image_data_get</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The raw data. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gabe5883e22418071463f4ae97ca8885b2"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_data_get" ref="gabe5883e22418071463f4ae97ca8885b2" args="(const Evas_Object *obj, Eina_Bool for_writing)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_image_data_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>for_writing</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get a pointer to the raw image data of the given image object. </p>
+<p>This function returns a pointer to an image object's internal pixel buffer, for reading only or read/write. If you request it for writing, the image will be marked dirty so that it gets redrawn at the next update.</p>
+<p>This is best suited when you want to modify an existing image, without changing its dimensions.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>for_writing</em>&nbsp;</td><td>Whether the data being retrieved will be modified. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The raw image data. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabdd65e4c69f422ddcf0d3c8720859a92"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_data_set" ref="gabdd65e4c69f422ddcf0d3c8720859a92" args="(Evas_Object *obj, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_data_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the raw image data of the given image object. </p>
+<p>Note that the raw data must be of the same size and colorspace of the image. If data is NULL the current image data will be freed.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The raw data, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gab6b763271781a2ab35f5849f6564e165"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_data_update_add" ref="gab6b763271781a2ab35f5849f6564e165" args="(Evas_Object *obj, int x, int y, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_data_update_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mark a sub-region of the given image object to be redrawn. </p>
+<p>This function schedules a particular rectangular region of an image object to be updated (redrawn) at the next render.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>X-offset of the region to be updated. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Y-offset of the region to be updated. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Width of the region to be updated. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Height of the region to be updated. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">evas_object_image_alpha_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0c3b22438934db6f2b53a30ddd71ef1a"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_file_get" ref="ga0c3b22438934db6f2b53a30ddd71ef1a" args="(const Evas_Object *obj, const char **file, const char **key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_file_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the filename and key of the given image object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>Location to store the image filename, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>Location to store the image key, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga70f63c055b2e248089e761f5c0f78a0f"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_file_set" ref="ga70f63c055b2e248089e761f5c0f78a0f" args="(Evas_Object *obj, const char *file, const char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_file_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the filename and key of the given image object. </p>
+<p>If the file supports multiple data stored in it as eet, you can specify the key to be used as the index of the image in this file.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The image filename. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The image key in file, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac">EVAS_LOAD_ERROR_NONE</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#ga58846bf7f00892e6985264ea2681d73a">evas_object_image_memfile_set()</a>, and <a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">evas_object_image_source_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf1a7d6b8cf914234abdd5d3d3312f85e"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_fill_get" ref="gaf1a7d6b8cf914234abdd5d3d3312f85e" args="(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_fill_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the dimensions of the rectangle of the given image object that the image will be drawn to. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">evas_object_image_fill_set</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>Location to store the X coordinate for the top left corner of the image in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>Location to store the Y coordinate for the top left corner of the image in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Location to store the width of the image in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Location to store the height of the image in, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7182040bc16e68d3bbce3bd0f8ee8034"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_fill_set" ref="ga7182040bc16e68d3bbce3bd0f8ee8034" args="(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_fill_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the rectangle of the given image object that the image will be drawn to. </p>
+<p>Note that the image will be tiled around this one rectangle. To have only one copy of the image drawn, <code>x</code> and <code>y</code> must be 0 and <code>w</code> and <code>h</code> need to be the width and height of the image object respectively.</p>
+<p>The default values for the fill parameters is <code>x</code> = 0, <code>y</code> = 0, <code>w</code> = 32 and <code>h</code> = 32.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate for the top left corner of the image. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate for the top left corner of the image. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width of the image. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height of the image. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae86928005f983627c74dbaef6c0fbb0e"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_fill_spread_get" ref="gae86928005f983627c74dbaef6c0fbb0e" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a> evas_object_image_fill_spread_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the spread (tiling mode) for the given image object's fill. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The current spread mode of the image object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga0015a660507a5562e118a1777947f881"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_fill_spread_set" ref="ga0015a660507a5562e118a1777947f881" args="(Evas_Object *obj, Evas_Fill_Spread spread)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_fill_spread_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a693bc9123af8452d9771c2a849b8805c">Evas_Fill_Spread</a>&nbsp;</td>
+          <td class="paramname"> <em>spread</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the tiling mode for the given evas image object's fill. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>spread</em>&nbsp;</td><td>One of EVAS_TEXTURE_REFLECT, EVAS_TEXTURE_REPEAT, EVAS_TEXTURE_RESTRICT, or EVAS_TEXTURE_PAD. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2e4275b1aee95e338ffa8b39e81f4eee"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_filled_add" ref="ga2e4275b1aee95e338ffa8b39e81f4eee" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_image_filled_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new image object that automatically scales on the given evas. </p>
+<p>This is a helper around <a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce" title="Creates a new image object on the given evas.">evas_object_image_add()</a> and <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4" title="Sets if image fill property should track object size.">evas_object_image_filled_set()</a>, it will track object resizes and apply <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a> with the new geometry.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce" title="Creates a new image object on the given evas.">evas_object_image_add()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4" title="Sets if image fill property should track object size.">evas_object_image_filled_set()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#gae2bf7d73874a8b11ac4d7cb3bf2476ce">evas_object_image_add()</a>, and <a class="el" href="group__Evas__Object__Image.html#gae304964ee6769e559ca452c788f5aae4">evas_object_image_filled_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3fbe9f33ccc93a5c45ffa3b26019694e"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_filled_get" ref="ga3fbe9f33ccc93a5c45ffa3b26019694e" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_filled_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves if image fill property is tracking object size. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 if it is tracking, 0 if not and evas_object_fill_set() must be called manually. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae304964ee6769e559ca452c788f5aae4"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_filled_set" ref="gae304964ee6769e559ca452c788f5aae4" args="(Evas_Object *obj, Eina_Bool setting)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_filled_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>setting</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets if image fill property should track object size. </p>
+<p>If set to true, then every <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize()</a> will automatically trigger call to <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a> with the new size so image will fill the whole object area.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>setting</em>&nbsp;</td><td>whether to follow object size.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee" title="Creates a new image object that automatically scales on the given evas.">evas_object_image_filled_add()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034" title="Sets the rectangle of the given image object that the image will be drawn to.">evas_object_image_fill_set()</a> </dd></dl>
+
+<p>References <a class="el" href="Evas_8h.html#a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21">EVAS_CALLBACK_RESIZE</a>, <a class="el" href="group__Evas__Object__Group__Events.html#ga0147a80fc21895dc40165f208ec8cf55">evas_object_event_callback_add()</a>, <a class="el" href="group__Evas__Object__Group__Events.html#ga270a967a4f0069e646e9a07c51e15863">evas_object_event_callback_del()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga5fa60c701af13dac5dd31071167309d2">evas_object_geometry_get()</a>, and <a class="el" href="group__Evas__Object__Image.html#ga7182040bc16e68d3bbce3bd0f8ee8034">evas_object_image_fill_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#ga2e4275b1aee95e338ffa8b39e81f4eee">evas_object_image_filled_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga92a5503085a5c0731bb9c299e7b42f78"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_dpi_get" ref="ga92a5503085a5c0731bb9c299e7b42f78" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double evas_object_image_load_dpi_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the dpi resolution of a loaded image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The dpi resolution of the given canvas image.</dd></dl>
+<p>This function returns the dpi resolution of given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga88a20331cef0267ddc1d00419841580b"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_dpi_set" ref="ga88a20331cef0267ddc1d00419841580b" args="(Evas_Object *obj, double dpi)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_load_dpi_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>dpi</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the dpi resolution of a loaded image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dpi</em>&nbsp;</td><td>The new dpi resolution.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function set the dpi resolution of a given loaded canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga46e4a0b2b916d28694ad054549f88e24"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_error_get" ref="ga46e4a0b2b916d28694ad054549f88e24" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a> evas_object_image_load_error_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves a number representing any error that occurred during the last load of the given image object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A value giving the last error that occurred. It should be one of the <code>EVAS_LOAD_ERROR_*</code> values. <code>EVAS_LOAD_ERROR_NONE</code> is returned if there was no error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga259c48b3e2a4009e8a10f8e9874d3847"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_scale_down_get" ref="ga259c48b3e2a4009e8a10f8e9874d3847" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_object_image_load_scale_down_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the scale down value of given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the scale down value of a given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga59796713b88c217ce5869cb003e404c0"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_scale_down_set" ref="ga59796713b88c217ce5869cb003e404c0" args="(Evas_Object *obj, int scale_down)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_load_scale_down_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>scale_down</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the scale down of a loaded image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>scale_down</em>&nbsp;</td><td>The scale to down value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets the scale down of a given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="gae8047183e894e1e1245f1f3aaf78f218"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_size_get" ref="gae8047183e894e1e1245f1f3aaf78f218" args="(const Evas_Object *obj, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_load_size_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the size of a loaded image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width of the canvas image given. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height of the canvas image given.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function get the size of the given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1811fb73c1e138b5221cf4b25148111a"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_load_size_set" ref="ga1811fb73c1e138b5221cf4b25148111a" args="(Evas_Object *obj, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_load_size_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the size of a loaded image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The new width of the canvas image given. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The new height of the canvas image given.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a new size for the given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga58846bf7f00892e6985264ea2681d73a"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_memfile_set" ref="ga58846bf7f00892e6985264ea2681d73a" args="(Evas_Object *obj, void *data, int size, char *format, char *key)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_memfile_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>size</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>format</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>key</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the data for an image from memory to be loaded. </p>
+<p>This is the same as <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f" title="Sets the filename and key of the given image object.">evas_object_image_file_set()</a> but the file to be loaded may exist at an address in memory (the data for the file, not the filename itself). The <code>data</code> at the address is copied and stored for future use, so no <code>data</code> needs to be kept after this call is made. It will be managed and freed for you when no longer needed. The <code>size</code> is limited to 2 gigabytes in size, and must be greater than 0. A NULL <code>data</code> pointer is also invalid. Set the filename to NULL to reset to empty state and have the image file data freed from memory using <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f" title="Sets the filename and key of the given image object.">evas_object_image_file_set()</a>.</p>
+<p>The <code>format</code> is optional (pass NULL if you don't need/use it). It is used to help Evas guess better which loader to use for the data. It may simply be the "extension" of the file as it would normally be on disk such as "jpg" or "png" or "gif" etc.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The image file data address </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>The size of the image file data in bytes </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>The format of the file (optional), or NULL if not needed </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The image key in file, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#gadf2df4027a211db3f9a1fb21f248d7fb">evas_object_image_alpha_set()</a>, and <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">evas_object_image_file_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabd3effabde6da00dfcac7cf0cfa22280"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_native_surface_get" ref="gabd3effabde6da00dfcac7cf0cfa22280" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a>* evas_object_image_native_surface_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the native surface of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The native surface of the given canvas image.</dd></dl>
+<p>This function returns the native surface of a given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="gacbe4ec46460fd3321dd4f6161f09bbed"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_native_surface_set" ref="gacbe4ec46460fd3321dd4f6161f09bbed" args="(Evas_Object *obj, Evas_Native_Surface *surf)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_native_surface_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#ae35ae0b7b909a9e956836b92d63b493d">Evas_Native_Surface</a> *&nbsp;</td>
+          <td class="paramname"> <em>surf</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the native surface of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>surf</em>&nbsp;</td><td>The new native surface.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets a native surface of a given canvas image. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1d9e82da12f7831552fca02b9b313551"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_pixels_dirty_get" ref="ga1d9e82da12f7831552fca02b9b313551" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_pixels_dirty_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves whether the given image object is dirty (needs to be redrawn). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Whether the image is dirty. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad230eeeb0c6ba49eafd32b20afa314cb"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_pixels_dirty_set" ref="gad230eeeb0c6ba49eafd32b20afa314cb" args="(Evas_Object *obj, Eina_Bool dirty)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_pixels_dirty_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>dirty</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mark whether the given image object is dirty (needs to be redrawn). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dirty</em>&nbsp;</td><td>Whether the image is dirty. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1602f8906760b1c871b84b4a287a52db"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_pixels_get_callback_set" ref="ga1602f8906760b1c871b84b4a287a52db" args="(Evas_Object *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_pixels_get_callback_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Object_Image_Pixels_Get_Cb&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the callback function to get pixels from a canva's image. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>The callback function. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data pointer to be passed to <em>func</em>.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This functions sets a function to be the callback function that get pixes from a image of the canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad87ced373138180afff4756fded5a4f3"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_pixels_import" ref="gad87ced373138180afff4756fded5a4f3" args="(Evas_Object *obj, Evas_Pixel_Import_Source *pixels)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_pixels_import </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#abb01076af16fbb50a837b1893b776783">Evas_Pixel_Import_Source</a> *&nbsp;</td>
+          <td class="paramname"> <em>pixels</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Import pixels from given source to a given canvas image object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pixels</em>&nbsp;</td><td>The pixel's source to be imported.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function imports pixels from a given source to a given canvas image. </p>
+
+<p>References <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a">EVAS_PIXEL_FORMAT_ARGB32</a>, and <a class="el" href="Evas_8h.html#a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8">EVAS_PIXEL_FORMAT_YUV420P_601</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad6383022c4013008d11827b32bf63d59"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_preload" ref="gad6383022c4013008d11827b32bf63d59" args="(Evas_Object *obj, Eina_Bool cancel)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_preload </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>cancel</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Preload image in the background. </p>
+<p>This function request the preload of the data image in the background. The worked is queued before being processed.</p>
+<p>If image data is already loaded, it will callback EVAS_CALLBACK_IMAGE_PRELOADED immediatelly and do nothing else.</p>
+<p>If cancel is set, it will remove the image from the workqueue.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cancel</em>&nbsp;</td><td>0 means add to the workqueue, 1 remove it. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga764bec190c0812f61f5a18f38c9c6a4e"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_reload" ref="ga764bec190c0812f61f5a18f38c9c6a4e" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_reload </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Reload a image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function reloads a image of the given canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga68eee07a73dc2f5dc529970f5a1634c4"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_save" ref="ga68eee07a73dc2f5dc529970f5a1634c4" args="(const Evas_Object *obj, const char *file, const char *key, const char *flags)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_save </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>file</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>key</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>flags</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Save the given image object to a file. </p>
+<p>Note that you should pass the filename extension when saving. If the file supports multiple data stored in it as eet, you can specify the key to be used as the index of the image in this file.</p>
+<p>You can specify some flags when saving the image. Currently acceptable flags are quality and compress. Eg.: "quality=100
+ compress=9"</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>file</em>&nbsp;</td><td>The filename to be used to save the image. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>key</em>&nbsp;</td><td>The image key in file, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>String containing the flags to be used. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254">EVAS_COLORSPACE_ARGB8888</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8cce0086819196768915e5f2c2ed0cb2"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_scale_hint_get" ref="ga8cce0086819196768915e5f2c2ed0cb2" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Image_Scale_Hint evas_object_image_scale_hint_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the scale hint of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the scale hint value of the given image of the canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad13d32b74c2cd82c95b85fa9640ae529"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_scale_hint_set" ref="gad13d32b74c2cd82c95b85fa9640ae529" args="(Evas_Object *obj, Evas_Image_Scale_Hint hint)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_scale_hint_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Image_Scale_Hint&nbsp;</td>
+          <td class="paramname"> <em>hint</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the scale hint of a given image of the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given canvas pointer. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>hint</em>&nbsp;</td><td>The scale hint value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function sets the scale hint value of the given image of the canvas. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga43e6f1b16ebe859826e6901cb36995ad"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_size_get" ref="ga43e6f1b16ebe859826e6901cb36995ad" args="(const Evas_Object *obj, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_size_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the size of the given image object. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#gaf85031267b5fab16874ebbf944dded22">evas_object_image_size_set</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>Location to store the width of the image in, or NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>Location to store the height of the image in, or NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf85031267b5fab16874ebbf944dded22"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_size_set" ref="gaf85031267b5fab16874ebbf944dded22" args="(Evas_Object *obj, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_size_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the size of the given image object. </p>
+<p>This function will scale down or crop the image so that it is treated as if it were at the given size. If the size given is smaller than the image, it will be cropped. If the size given is larger, then the image will be treated as if it were in the upper left hand corner of a larger image that is otherwise transparent.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The new width of the image. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The new height of the image. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gae4acc1da719cb38122b92527df24388c"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_smooth_scale_get" ref="gae4acc1da719cb38122b92527df24388c" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_smooth_scale_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves whether the given image object is using use a high-quality image scaling algorithm. </p>
+<p>See <a class="el" href="group__Evas__Object__Image.html#ga670a0cf9176882f0ad339ccb4f37f510">evas_object_image_smooth_scale_set</a> for more details.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Whether smooth scale is being used. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga670a0cf9176882f0ad339ccb4f37f510"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_smooth_scale_set" ref="ga670a0cf9176882f0ad339ccb4f37f510" args="(Evas_Object *obj, Eina_Bool smooth_scale)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_image_smooth_scale_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>smooth_scale</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets whether to use of high-quality image scaling algorithm of the given image object. </p>
+<p>When enabled, a higher quality image scaling algorithm is used when scaling images to sizes other than the source image. This gives better results but is more computationally expensive.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>smooth_scale</em>&nbsp;</td><td>Whether to use smooth scale or not. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga95a96ced932d6e7e17ee019654d9d901"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_source_get" ref="ga95a96ced932d6e7e17ee019654d9d901" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> * evas_object_image_source_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the current source object of an image. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Image object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Source object, or NULL on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8f3b7eb8efaa3d77b9908a080b3d4c55"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_source_set" ref="ga8f3b7eb8efaa3d77b9908a080b3d4c55" args="(Evas_Object *obj, Evas_Object *src)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_source_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>src</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the source object on a proxy object. </p>
+<p>The source must be another object. The proxy will have the same base appearance of the source object. Obviously other effects may be applied to the proxy, such as a map to create a reflection of the original object.</p>
+<p>Any existing source object will be removed. Setting the src to NULL clears the proxy object.</p>
+<p>You cannot set a proxy on a proxy.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Proxy object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>src</em>&nbsp;</td><td>Source of the proxy. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success, EINA_FALSE on error. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#ga70f63c055b2e248089e761f5c0f78a0f">evas_object_image_file_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Image.html#gad667fc9de032eb39bf07e33ef0f4d81b">evas_object_image_source_unset()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad667fc9de032eb39bf07e33ef0f4d81b"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_source_unset" ref="gad667fc9de032eb39bf07e33ef0f4d81b" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_image_source_unset </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Clear the source on a proxy image. </p>
+<p>This is equivalent to calling evas_object_image_source_set with a NULL source.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Image object to clear source of. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success, EINA_FALSE on error. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Image.html#ga8f3b7eb8efaa3d77b9908a080b3d4c55">evas_object_image_source_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab72175381532640c620dd032e56c590b"></a><!-- doxytag: member="evas_object_image.c::evas_object_image_stride_get" ref="gab72175381532640c620dd032e56c590b" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_object_image_stride_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the row stride of the given image object,. </p>
+<p>The row stride is the number of units between the start of a row and the start of the next row.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given image object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The stride of the image. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Polygon.html b/doc/html/group__Evas__Object__Polygon.html
new file mode 100644 (file)
index 0000000..c79b9d0
--- /dev/null
@@ -0,0 +1,214 @@
+<html>
+<head>
+    <title>Evas: Polygon Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Polygon Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that operate on evas polygon objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#gab6beb5b98de57a0f47707cac90f96bc9">evas_object_polygon_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a new evas polygon object to the given evas.  <a href="#gab6beb5b98de57a0f47707cac90f96bc9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#ga92cb2d99c88404307e30eed74688da76">evas_object_polygon_point_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds the given point to the given evas polygon object.  <a href="#ga92cb2d99c88404307e30eed74688da76"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html#ga6d559daf3a5eea36a275aaf3c76c8be2">evas_object_polygon_points_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes all of the points from the given evas polygon object.  <a href="#ga6d559daf3a5eea36a275aaf3c76c8be2"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that operate on evas polygon objects. </p>
+<p>Hint: as evas does not provide ellipse, smooth paths or circle, one can calculate points and convert these to a polygon. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gab6beb5b98de57a0f47707cac90f96bc9"></a><!-- doxytag: member="evas_object_polygon.c::evas_object_polygon_add" ref="gab6beb5b98de57a0f47707cac90f96bc9" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_polygon_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a new evas polygon object to the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A new evas polygon object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga92cb2d99c88404307e30eed74688da76"></a><!-- doxytag: member="evas_object_polygon.c::evas_object_polygon_point_add" ref="ga92cb2d99c88404307e30eed74688da76" args="(Evas_Object *obj, Evas_Coord x, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_polygon_point_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds the given point to the given evas polygon object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas polygon object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The X coordinate of the given point. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The Y coordinate of the given point. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6d559daf3a5eea36a275aaf3c76c8be2"></a><!-- doxytag: member="evas_object_polygon.c::evas_object_polygon_points_clear" ref="ga6d559daf3a5eea36a275aaf3c76c8be2" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_polygon_points_clear </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Removes all of the points from the given evas polygon object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given polygon object. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Rectangle.html b/doc/html/group__Evas__Object__Rectangle.html
new file mode 100644 (file)
index 0000000..2530e21
--- /dev/null
@@ -0,0 +1,136 @@
+<html>
+<head>
+    <title>Evas: Rectangle Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Rectangle Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that operate on evas rectangle objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa">evas_object_rectangle_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a rectangle to the given evas.  <a href="#gaa08a28171d59c43d106e1ea4f986fefa"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that operate on evas rectangle objects. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaa08a28171d59c43d106e1ea4f986fefa"></a><!-- doxytag: member="evas_object_rectangle.c::evas_object_rectangle_add" ref="gaa08a28171d59c43d106e1ea4f986fefa" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_rectangle_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a rectangle to the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new rectangle object. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Specific.html b/doc/html/group__Evas__Object__Specific.html
new file mode 100644 (file)
index 0000000..2965de9
--- /dev/null
@@ -0,0 +1,133 @@
+<html>
+<head>
+    <title>Evas: Specific Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a>  </div>
+  <div class="headertitle">
+<h1>Specific Object Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that work on specific objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Rectangle.html">Rectangle Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that operate on evas rectangle objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Image.html">Image Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions used to create and manipulate image objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html">Text Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that operate on single line, single style text objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html">Textblock Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions used to create and manipulate textblock objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Line__Group.html">Line Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions used to deal with evas line objects. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Polygon.html">Polygon Object Functions</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Functions that operate on evas polygon objects. </p>
+<br/></td></tr>
+</p>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that work on specific objects. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Table.html b/doc/html/group__Evas__Object__Table.html
new file mode 100644 (file)
index 0000000..265a38f
--- /dev/null
@@ -0,0 +1,623 @@
+<html>
+<head>
+    <title>Evas: Table Smart Object.</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Table Smart Object.<br/>
+<small>
+[<a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">_Evas_Object_Table_Homogeneous_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">How to pack items into cells in a table.  <a href="#ga04f33e792aea51d583c3e572a35ceebe"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">_Evas_Object_Table_Homogeneous_Mode</a> </td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>How to pack items into cells in a table. </p>
+<br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">evas_object_table_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *evas)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new table.  <a href="#gaa8950ef1784409f64fc02345b839768d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">evas_object_table_add_to</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *parent)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a table that is child of a given element <em>parent</em>.  <a href="#gab5789072764ac24f48368182bd35d297"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">evas_object_table_homogeneous_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a> homogeneous)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set how this table should layout children.  <a href="#ga85462a0cbafd4ee4ceface6f3f69b413"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <br class="typebreak"/>
+<a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga1b96719d71cb4ca89a31eb59635df387">evas_object_table_homogeneous_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current layout homogeneous mode.  <a href="#ga1b96719d71cb4ca89a31eb59635df387"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7299bcee8de1f9304fa31fff43347a45"></a><!-- doxytag: member="Evas_Object_Table::evas_object_table_align_set" ref="ga7299bcee8de1f9304fa31fff43347a45" args="(Evas_Object *o, double horizontal, double vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga7299bcee8de1f9304fa31fff43347a45">evas_object_table_align_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double horizontal, double vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7a1ff64522920c2723675ca11d723d47"></a><!-- doxytag: member="Evas_Object_Table::evas_object_table_align_get" ref="ga7a1ff64522920c2723675ca11d723d47" args="(const Evas_Object *o, double *horizontal, double *vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga7a1ff64522920c2723675ca11d723d47">evas_object_table_align_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, double *horizontal, double *vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get alignment of the whole bounding box of contents. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6ea229f05036a9c5d30010ad40a30c66"></a><!-- doxytag: member="Evas_Object_Table::evas_object_table_padding_set" ref="ga6ea229f05036a9c5d30010ad40a30c66" args="(Evas_Object *o, Evas_Coord horizontal, Evas_Coord vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga6ea229f05036a9c5d30010ad40a30c66">evas_object_table_padding_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord horizontal, Evas_Coord vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabe1af40fbd5e03068bc577e71939934a"></a><!-- doxytag: member="Evas_Object_Table::evas_object_table_padding_get" ref="gabe1af40fbd5e03068bc577e71939934a" args="(const Evas_Object *o, Evas_Coord *horizontal, Evas_Coord *vertical)" -->
+EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gabe1af40fbd5e03068bc577e71939934a">evas_object_table_padding_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Evas_Coord *horizontal, Evas_Coord *vertical)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get padding between cells. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga6c1129dcd7509ebde06cf753cf6a681d">evas_object_table_pack</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a new child to a table object.  <a href="#ga6c1129dcd7509ebde06cf753cf6a681d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gac8b800b8a8f38589eae4b979ffc2d598">evas_object_table_unpack</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *child)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove child from table.  <a href="#gac8b800b8a8f38589eae4b979ffc2d598"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">evas_object_table_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, Eina_Bool clear)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Faster way to remove all child objects from a table object.  <a href="#gaec5a10416b76102f7e22c7b799bfac04"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga007c88dba9eb3b326aa67a10c143f3a9">evas_object_table_col_row_size_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, int *cols, int *rows)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of columns and rows this table takes.  <a href="#ga007c88dba9eb3b326aa67a10c143f3a9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Iterator *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga07d18d5708745143c4b12280a7359e71">evas_object_table_iterator_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an iterator to walk the list of children for the table.  <a href="#ga07d18d5708745143c4b12280a7359e71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Accessor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaaa6c5242faad0906b1fbf4bbc1088543">evas_object_table_accessor_new</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get an accessor to get random access to the list of children for the table.  <a href="#gaaa6c5242faad0906b1fbf4bbc1088543"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga1afb562131cd3a74a130c374fcea0632">evas_object_table_children_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the list of children for the table.  <a href="#ga1afb562131cd3a74a130c374fcea0632"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gaeb4a9d107dde8a4c7bc60d6f97b5ec46">evas_object_table_child_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *o, unsigned short col, unsigned short row)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a child from the table using its coordinates.  <a href="#gaeb4a9d107dde8a4c7bc60d6f97b5ec46"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#gac008b924a1ba3b0133d0ac11b3e6af06">evas_object_table_mirrored_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the mirrored mode of the table.  <a href="#gac008b924a1ba3b0133d0ac11b3e6af06"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html#ga8f775fb97bf5da5e8a0005a89027044b">evas_object_table_mirrored_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool mirrored)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the mirrored mode of the table.  <a href="#ga8f775fb97bf5da5e8a0005a89027044b"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Group__Size__Hints.html">Size Hints</a> </dd></dl>
+<hr/><h2>Typedef Documentation</h2>
+<a class="anchor" id="ga04f33e792aea51d583c3e572a35ceebe"></a><!-- doxytag: member="Evas.h::Evas_Object_Table_Homogeneous_Mode" ref="ga04f33e792aea51d583c3e572a35ceebe" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">typedef enum <a class="el" href="group__Evas__Object__Table.html#ga536e8e3c9e38ee6d82f918a341b053a8">_Evas_Object_Table_Homogeneous_Mode</a>  <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>How to pack items into cells in a table. </p>
+<p>Table cell pack mode. </p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaaa6c5242faad0906b1fbf4bbc1088543"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_accessor_new" ref="gaaa6c5242faad0906b1fbf4bbc1088543" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Accessor* evas_object_table_accessor_new </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get an accessor to get random access to the list of children for the table. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Do not remove or delete objects while walking the list. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa8950ef1784409f64fc02345b839768d"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_add" ref="gaa8950ef1784409f64fc02345b839768d" args="(Evas *evas)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_table_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>evas</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create a new table. </p>
+<p>It's set to non-homogeneous by default, add children with <a class="el" href="group__Evas__Object__Table.html#ga6c1129dcd7509ebde06cf753cf6a681d" title="Add a new child to a table object.">evas_object_table_pack()</a>. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#gaa61f845ee24ddb252a6fcb76d5f3c148">evas_object_smart_add()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">evas_object_table_add_to()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab5789072764ac24f48368182bd35d297"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_add_to" ref="gab5789072764ac24f48368182bd35d297" args="(Evas_Object *parent)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_table_add_to </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>parent</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create a table that is child of a given element <em>parent</em>. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d" title="Create a new table.">evas_object_table_add()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga678e810edc3e2ee8b1080186bfa12247">evas_object_evas_get()</a>, <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>, and <a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">evas_object_table_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaeb4a9d107dde8a4c7bc60d6f97b5ec46"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_child_get" ref="gaeb4a9d107dde8a4c7bc60d6f97b5ec46" args="(const Evas_Object *o, unsigned short col, unsigned short row)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_table_child_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>row</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get a child from the table using its coordinates. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>This does not take into account col/row spanning </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1afb562131cd3a74a130c374fcea0632"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_children_get" ref="ga1afb562131cd3a74a130c374fcea0632" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_object_table_children_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the list of children for the table. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>This is a duplicate of the list kept by the table internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the table when walking this list, but these removals won't be reflected on it. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaec5a10416b76102f7e22c7b799bfac04"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_clear" ref="gaec5a10416b76102f7e22c7b799bfac04" args="(Evas_Object *o, Eina_Bool clear)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_table_clear </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>clear</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Faster way to remove all child objects from a table object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>o</em>&nbsp;</td><td>The given table object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>clear</em>&nbsp;</td><td>if true, it will delete just removed children. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga6d840e8d5670db3ae32e00c4ecbb6abd">evas_object_del()</a>, <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga007c88dba9eb3b326aa67a10c143f3a9"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_col_row_size_get" ref="ga007c88dba9eb3b326aa67a10c143f3a9" args="(const Evas_Object *o, int *cols, int *rows)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_table_col_row_size_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>cols</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>rows</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the number of columns and rows this table takes. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>columns and rows are virtual entities, one can specify a table with a single object that takes 4 columns and 5 rows. The only difference for a single cell table is that paddings will be accounted proportionally. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1b96719d71cb4ca89a31eb59635df387"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_homogeneous_get" ref="ga1b96719d71cb4ca89a31eb59635df387" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a> evas_object_table_homogeneous_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the current layout homogeneous mode. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413" title="Set how this table should layout children.">evas_object_table_homogeneous_set()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga85462a0cbafd4ee4ceface6f3f69b413"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_homogeneous_set" ref="ga85462a0cbafd4ee4ceface6f3f69b413" args="(Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_table_homogeneous_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Table.html#ga04f33e792aea51d583c3e572a35ceebe">Evas_Object_Table_Homogeneous_Mode</a>&nbsp;</td>
+          <td class="paramname"> <em>homogeneous</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set how this table should layout children. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000002">Todo:</a></b></dt><dd>consider aspect hint and respect it.</dd></dl>
+<dl class="user"><dt><b>EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE</b></dt><dd>If table does not use homogeneous mode then columns and rows will be calculated based on hints of individual cells. This operation mode is more flexible, but more complex and heavy to calculate as well. <b>Weight</b> properties are handled as a boolean expand. Negative alignment will be considered as 0.5.</dd></dl>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000003">Todo:</a></b></dt><dd><code>EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE</code> should balance weight.</dd></dl>
+<dl class="user"><dt><b>EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE</b></dt><dd>When homogeneous is relative to table the own table size is divided equally among children, filling the whole table area. That is, if table has <code>WIDTH</code> and <code>COLUMNS</code>, each cell will get <code>WIDTH / COLUMNS</code> pixels. If children have minimum size that is larger than this amount (including padding), then it will overflow and be aligned respecting the alignment hint, possible overlapping sibling cells. <b>Weight</b> hint is used as a boolean, if greater than zero it will make the child expand in that axis, taking as much space as possible (bounded to maximum size hint). Negative alignment will be considered as 0.5.</dd></dl>
+<dl class="user"><dt><b>EVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM</b></dt><dd>When homogeneous is relative to item it means the greatest minimum cell size will be used. That is, if no element is set to expand, the table will have its contents to a minimum size, the bounding box of all these children will be aligned relatively to the table object using <a class="el" href="group__Evas__Object__Table.html#ga7a1ff64522920c2723675ca11d723d47" title="Get alignment of the whole bounding box of contents.">evas_object_table_align_get()</a>. If the table area is too small to hold this minimum bounding box, then the objects will keep their size and the bounding box will overflow the box area, still respecting the alignment. <b>Weight</b> hint is used as a boolean, if greater than zero it will make that cell expand in that axis, toggling the <b>expand mode</b>, which makes the table behave much like <b>EVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE</b>, except that the bounding box will overflow and items will not overlap siblings. If no minimum size is provided at all then the table will fallback to expand mode as well. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga07d18d5708745143c4b12280a7359e71"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_iterator_new" ref="ga07d18d5708745143c4b12280a7359e71" args="(const Evas_Object *o)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Iterator* evas_object_table_iterator_new </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get an iterator to walk the list of children for the table. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Do not remove or delete objects while walking the list. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac008b924a1ba3b0133d0ac11b3e6af06"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_mirrored_get" ref="gac008b924a1ba3b0133d0ac11b3e6af06" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_table_mirrored_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the mirrored mode of the table. </p>
+<p>In mirrored mode the table items go from right to left instead of left to right. That is, 1,1 is top right, not to left.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The table object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if it's a mirrored table, EINA_FALSE otherwise. </dd></dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8f775fb97bf5da5e8a0005a89027044b"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_mirrored_set" ref="ga8f775fb97bf5da5e8a0005a89027044b" args="(Evas_Object *obj, Eina_Bool mirrored)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_table_mirrored_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>mirrored</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the mirrored mode of the table. </p>
+<p>In mirrored mode the table items go from right to left instead of left to right. That is, 1,1 is top right, not to left.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The table object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>mirrored</em>&nbsp;</td><td>the mirrored mode to set </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6c1129dcd7509ebde06cf753cf6a681d"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_pack" ref="ga6c1129dcd7509ebde06cf753cf6a681d" args="(Evas_Object *o, Evas_Object *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_table_pack </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>col</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>row</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>colspan</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned short&nbsp;</td>
+          <td class="paramname"> <em>rowspan</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add a new child to a table object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>o</em>&nbsp;</td><td>The given table object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>child</em>&nbsp;</td><td>The child object to add. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>col</em>&nbsp;</td><td>relative-horizontal position to place child. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>row</em>&nbsp;</td><td>relative-vertical position to place child. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>colspan</em>&nbsp;</td><td>how many relative-horizontal position to use for this child. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>rowspan</em>&nbsp;</td><td>how many relative-vertical position to use for this child.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac8b800b8a8f38589eae4b979ffc2d598"></a><!-- doxytag: member="evas_object_table.c::evas_object_table_unpack" ref="gac8b800b8a8f38589eae4b979ffc2d598" args="(Evas_Object *o, Evas_Object *child)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_table_unpack </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>o</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>child</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove child from table. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>removing a child will immediately call a walk over children in order to recalculate numbers of columns and rows. If you plan to remove all children, use <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04" title="Faster way to remove all child objects from a table object.">evas_object_table_clear()</a> instead.</dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>, <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>, and <a class="el" href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511">evas_object_smart_parent_get()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Text.html b/doc/html/group__Evas__Object__Text.html
new file mode 100644 (file)
index 0000000..a5a4b56
--- /dev/null
@@ -0,0 +1,1227 @@
+<html>
+<head>
+    <title>Evas: Text Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Text Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that operate on single line, single style text objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539">evas_object_text_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new text <code>Evas_Object</code> on the provided <code>Evas</code> canvas.  <a href="#ga2da9ad20aec514dfeecb97c715e7f539"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b">evas_object_text_font_source_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *font_source)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga6f503ac55e126bebbadf96a152f5d02b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaa48bece59070032504a2c78ad8a66577">evas_object_text_font_source_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaa48bece59070032504a2c78ad8a66577"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">evas_object_text_font_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *font, Evas_Font_Size size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga6c7fc38657a876997ad91ebd177669a6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaa3ed4186d4a9a78c9ca95ea430dab242">evas_object_text_font_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char **font, Evas_Font_Size *size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query evas for font information of a text <code>Evas_Object</code>.  <a href="#gaa3ed4186d4a9a78c9ca95ea430dab242"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532">evas_object_text_text_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *_text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the text to be displayed by the given evas text object.  <a href="#ga11d37807b5506e6cca746ebb91236532"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaef3b0b12eb63b9cd7574c1cf05afb7a8">evas_object_text_text_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the text currently being displayed by the given evas text object.  <a href="#gaef3b0b12eb63b9cd7574c1cf05afb7a8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_BiDi_Direction&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga2fdb3ff0318cd4b45d642ae317b19589">evas_object_text_direction_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the direction of the text currently being displayed in the text object.  <a href="#ga2fdb3ff0318cd4b45d642ae317b19589"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga4aaf7a903228927fa0adac885304e43e">evas_object_text_ascent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga4aaf7a903228927fa0adac885304e43e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga71f9d96c6dfc8ec33cf0a97e614228a0">evas_object_text_descent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga71f9d96c6dfc8ec33cf0a97e614228a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga1a0bdf57c3ca6e7fb7833ddfbe23b735">evas_object_text_max_ascent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga1a0bdf57c3ca6e7fb7833ddfbe23b735"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga28ee3eb5e199c23a14ac47e07ac49205">evas_object_text_max_descent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga28ee3eb5e199c23a14ac47e07ac49205"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d">evas_object_text_inset_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga6c5f45ff6e1be091d0382db0ccfb919d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga972494bd4b9d807ea5f98404a82d8eab">evas_object_text_horiz_advance_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga972494bd4b9d807ea5f98404a82d8eab"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaec17348b4fa02b15162ef96abdbfbf41">evas_object_text_vert_advance_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaec17348b4fa02b15162ef96abdbfbf41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga823b09a9d05a1650e63970e329cd7b72">evas_object_text_char_pos_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve position and dimension information of a character within a text <code>Evas_Object</code>.  <a href="#ga823b09a9d05a1650e63970e329cd7b72"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga464d40578e2fdc2ad8890556e0b97268">evas_object_text_last_up_to_pos</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the logical position of the last char in the text up to the pos given.  <a href="#ga464d40578e2fdc2ad8890556e0b97268"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gab37f85358bd7d333cd6e8c7cf62b5daa">evas_object_text_char_coords_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gab37f85358bd7d333cd6e8c7cf62b5daa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gae7896521b9861d4bd3efc04ef1e8e91e">evas_object_text_style_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Text_Style_Type style)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gae7896521b9861d4bd3efc04ef1e8e91e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Text_Style_Type&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gaf08d4a9630d23ebdbf79cc8c2c91b2c6">evas_object_text_style_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#gaf08d4a9630d23ebdbf79cc8c2c91b2c6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga58f0bb7acf2c1d24e9ae5e4a391d19bc">evas_object_text_shadow_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga58f0bb7acf2c1d24e9ae5e4a391d19bc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga7cf7432965327a571d413dbaeca66822">evas_object_text_shadow_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga7cf7432965327a571d413dbaeca66822"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga74c4ea0f0befd6213f48163ee70041e6">evas_object_text_glow_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga74c4ea0f0befd6213f48163ee70041e6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga76bcc6322241875990b572f37d754266">evas_object_text_glow_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga76bcc6322241875990b572f37d754266"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga7dabe4ce0120cdf0c4e60a8f7a7e3659">evas_object_text_glow2_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga7dabe4ce0120cdf0c4e60a8f7a7e3659"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga264a8425d8dab176a1b15e17a528d56d">evas_object_text_glow2_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga264a8425d8dab176a1b15e17a528d56d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga1c1cf05c6b31f06a4c79486d19ddaece">evas_object_text_outline_color_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int r, int g, int b, int a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga1c1cf05c6b31f06a4c79486d19ddaece"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#ga16485a0062a397faed21fad732ad16ba">evas_object_text_outline_color_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *r, int *g, int *b, int *a)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">To be documented.  <a href="#ga16485a0062a397faed21fad732ad16ba"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Text.html#gafd638ae91c10d4139e41e6245c0712e1">evas_object_text_style_pad_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int *l, int *r, int *t, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the text style pad of a text object.  <a href="#gafd638ae91c10d4139e41e6245c0712e1"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that operate on single line, single style text objects. </p>
+<p>For multiline and multiple style text, see <a class="el" href="group__Evas__Object__Textblock.html">Textblock Object Functions</a>. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga2da9ad20aec514dfeecb97c715e7f539"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_add" ref="ga2da9ad20aec514dfeecb97c715e7f539" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_text_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new text <code>Evas_Object</code> on the provided <code>Evas</code> canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The <code>Evas</code> canvas to create the text object upon.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Text.html#ga6f503ac55e126bebbadf96a152f5d02b" title="To be documented.">evas_object_text_font_source_set</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6" title="To be documented.">evas_object_text_font_set</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Text.html#ga11d37807b5506e6cca746ebb91236532" title="Sets the text to be displayed by the given evas text object.">evas_object_text_text_set</a></dd></dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>NULL on error, A pointer to a new <code>Evas_Object</code> on success. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4aaf7a903228927fa0adac885304e43e"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_ascent_get" ref="ga4aaf7a903228927fa0adac885304e43e" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_ascent_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gab37f85358bd7d333cd6e8c7cf62b5daa"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_char_coords_get" ref="gab37f85358bd7d333cd6e8c7cf62b5daa" args="(const Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_object_text_char_coords_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga823b09a9d05a1650e63970e329cd7b72"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_char_pos_get" ref="ga823b09a9d05a1650e63970e329cd7b72" args="(const Evas_Object *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_text_char_pos_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieve position and dimension information of a character within a text <code>Evas_Object</code>. </p>
+<p>This function is used to obtain the X, Y, width and height of a the character located at <code>pos</code> within the <code>Evas_Object</code> <code>obj</code>. <code>obj</code> must be a text object as created with <a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539" title="Creates a new text Evas_Object on the provided Evas canvas.">evas_object_text_add()</a>. Any of the <code>Evas_Coord</code> parameters (<code>cx</code>, <code>cy</code>, <code>cw</code>, <code>ch</code>) may be NULL in which case no value will be assigned to that parameter.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The text object to retrieve position information for. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>The character position to request co-ordinates for. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>A pointer to an <code>Evas_Coord</code> to store the X value in (can be NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>A pointer to an <code>Evas_Coord</code> to store the Y value in (can be NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>A pointer to an <code>Evas_Coord</code> to store the Width value in (can be NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>A pointer to an <code>Evas_Coord</code> to store the Height value in (can be NULL).</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_FALSE on error, EINA_TRUE on success. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga71f9d96c6dfc8ec33cf0a97e614228a0"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_descent_get" ref="ga71f9d96c6dfc8ec33cf0a97e614228a0" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_descent_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga2fdb3ff0318cd4b45d642ae317b19589"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_direction_get" ref="ga2fdb3ff0318cd4b45d642ae317b19589" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_BiDi_Direction evas_object_text_direction_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the direction of the text currently being displayed in the text object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas text object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the direction of the text </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa3ed4186d4a9a78c9ca95ea430dab242"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_font_get" ref="gaa3ed4186d4a9a78c9ca95ea430dab242" args="(const Evas_Object *obj, const char **font, Evas_Font_Size *size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_font_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>font</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Font_Size *&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Query evas for font information of a text <code>Evas_Object</code>. </p>
+<p>This function allows the font name and size of a text <code>Evas_Object</code> as created with <a class="el" href="group__Evas__Object__Text.html#ga2da9ad20aec514dfeecb97c715e7f539" title="Creates a new text Evas_Object on the provided Evas canvas.">evas_object_text_add()</a> to be queried. Be aware that the font name string is still owned by Evas and should NOT have free() called on it by the caller of the function.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The evas text object to query for font information. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>font</em>&nbsp;</td><td>A pointer to the location to store the font name in (may be NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td>A pointer to the location to store the font size in (may be NULL). </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6c7fc38657a876997ad91ebd177669a6"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_font_set" ref="ga6c7fc38657a876997ad91ebd177669a6" args="(Evas_Object *obj, const char *font, Evas_Font_Size size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_font_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>font</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Font_Size&nbsp;</td>
+          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gac8ab2a94f6b027a2b24fffdd23b113fb">ENFN</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa48bece59070032504a2c78ad8a66577"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_font_source_get" ref="gaa48bece59070032504a2c78ad8a66577" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_text_font_source_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga6f503ac55e126bebbadf96a152f5d02b"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_font_source_set" ref="ga6f503ac55e126bebbadf96a152f5d02b" args="(Evas_Object *obj, const char *font_source)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_font_source_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>font_source</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga264a8425d8dab176a1b15e17a528d56d"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_glow2_color_get" ref="ga264a8425d8dab176a1b15e17a528d56d" args="(const Evas_Object *obj, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_glow2_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7dabe4ce0120cdf0c4e60a8f7a7e3659"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_glow2_color_set" ref="ga7dabe4ce0120cdf0c4e60a8f7a7e3659" args="(Evas_Object *obj, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_glow2_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga76bcc6322241875990b572f37d754266"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_glow_color_get" ref="ga76bcc6322241875990b572f37d754266" args="(const Evas_Object *obj, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_glow_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga74c4ea0f0befd6213f48163ee70041e6"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_glow_color_set" ref="ga74c4ea0f0befd6213f48163ee70041e6" args="(Evas_Object *obj, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_glow_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga972494bd4b9d807ea5f98404a82d8eab"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_horiz_advance_get" ref="ga972494bd4b9d807ea5f98404a82d8eab" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_horiz_advance_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga6c5f45ff6e1be091d0382db0ccfb919d"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_inset_get" ref="ga6c5f45ff6e1be091d0382db0ccfb919d" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_inset_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gac8ab2a94f6b027a2b24fffdd23b113fb">ENFN</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga464d40578e2fdc2ad8890556e0b97268"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_last_up_to_pos" ref="ga464d40578e2fdc2ad8890556e0b97268" args="(const Evas_Object *obj, Evas_Coord x, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_object_text_last_up_to_pos </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the logical position of the last char in the text up to the pos given. </p>
+<p>this is NOT the position of the last char because of the possibility of RTL in the text. To be documented.</p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1a0bdf57c3ca6e7fb7833ddfbe23b735"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_max_ascent_get" ref="ga1a0bdf57c3ca6e7fb7833ddfbe23b735" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_max_ascent_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga28ee3eb5e199c23a14ac47e07ac49205"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_max_descent_get" ref="ga28ee3eb5e199c23a14ac47e07ac49205" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_max_descent_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga16485a0062a397faed21fad732ad16ba"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_outline_color_get" ref="ga16485a0062a397faed21fad732ad16ba" args="(const Evas_Object *obj, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_outline_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga1c1cf05c6b31f06a4c79486d19ddaece"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_outline_color_set" ref="ga1c1cf05c6b31f06a4c79486d19ddaece" args="(Evas_Object *obj, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_outline_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga7cf7432965327a571d413dbaeca66822"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_shadow_color_get" ref="ga7cf7432965327a571d413dbaeca66822" args="(const Evas_Object *obj, int *r, int *g, int *b, int *a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_shadow_color_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga58f0bb7acf2c1d24e9ae5e4a391d19bc"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_shadow_color_set" ref="ga58f0bb7acf2c1d24e9ae5e4a391d19bc" args="(Evas_Object *obj, int r, int g, int b, int a)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_shadow_color_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaf08d4a9630d23ebdbf79cc8c2c91b2c6"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_style_get" ref="gaf08d4a9630d23ebdbf79cc8c2c91b2c6" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Text_Style_Type evas_object_text_style_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gafd638ae91c10d4139e41e6245c0712e1"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_style_pad_get" ref="gafd638ae91c10d4139e41e6245c0712e1" args="(const Evas_Object *obj, int *l, int *r, int *t, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_style_pad_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the text style pad of a text object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given text object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>The left pad (or NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The right pad (or NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>The top pad (or NULL). </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The bottom pad (or NULL). </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gae7896521b9861d4bd3efc04ef1e8e91e"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_style_set" ref="gae7896521b9861d4bd3efc04ef1e8e91e" args="(Evas_Object *obj, Evas_Text_Style_Type style)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_style_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Text_Style_Type&nbsp;</td>
+          <td class="paramname"> <em>style</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+<a class="anchor" id="gaef3b0b12eb63b9cd7574c1cf05afb7a8"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_text_get" ref="gaef3b0b12eb63b9cd7574c1cf05afb7a8" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_text_text_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the text currently being displayed by the given evas text object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given evas text object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The text currently being displayed. Do not free it. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga11d37807b5506e6cca746ebb91236532"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_text_set" ref="ga11d37807b5506e6cca746ebb91236532" args="(Evas_Object *obj, const char *_text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_text_text_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>_text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the text to be displayed by the given evas text object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>Evas text object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>Text to display. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaec17348b4fa02b15162ef96abdbfbf41"></a><!-- doxytag: member="evas_object_text.c::evas_object_text_vert_advance_get" ref="gaec17348b4fa02b15162ef96abdbfbf41" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Coord evas_object_text_vert_advance_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>To be documented. </p>
+<p>FIXME: To be fixed. </p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Object__Textblock.html b/doc/html/group__Evas__Object__Textblock.html
new file mode 100644 (file)
index 0000000..6094f6b
--- /dev/null
@@ -0,0 +1,2961 @@
+<html>
+<head>
+    <title>Evas: Textblock Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#define-members">Defines</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Textblock Object Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions used to create and manipulate textblock objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac8ab2a94f6b027a2b24fffdd23b113fb">ENFN</a>&nbsp;&nbsp;&nbsp;obj-&gt;layer-&gt;evas-&gt;engine.func</td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac43a253bc767da912ee1818a8dfa5713">evas_object_textblock_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds a textblock to the given evas.  <a href="#gac43a253bc767da912ee1818a8dfa5713"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Textblock_Style *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga00cc8baec308c583ac801811dd381d4c">evas_textblock_style_new</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates a new textblock style.  <a href="#ga00cc8baec308c583ac801811dd381d4c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f">evas_textblock_style_free</a> (Evas_Textblock_Style *ts)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroys a textblock style.  <a href="#gaf527de9ea652e4435a0eaa6cda09585f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14">evas_textblock_style_set</a> (Evas_Textblock_Style *ts, const char *text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the style ts to the style passed as text by text.  <a href="#gac239e4649b0893284ea962a2183c3f14"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae106e0cfb957f1916eb3833c1214394c">evas_textblock_style_get</a> (const Evas_Textblock_Style *ts)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the text of the style ts.  <a href="#gae106e0cfb957f1916eb3833c1214394c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0">evas_object_textblock_style_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Textblock_Style *ts)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the objects style to ts.  <a href="#gaf581b9400cb7176a137451ab6193e3c0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Evas_Textblock_Style *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga9f3164f28981c6d6188a8de202848197">evas_object_textblock_style_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the style of an object.  <a href="#ga9f3164f28981c6d6188a8de202848197"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gab5d3958f4d73b2d9e3cccd828816b672">evas_object_textblock_replace_char_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the "replacement character" to use for the given textblock object.  <a href="#gab5d3958f4d73b2d9e3cccd828816b672"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae637041b07efe438e3539bb549a915e3">evas_object_textblock_newline_mode_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool mode)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets newline mode.  <a href="#gae637041b07efe438e3539bb549a915e3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga0832ab9fd2820efee68bec6d1d80e427">evas_object_textblock_newline_mode_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets newline mode.  <a href="#ga0832ab9fd2820efee68bec6d1d80e427"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga5f08b5b6222ed341574ec8167a86c9a0">evas_object_textblock_valign_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, double align)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the vertical alignment of text within the textblock object as a whole.  <a href="#ga5f08b5b6222ed341574ec8167a86c9a0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga431ec30179fc3d7bcd98f508453e41bb">evas_object_textblock_valign_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the vertical alignment of a textblock.  <a href="#ga431ec30179fc3d7bcd98f508453e41bb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga61f6c6ea8c0ce2028424396eb2ff4a81">evas_object_textblock_replace_char_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the "replacement character" for given textblock object.  <a href="#ga61f6c6ea8c0ce2028424396eb2ff4a81"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gac165d57003e552fa6739158dc2ed73f5">evas_textblock_escape_string_get</a> (const char *escape)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the unescaped version of escape.  <a href="#gac165d57003e552fa6739158dc2ed73f5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga57940db29ffb910af130dd2100e48ff2">evas_textblock_escape_string_range_get</a> (const char *escape_start, const char *escape_end)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the unescaped version of the string between start and end.  <a href="#ga57940db29ffb910af130dd2100e48ff2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga70b3680a8691c70bab39bd1c127424a5">evas_textblock_string_escape_get</a> (const char *string, int *len_ret)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the escaped version of the string.  <a href="#ga70b3680a8691c70bab39bd1c127424a5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">evas_object_textblock_text_markup_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the tetxblock's text to the markup text.  <a href="#gadaed9758086de4545aa6fb561445816f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga4f7a3b1ee59e3c07f35726773c576a8d">evas_object_textblock_text_markup_prepend</a> (Evas_Textblock_Cursor *cur, const char *text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepends markup to the cursor cur.  <a href="#ga4f7a3b1ee59e3c07f35726773c576a8d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga0896326ca8d9ca1dd194f322d0bc87b2">evas_object_textblock_text_markup_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the markup of the object.  <a href="#ga0896326ca8d9ca1dd194f322d0bc87b2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const Evas_Textblock_Cursor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2bbd5e4e1cc36e18790dc09fbd2a6c18">evas_object_textblock_cursor_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the object's main cursor.  <a href="#ga2bbd5e4e1cc36e18790dc09fbd2a6c18"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Evas_Textblock_Cursor *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45">evas_object_textblock_cursor_new</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a new cursor, associate it to the obj and init it to point to the start of the textblock.  <a href="#ga6f6242cc087a6cc65196b09e813e2c45"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137">evas_textblock_cursor_free</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free the cursor and unassociate it from the object.  <a href="#gaec3e250258e2f587381bcd1539469137"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">evas_textblock_cursor_is_format</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns true if the cursor points to a format.  <a href="#gaf389372f80b4cd3f2fc1fd8b99637367"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga56e9057e5845fe785710ba6c5d07ab3e">evas_textblock_node_format_first_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the first format node.  <a href="#ga56e9057e5845fe785710ba6c5d07ab3e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga091521044b95190c75c57ca1661bcc83">evas_textblock_node_format_last_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the last format node.  <a href="#ga091521044b95190c75c57ca1661bcc83"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga341e85b5bb0c9b2c82db4eb5a2432a9d">evas_textblock_node_format_next_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the next format node (after n).  <a href="#ga341e85b5bb0c9b2c82db4eb5a2432a9d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8566bfff8ca71cc89cf704c9a082780c">evas_textblock_node_format_prev_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the prev format node (after n).  <a href="#ga8566bfff8ca71cc89cf704c9a082780c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gab53e3b12b9332180ad6736100333eb71">evas_textblock_node_format_remove_pair</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a format node and it's match.  <a href="#gab53e3b12b9332180ad6736100333eb71"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41">evas_textblock_cursor_paragraph_first</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the cursor to the start of the first text node.  <a href="#ga445a498191535460cf6de442cb2b3a41"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0">evas_textblock_cursor_paragraph_last</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sets the cursor to the end of the last text node.  <a href="#ga2654bf905bdd0fe98402abe105c815d0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a">evas_textblock_cursor_paragraph_next</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the the start of the next text node.  <a href="#ga85773221b22e6d042cc6b581de08c87a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">evas_textblock_cursor_paragraph_prev</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the the end of the previous text node.  <a href="#gabe9fa26c799408129f013440e518f699"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga74682be12e8108f2956ab8b02f39d9ab">evas_textblock_cursor_set_at_format</a> (Evas_Textblock_Cursor *cur, const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *n)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the cursor to point to the place where format points to.  <a href="#ga74682be12e8108f2956ab8b02f39d9ab"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaedae64aa95805f0c3480cf6001297ae9">evas_textblock_cursor_format_next</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the next format node.  <a href="#gaedae64aa95805f0c3480cf6001297ae9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec">evas_textblock_cursor_format_prev</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the previous format node.  <a href="#ga560593895b7ba6e3d309463c921ad9ec"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">evas_textblock_cursor_char_next</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances 1 char forward.  <a href="#ga8f3fba0d1d853db5694b3803db73d9cd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">evas_textblock_cursor_char_prev</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances 1 char backward.  <a href="#gace122729e6764dc54bfee83b9865efc9"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d">evas_textblock_cursor_paragraph_char_first</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the first char in the node the cursor is pointing on.  <a href="#ga14a0a29c79eeb378c73f1383bb09424d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">evas_textblock_cursor_paragraph_char_last</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the last char in a text node.  <a href="#gaf504e62cf0b498631ec8154c14b2efb4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6da9c7bff6073756a619f9b8a00d0e0b">evas_textblock_cursor_line_char_first</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the start of the current line.  <a href="#ga6da9c7bff6073756a619f9b8a00d0e0b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">evas_textblock_cursor_line_char_last</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the end of the current line.  <a href="#gaf96505739a5a805922f86b0e9c577afe"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga7f74459b59870c258bd312ff114778bc">evas_textblock_cursor_pos_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current cursor pos.  <a href="#ga7f74459b59870c258bd312ff114778bc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gacde95e638bba6858b73f316afe2cfef0">evas_textblock_cursor_pos_set</a> (Evas_Textblock_Cursor *cur, int _pos)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor pos.  <a href="#gacde95e638bba6858b73f316afe2cfef0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf">evas_textblock_cursor_line_set</a> (Evas_Textblock_Cursor *cur, int line)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Go to the start of the line passed.  <a href="#gaa1992968fd64630687b18a5f9d632edf"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga194b0bc812a6c031bc80a195bff0a40e">evas_textblock_cursor_compare</a> (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two cursors.  <a href="#ga194b0bc812a6c031bc80a195bff0a40e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gadeff0745dac418696bdd9a380ad54e9a">evas_textblock_cursor_copy</a> (const Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make cur_dest point to the same place as cur.  <a href="#gadeff0745dac418696bdd9a380ad54e9a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga674d0cf1c0273fa58f1f2b4007b0b455">evas_textblock_cursor_text_append</a> (Evas_Textblock_Cursor *cur, const char *_text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds text to the current cursor position and set the cursor to *before* the start of the text just added.  <a href="#ga674d0cf1c0273fa58f1f2b4007b0b455"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gacc79760e60e2aa49cb5c2aaa8bb73ba0">evas_textblock_cursor_text_prepend</a> (Evas_Textblock_Cursor *cur, const char *_text)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds text to the current cursor position and set the cursor to *after* the start of the text just added.  <a href="#gacc79760e60e2aa49cb5c2aaa8bb73ba0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6c8336913e645d5bedbc93ba7d06d079">evas_textblock_cursor_format_append</a> (Evas_Textblock_Cursor *cur, const char *format)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds format to the current cursor position.  <a href="#ga6c8336913e645d5bedbc93ba7d06d079"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6">evas_textblock_cursor_format_prepend</a> (Evas_Textblock_Cursor *cur, const char *format)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Adds format to the current cursor position.  <a href="#ga7e819b359a7e12cb3ecf3357029b9cb6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaf9cd7ffa37008c0d6f61413703a0670e">evas_textblock_cursor_char_delete</a> (Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the character at the location of the cursor.  <a href="#gaf9cd7ffa37008c0d6f61413703a0670e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga1b581bb089e3f335cde9f7e824e9e0d4">evas_textblock_cursor_range_delete</a> (Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Delete the range between cur1 and cur2.  <a href="#ga1b581bb089e3f335cde9f7e824e9e0d4"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">evas_textblock_cursor_content_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the content of the cursor.  <a href="#ga77a5f2b742f74110aad4f0b2af6a91aa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga0ac2a1684a7def72b027d573f235c3c6">evas_textblock_cursor_range_text_get</a> (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *_cur2, Evas_Textblock_Text_Type format __UNUSED__)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the text in the range between cur1 and cur2.  <a href="#ga0ac2a1684a7def72b027d573f235c3c6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">evas_textblock_cursor_paragraph_text_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the text of the paragraph cur points to - returns the text in markup.  <a href="#ga2369c2b14e0a58379e28327870a57f23"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga57b2e7d853306c435946e0db83080db5">evas_textblock_cursor_paragraph_text_length_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the length of the paragraph, cheaper the eina_unicode_strlen().  <a href="#ga57b2e7d853306c435946e0db83080db5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3">evas_textblock_cursor_format_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the format node at the position pointed by cur.  <a href="#gad4abd947509949e9b683003018481aa3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8">evas_textblock_node_format_text_get</a> (const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *fmt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the text format representation of the format node.  <a href="#gae386e3627175b7d20a14ad58ddd5aaa8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gabd21b412b8cbc90419cd7d375cc1b625">evas_textblock_cursor_at_format_set</a> (Evas_Textblock_Cursor *cur, const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *fmt)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor to point to the position of fmt.  <a href="#gabd21b412b8cbc90419cd7d375cc1b625"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Check if the current cursor position is a visible format.  <a href="#ga8a85968d8fe24bcb92738df510993d8c"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">evas_textblock_cursor_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the cursor.  <a href="#ga53de4d5aa108014959e6eef6cc09e463"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga47950e666e252bbf0ad9d46b59e74269">evas_textblock_cursor_char_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the char at cur.  <a href="#ga47950e666e252bbf0ad9d46b59e74269"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105">evas_textblock_cursor_pen_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the pen at cur.  <a href="#ga07130c3e5323cc4aab5740e926221105"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gaa49a0235809d49fb5f988253050dd101">evas_textblock_cursor_line_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the geometry of the line at cur.  <a href="#gaa49a0235809d49fb5f988253050dd101"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00">evas_textblock_cursor_char_coord_set</a> (Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the position of the cursor according to the X and Y coordinates.  <a href="#ga216d7d74aae2d58f0cc42bf1a0291b00"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb">evas_textblock_cursor_line_coord_set</a> (Evas_Textblock_Cursor *cur, Evas_Coord y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the cursor position according to the y coord.  <a href="#gab730b9223f43f4bf255f7b3bd44f3ddb"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga5c69a5636c96fec1835e58b361037bdc">evas_textblock_cursor_range_geometry_get</a> (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of a range.  <a href="#ga5c69a5636c96fec1835e58b361037bdc"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311">evas_textblock_cursor_format_item_geometry_get</a> (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be documented.  <a href="#ga6938413ee2c12497dfa517c3575e0311"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">evas_textblock_cursor_eol_get</a> (const Evas_Textblock_Cursor *cur)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks if the cursor points to the end of the line.  <a href="#gad5c9c6526512b13fe53aa763778aa6f8"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga77d99df8bcb139f2a499a0dda4c5dca1">evas_object_textblock_line_number_geometry_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the geometry of a line number.  <a href="#ga77d99df8bcb139f2a499a0dda4c5dca1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#gad5ee9184f370f602d2005ea8091a2c29">evas_object_textblock_clear</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear the textblock object.  <a href="#gad5ee9184f370f602d2005ea8091a2c29"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db">evas_object_textblock_size_formatted_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the formatted width and height.  <a href="#ga5b77e11b6e478b81ed13d469cb8e21db"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e">evas_object_textblock_size_native_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the native width and height.  <a href="#ga9a956c2712537a1e1f83e997c79a4c1e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Textblock.html#ga851cb385b547a958790a0d60d386a1d8">evas_object_textblock_style_insets_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be documented.  <a href="#ga851cb385b547a958790a0d60d386a1d8"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions used to create and manipulate textblock objects. </p>
+<p>Unlike <a class="el" href="group__Evas__Object__Text.html">Text Object Functions</a>, these handle complex text, doing multiple styles and multiline text based on HTML-like tags. Of these extra features will be heavier on memory and processing cost.</p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000006">Todo:</a></b></dt><dd>put here some usage examples</dd></dl>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="gac8ab2a94f6b027a2b24fffdd23b113fb"></a><!-- doxytag: member="evas_object_textblock.c::ENFN" ref="gac8ab2a94f6b027a2b24fffdd23b113fb" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define ENFN&nbsp;&nbsp;&nbsp;obj-&gt;layer-&gt;evas-&gt;engine.func</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<h2><a class="anchor" id="Evas_Object_Textblock_Tutorial"></a>
+Textblock Object Tutorial</h2>
+<p>This part explains about the textblock object's API and proper usage. If you want to develop textblock, you should also refer to Evas_Object_Textblock_Internal. The main user of the textblock object is the edje entry object in Edje, so that's a good place to learn from, but I think this document is more than enough, if it's not, please request for me info and I'll update it.</p>
+<h3><a class="anchor" id="textblock_intro"></a>
+Introduction</h3>
+<p>The textblock objects is, as implied, an object that can show big chunks of text. Textblock supports many features including: Text formatting, automatic and manual text alignment, embedding items (for example icons) and more. Textblock has three important parts, the text paragraphs, the format nodes and the cursors.</p>
+<h3><a class="anchor" id="textblock_cursors"></a>
+Textblock Object Cursors</h3>
+<p>A textblock Cursor Evas_Textblock_Cursor is data type that represents a position in a textblock. Each cursor contains information about the paragraph it points to, the position in that paragraph and the object itself. Cursors register to textblock objects upon creation, this means that once you created a cursor, it belongs to a specific obj and you can't for example copy a cursor "into" a cursor of a different object. Registered cursors also have the added benefit of updating automatically upon textblock changes, this means that if you have a cursor pointing to a specific character, it'll still point to it even after you change the whole object completely (as long as the char was not deleted), this is not possible without updating, because as mentioned, each cursor holds a character position. There are many functions that handle cursors, just check out the evas_textblock_cursor* functions. For creation and deletion of cursors check out: </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga6f6242cc087a6cc65196b09e813e2c45" title="Create a new cursor, associate it to the obj and init it to point to the start of the textblock...">evas_object_textblock_cursor_new()</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Object__Textblock.html#gaec3e250258e2f587381bcd1539469137" title="Free the cursor and unassociate it from the object.">evas_textblock_cursor_free()</a> </dd></dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>Cursors are generally the correct way to handle text in the textblock object, and there are enough functions to do everything you need with them (no need to get big chunks of text and processing them yourself).</dd></dl>
+<h3><a class="anchor" id="textblock_paragraphs"></a>
+Textblock Object Paragraphs</h3>
+<p>The textblock object is made out of text splitted to paragraphs (delimited by the paragraph separation character). Each paragraph has many (or none) format nodes associated with it which are responsible for the formatting of that paragraph.</p>
+<h3><a class="anchor" id="textblock_format_nodes"></a>
+Textblock Object Format Nodes</h3>
+<p>As explained in <a class="el" href="group__Evas__Object__Textblock.html#textblock_paragraphs">Textblock Object Paragraphs</a> each one of the format nodes is associated with a paragraph. There are two types of format nodes, visible and invisible: Visible: formats that a cursor can point to, i.e formats that occupy space, for example: newlines, tabs, items and etc. Some visible items are made of two parts, in this case, only the opening tag is visible. A closing tag (i.e a &lt;/tag&gt; tag) should NEVER be visible. Invisible: formats that don't occupy space, for example: bold and underline. Being able to access format nodes is very important for some uses. For example, edje uses the "&lt;a&gt;" format to create links in the text (and pop popups above them when clicked). For the textblock object a is just a formatting instruction (how to color the text), but edje utilizes the access to the format nodes to make it do more. For more information, take a look at all the evas_textblock_node_format_* functions. The translation of "&lt;tag&gt;" tags to actual format is done according to the tags defined in the style, see <a class="el" href="group__Evas__Object__Textblock.html#gac239e4649b0893284ea962a2183c3f14">evas_textblock_style_set</a></p>
+<h3><a class="anchor" id="textblock_special_formats"></a>
+Special Formats</h3>
+<p>This section is not yet written. If you want some info about styles/formats and how to use them, expedite's textblock_basic test is a great start. </p>
+<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000004">Todo:</a></b></dt><dd>Write  </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Text.html#ga6c7fc38657a876997ad91ebd177669a6">evas_object_text_font_set()</a>, and <a class="el" href="group__Evas__Object__Text.html#ga6c5f45ff6e1be091d0382db0ccfb919d">evas_object_text_inset_get()</a>.</p>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gac43a253bc767da912ee1818a8dfa5713"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_add" ref="gac43a253bc767da912ee1818a8dfa5713" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_textblock_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds a textblock to the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new textblock object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gad5ee9184f370f602d2005ea8091a2c29"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_clear" ref="gad5ee9184f370f602d2005ea8091a2c29" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_clear </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Clear the textblock object. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>Does *NOT* free the evas object itself.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to clear. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>nothing. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2bbd5e4e1cc36e18790dc09fbd2a6c18"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_cursor_get" ref="ga2bbd5e4e1cc36e18790dc09fbd2a6c18" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const Evas_Textblock_Cursor* evas_object_textblock_cursor_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the object's main cursor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the obj's main cursor. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga6f6242cc087a6cc65196b09e813e2c45"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_cursor_new" ref="ga6f6242cc087a6cc65196b09e813e2c45" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Textblock_Cursor* evas_object_textblock_cursor_new </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Create a new cursor, associate it to the obj and init it to point to the start of the textblock. </p>
+<p>Association to the object means the cursor will be updated when the object will change.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>if you need speed and you know what you are doing, it's slightly faster to just allocate the cursor yourself and not associate it. (only people developing the actual object, and not users of the object).</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to associate to. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the new cursor. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga77d99df8bcb139f2a499a0dda4c5dca1"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_line_number_geometry_get" ref="ga77d99df8bcb139f2a499a0dda4c5dca1" args="(const Evas_Object *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_textblock_line_number_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>line</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the geometry of a line number. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>the line number. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>x coord of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>y coord of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>w coord of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>h coord of the line. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success, EINA_FALSE otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga0832ab9fd2820efee68bec6d1d80e427"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_newline_mode_get" ref="ga0832ab9fd2820efee68bec6d1d80e427" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_textblock_newline_mode_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets newline mode. </p>
+<p>When true, newline character behaves as a paragraph separator.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if in PS mode, EINA_FALSE otherwise. </dd></dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gae637041b07efe438e3539bb549a915e3"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_newline_mode_set" ref="gae637041b07efe438e3539bb549a915e3" args="(Evas_Object *obj, Eina_Bool mode)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_newline_mode_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets newline mode. </p>
+<p>When true, newline character will behave as a paragraph separator.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>mode</em>&nbsp;</td><td>EINA_TRUE for PS mode, EINA_FALSE otherwise. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga61f6c6ea8c0ce2028424396eb2ff4a81"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_replace_char_get" ref="ga61f6c6ea8c0ce2028424396eb2ff4a81" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_textblock_replace_char_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the "replacement character" for given textblock object. </p>
+<p>Returns NULL if no replacement character is in use.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>replacement character or NULL </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab5d3958f4d73b2d9e3cccd828816b672"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_replace_char_set" ref="gab5d3958f4d73b2d9e3cccd828816b672" args="(Evas_Object *obj, const char *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_replace_char_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the "replacement character" to use for the given textblock object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>The charset name. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5b77e11b6e478b81ed13d469cb8e21db"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_size_formatted_get" ref="ga5b77e11b6e478b81ed13d469cb8e21db" args="(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_size_formatted_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the formatted width and height. </p>
+<p>This calculates the actual size after restricting the textblock to the current size of the object. The main difference between this and <a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e">evas_object_textblock_size_native_get</a> is that the "native" function does not wrapping into account it just calculates the real width of the object if it was placed on an infinite canvas, while this function gives the size after wrapping according to the size restrictions of the object.</p>
+<p>For example for a textblock containing the text: "You shall not pass!" with no margins or padding and assuming a monospace font and a size of 7x10 char widths (for simplicity) has a native size of 19x1 and a formatted size of 5x4.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w[out]</em>&nbsp;</td><td>the width of the object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h[out]</em>&nbsp;</td><td>the height of the object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga9a956c2712537a1e1f83e997c79a4c1e" title="Get the native width and height.">evas_object_textblock_size_native_get</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9a956c2712537a1e1f83e997c79a4c1e"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_size_native_get" ref="ga9a956c2712537a1e1f83e997c79a4c1e" args="(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_size_native_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the native width and height. </p>
+<p>This calculates the actual size without taking account the current size of the object. The main difference between this and <a class="el" href="group__Evas__Object__Textblock.html#ga5b77e11b6e478b81ed13d469cb8e21db">evas_object_textblock_size_formatted_get</a> is that the "native" function does not take wrapping into account it just calculates the real width of the object if it was placed on an infinite canvas, while the "formatted" function gives the size after wrapping text according to the size restrictions of the object.</p>
+<p>For example for a textblock containing the text: "You shall not pass!" with no margins or padding and assuming a monospace font and a size of 7x10 char widths (for simplicity) has a native size of 19x1 and a formatted size of 5x4.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object of the textblock </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w[out]</em>&nbsp;</td><td>the width returned </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h[out]</em>&nbsp;</td><td>the height returned </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga9f3164f28981c6d6188a8de202848197"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_style_get" ref="ga9f3164f28981c6d6188a8de202848197" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const Evas_Textblock_Style* evas_object_textblock_style_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the style of an object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the object to get the style from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the style of the object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga851cb385b547a958790a0d60d386a1d8"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_style_insets_get" ref="ga851cb385b547a958790a0d60d386a1d8" args="(const Evas_Object *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_style_insets_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>l</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>t</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>to be documented. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>l</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>to be documented. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf581b9400cb7176a137451ab6193e3c0"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_style_set" ref="gaf581b9400cb7176a137451ab6193e3c0" args="(Evas_Object *obj, Evas_Textblock_Style *ts)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_style_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Textblock_Style *&nbsp;</td>
+          <td class="paramname"> <em>ts</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the objects style to ts. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object to set the style to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ts</em>&nbsp;</td><td>the style to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaf527de9ea652e4435a0eaa6cda09585f">evas_textblock_style_free()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0896326ca8d9ca1dd194f322d0bc87b2"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_text_markup_get" ref="ga0896326ca8d9ca1dd194f322d0bc87b2" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_object_textblock_text_markup_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the markup of the object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the markup text of the object. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4f7a3b1ee59e3c07f35726773c576a8d"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_text_markup_prepend" ref="ga4f7a3b1ee59e3c07f35726773c576a8d" args="(Evas_Textblock_Cursor *cur, const char *text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_text_markup_prepend </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Prepends markup to the cursor cur. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>assumes text does not include the unicode object replacement char (0xFFFC)</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to prepend to. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>the markup text to prepend. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Return no value. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6">evas_textblock_cursor_format_prepend()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">evas_object_textblock_text_markup_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gadaed9758086de4545aa6fb561445816f"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_text_markup_set" ref="gadaed9758086de4545aa6fb561445816f" args="(Evas_Object *obj, const char *text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_text_markup_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the tetxblock's text to the markup text. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>assumes text does not include the unicode object replacement char (0xFFFC)</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the textblock object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>the markup text to use. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Return no value. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga4f7a3b1ee59e3c07f35726773c576a8d">evas_object_textblock_text_markup_prepend()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga445a498191535460cf6de442cb2b3a41">evas_textblock_cursor_paragraph_first()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga431ec30179fc3d7bcd98f508453e41bb"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_valign_get" ref="ga431ec30179fc3d7bcd98f508453e41bb" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI double evas_object_textblock_valign_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the vertical alignment of a textblock. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The elignment set for the object </dd></dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5f08b5b6222ed341574ec8167a86c9a0"></a><!-- doxytag: member="evas_object_textblock.c::evas_object_textblock_valign_set" ref="ga5f08b5b6222ed341574ec8167a86c9a0" args="(Evas_Object *obj, double align)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_textblock_valign_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">double&nbsp;</td>
+          <td class="paramname"> <em>align</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the vertical alignment of text within the textblock object as a whole. </p>
+<p>Normally alignment is 0.0 (top of object). Values given should be between 0.0 and 1.0 (1.0 bottom of object, 0.5 being vertically centered etc.).</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The given textblock object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>align</em>&nbsp;</td><td>A value between 0.0 and 1.0 </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="since"><dt><b>Since:</b></dt><dd>1.1.0 </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gabd21b412b8cbc90419cd7d375cc1b625"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_at_format_set" ref="gabd21b412b8cbc90419cd7d375cc1b625" args="(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *fmt)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_at_format_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>fmt</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the cursor to point to the position of fmt. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>fmt</em>&nbsp;</td><td>the format to update according to. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga216d7d74aae2d58f0cc42bf1a0291b00"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_char_coord_set" ref="ga216d7d74aae2d58f0cc42bf1a0291b00" args="(Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_char_coord_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the position of the cursor according to the X and Y coordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>coord to set by. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>coord to set by. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success, EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">evas_textblock_cursor_line_char_last()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf9cd7ffa37008c0d6f61413703a0670e"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_char_delete" ref="gaf9cd7ffa37008c0d6f61413703a0670e" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_char_delete </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete the character at the location of the cursor. </p>
+<p>If there's a format pointing to this position, delete it as well.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor pointing to the current location. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga47950e666e252bbf0ad9d46b59e74269"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_char_geometry_get" ref="ga47950e666e252bbf0ad9d46b59e74269" args="(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_char_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the geometry of the char at cur. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the position of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>the x of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>the y of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>the w of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>the h of the char. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>line number of the char on success, -1 on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8f3fba0d1d853db5694b3803db73d9cd"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_char_next" ref="ga8f3fba0d1d853db5694b3803db73d9cd" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_char_next </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances 1 char forward. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to advance. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga85773221b22e6d042cc6b581de08c87a">evas_textblock_cursor_paragraph_next()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6">evas_textblock_cursor_format_prepend()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gace122729e6764dc54bfee83b9865efc9"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_char_prev" ref="gace122729e6764dc54bfee83b9865efc9" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_char_prev </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances 1 char backward. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to advance. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">evas_textblock_cursor_paragraph_prev()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">evas_textblock_cursor_geometry_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga194b0bc812a6c031bc80a195bff0a40e"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_compare" ref="ga194b0bc812a6c031bc80a195bff0a40e" args="(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_compare </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Compare two cursors. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur1</em>&nbsp;</td><td>the first cursor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cur2</em>&nbsp;</td><td>the second cursor. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>-1 if cur1 &lt; cur2, 0 if cur1 == cur2 and 1 otherwise. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga1b581bb089e3f335cde9f7e824e9e0d4">evas_textblock_cursor_range_delete()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga5c69a5636c96fec1835e58b361037bdc">evas_textblock_cursor_range_geometry_get()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga0ac2a1684a7def72b027d573f235c3c6">evas_textblock_cursor_range_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga77a5f2b742f74110aad4f0b2af6a91aa"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_content_get" ref="ga77a5f2b742f74110aad4f0b2af6a91aa" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* evas_textblock_cursor_content_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the content of the cursor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the text in the range </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3">evas_textblock_cursor_format_get()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gae386e3627175b7d20a14ad58ddd5aaa8">evas_textblock_node_format_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gadeff0745dac418696bdd9a380ad54e9a"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_copy" ref="gadeff0745dac418696bdd9a380ad54e9a" args="(const Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_copy </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur_dest</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Make cur_dest point to the same place as cur. </p>
+<p>Does not work if they don't point to the same object.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the source cursor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cur_dest</em>&nbsp;</td><td>destination cursor. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">evas_textblock_cursor_eol_get()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">evas_textblock_cursor_geometry_get()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga1b581bb089e3f335cde9f7e824e9e0d4">evas_textblock_cursor_range_delete()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga0ac2a1684a7def72b027d573f235c3c6">evas_textblock_cursor_range_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad5c9c6526512b13fe53aa763778aa6f8"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_eol_get" ref="gad5c9c6526512b13fe53aa763778aa6f8" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_eol_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Checks if the cursor points to the end of the line. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to check. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if true, EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gadeff0745dac418696bdd9a380ad54e9a">evas_textblock_cursor_copy()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gaf96505739a5a805922f86b0e9c577afe">evas_textblock_cursor_line_char_last()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6c8336913e645d5bedbc93ba7d06d079"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_append" ref="ga6c8336913e645d5bedbc93ba7d06d079" args="(Evas_Textblock_Cursor *cur, const char *format)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_append </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>format</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds format to the current cursor position. </p>
+<p>If the format being added is a visible format, add it *before* the cursor position, otherwise, add it after. This behavior is because visible formats are like characters and invisible should be stacked in a way that the last one is added last.</p>
+<p>This function works with native formats, that means that style defined tags like <br/>
+ won't work here. For those kind of things use markup prepend.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to where to add format at. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>the format to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns true if a visible format was added, false otherwise. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6" title="Adds format to the current cursor position.">evas_textblock_cursor_format_prepend()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gacc79760e60e2aa49cb5c2aaa8bb73ba0">evas_textblock_cursor_text_prepend()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6">evas_textblock_cursor_format_prepend()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad4abd947509949e9b683003018481aa3"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_get" ref="gad4abd947509949e9b683003018481aa3" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a>* evas_textblock_cursor_format_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the format node at the position pointed by cur. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the position to look at. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the format node if found, NULL otherwise. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c" title="Check if the current cursor position is a visible format.">evas_textblock_cursor_format_is_visible_get()</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">evas_textblock_cursor_content_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8a85968d8fe24bcb92738df510993d8c"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_is_visible_get" ref="ga8a85968d8fe24bcb92738df510993d8c" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_is_visible_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Check if the current cursor position is a visible format. </p>
+<p>This way is more efficient than <a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3" title="Return the format node at the position pointed by cur.">evas_textblock_cursor_format_get()</a> to check for the existence of a visible format.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to look at. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if the cursor points to a visible format, EINA_FALSE otherwise. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#gad4abd947509949e9b683003018481aa3" title="Return the format node at the position pointed by cur.">evas_textblock_cursor_format_get()</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">evas_textblock_cursor_content_get()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga6c8336913e645d5bedbc93ba7d06d079">evas_textblock_cursor_format_append()</a>, <a class="el" href="group__Evas__Object__Textblock.html#ga6938413ee2c12497dfa517c3575e0311">evas_textblock_cursor_format_item_geometry_get()</a>, <a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">evas_textblock_cursor_is_format()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga674d0cf1c0273fa58f1f2b4007b0b455">evas_textblock_cursor_text_append()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6938413ee2c12497dfa517c3575e0311"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_item_geometry_get" ref="ga6938413ee2c12497dfa517c3575e0311" args="(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_item_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>to be documented. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>to be documented. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>to be documented. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>to be documented. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaedae64aa95805f0c3480cf6001297ae9"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_next" ref="gaedae64aa95805f0c3480cf6001297ae9" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_next </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances to the next format node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to be updated. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success EINA_FALSE otherwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga7e819b359a7e12cb3ecf3357029b9cb6"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_prepend" ref="ga7e819b359a7e12cb3ecf3357029b9cb6" args="(Evas_Textblock_Cursor *cur, const char *format)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_prepend </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>format</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds format to the current cursor position. </p>
+<p>If the format being added is a visible format, add it *before* the cursor position, otherwise, add it after. This behavior is because visible formats are like characters and invisible should be stacked in a way that the last one is added last. If the format is visible the cursor is advanced after it.</p>
+<p>This function works with native formats, that means that style defined tags like <br/>
+ won't work here. For those kind of things use markup prepend.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to where to add format at. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>the format to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns true if a visible format was added, false otherwise. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga7e819b359a7e12cb3ecf3357029b9cb6" title="Adds format to the current cursor position.">evas_textblock_cursor_format_prepend()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">evas_textblock_cursor_char_next()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga6c8336913e645d5bedbc93ba7d06d079">evas_textblock_cursor_format_append()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga4f7a3b1ee59e3c07f35726773c576a8d">evas_object_textblock_text_markup_prepend()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga560593895b7ba6e3d309463c921ad9ec"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_format_prev" ref="ga560593895b7ba6e3d309463c921ad9ec" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_format_prev </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances to the previous format node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaf389372f80b4cd3f2fc1fd8b99637367">evas_textblock_cursor_is_format()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaec3e250258e2f587381bcd1539469137"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_free" ref="gaec3e250258e2f587381bcd1539469137" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_free </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Free the cursor and unassociate it from the object. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>do not use it to free unassociated cursors.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to free. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga53de4d5aa108014959e6eef6cc09e463"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_geometry_get" ref="ga53de4d5aa108014959e6eef6cc09e463" args="(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_BiDi_Direction *&nbsp;</td>
+          <td class="paramname"> <em>dir</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Textblock_Cursor_Type&nbsp;</td>
+          <td class="paramname"> <em>ctype</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the geometry of the cursor. </p>
+<p>Depends on the type of cursor requested. This should be used instead of char_geometry_get because there are weird special cases with BiDi text. in '_' cursor mode (i.e a line below the char) it's the same as char_geometry get, except for the case of the last char of a line which depends on the paragraph direction.</p>
+<p>in '|' cursor mode (i.e a line between two chars) it is very varyable. For example consider the following visual string: "abcCBA" (ABC are rtl chars), a cursor pointing on A should actually draw a '|' between the c and the C.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>the x of the cursor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>the y of the cursor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>the width of the cursor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>the height of the cursor </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dir</em>&nbsp;</td><td>the direction of the cursor, can be NULL. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ctype</em>&nbsp;</td><td>the type of the cursor. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>line number of the char on success, -1 on error. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">evas_textblock_cursor_char_prev()</a>, <a class="el" href="group__Evas__Object__Textblock.html#gadeff0745dac418696bdd9a380ad54e9a">evas_textblock_cursor_copy()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga07130c3e5323cc4aab5740e926221105">evas_textblock_cursor_pen_geometry_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf389372f80b4cd3f2fc1fd8b99637367"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_is_format" ref="gaf389372f80b4cd3f2fc1fd8b99637367" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_is_format </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns true if the cursor points to a format. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to check. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns EINA_TRUE if a cursor points to a format EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga560593895b7ba6e3d309463c921ad9ec">evas_textblock_cursor_format_prev()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga6da9c7bff6073756a619f9b8a00d0e0b"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_line_char_first" ref="ga6da9c7bff6073756a619f9b8a00d0e0b" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_line_char_first </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Go to the start of the current line. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf96505739a5a805922f86b0e9c577afe"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_line_char_last" ref="gaf96505739a5a805922f86b0e9c577afe" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_line_char_last </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Go to the end of the current line. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga216d7d74aae2d58f0cc42bf1a0291b00">evas_textblock_cursor_char_coord_set()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gad5c9c6526512b13fe53aa763778aa6f8">evas_textblock_cursor_eol_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab730b9223f43f4bf255f7b3bd44f3ddb"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_line_coord_set" ref="gab730b9223f43f4bf255f7b3bd44f3ddb" args="(Evas_Textblock_Cursor *cur, Evas_Coord y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_line_coord_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the cursor position according to the y coord. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cur to be set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>the coord to set by. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the line number found, -1 on error. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaa1992968fd64630687b18a5f9d632edf">evas_textblock_cursor_line_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa49a0235809d49fb5f988253050dd101"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_line_geometry_get" ref="gaa49a0235809d49fb5f988253050dd101" args="(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_line_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the geometry of the line at cur. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the position of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cx</em>&nbsp;</td><td>the x of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>the y of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cw</em>&nbsp;</td><td>the width of the line. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>the height of the line. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>line number of the line on success, -1 on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaa1992968fd64630687b18a5f9d632edf"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_line_set" ref="gaa1992968fd64630687b18a5f9d632edf" args="(Evas_Textblock_Cursor *cur, int line)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_line_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>line</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Go to the start of the line passed. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>cursor to update. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>numer to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE on success, EINA_FALSE on error. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gab730b9223f43f4bf255f7b3bd44f3ddb">evas_textblock_cursor_line_coord_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga14a0a29c79eeb378c73f1383bb09424d"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_char_first" ref="ga14a0a29c79eeb378c73f1383bb09424d" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_paragraph_char_first </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Go to the first char in the node the cursor is pointing on. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">evas_textblock_cursor_paragraph_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf504e62cf0b498631ec8154c14b2efb4"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_char_last" ref="gaf504e62cf0b498631ec8154c14b2efb4" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_paragraph_char_last </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Go to the last char in a text node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga2654bf905bdd0fe98402abe105c815d0">evas_textblock_cursor_paragraph_last()</a>, <a class="el" href="group__Evas__Object__Textblock.html#gabe9fa26c799408129f013440e518f699">evas_textblock_cursor_paragraph_prev()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">evas_textblock_cursor_paragraph_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga445a498191535460cf6de442cb2b3a41"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_first" ref="ga445a498191535460cf6de442cb2b3a41" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_paragraph_first </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the cursor to the start of the first text node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gadaed9758086de4545aa6fb561445816f">evas_object_textblock_text_markup_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2654bf905bdd0fe98402abe105c815d0"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_last" ref="ga2654bf905bdd0fe98402abe105c815d0" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_paragraph_last </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>sets the cursor to the end of the last text node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">evas_textblock_cursor_paragraph_char_last()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga85773221b22e6d042cc6b581de08c87a"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_next" ref="ga85773221b22e6d042cc6b581de08c87a" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_paragraph_next </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances to the the start of the next text node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if it managed to advance a paragraph, EINA_FALSE otherwise. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga8f3fba0d1d853db5694b3803db73d9cd">evas_textblock_cursor_char_next()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gabe9fa26c799408129f013440e518f699"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_prev" ref="gabe9fa26c799408129f013440e518f699" args="(Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_textblock_cursor_paragraph_prev </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Advances to the the end of the previous text node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if it managed to advance a paragraph, EINA_FALSE otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">evas_textblock_cursor_paragraph_char_last()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gace122729e6764dc54bfee83b9865efc9">evas_textblock_cursor_char_prev()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2369c2b14e0a58379e28327870a57f23"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_text_get" ref="ga2369c2b14e0a58379e28327870a57f23" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_cursor_paragraph_text_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the text of the paragraph cur points to - returns the text in markup. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor pointing to the paragraph. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the text on success, NULL otherwise. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga14a0a29c79eeb378c73f1383bb09424d">evas_textblock_cursor_paragraph_char_first()</a>, <a class="el" href="group__Evas__Object__Textblock.html#gaf504e62cf0b498631ec8154c14b2efb4">evas_textblock_cursor_paragraph_char_last()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#ga0ac2a1684a7def72b027d573f235c3c6">evas_textblock_cursor_range_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga57b2e7d853306c435946e0db83080db5"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_paragraph_text_length_get" ref="ga57b2e7d853306c435946e0db83080db5" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_paragraph_text_length_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the length of the paragraph, cheaper the eina_unicode_strlen(). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the position of the paragraph. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the length of the paragraph on success, -1 otehrwise. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga07130c3e5323cc4aab5740e926221105"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_pen_geometry_get" ref="ga07130c3e5323cc4aab5740e926221105" args="(const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_pen_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cy</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>cw</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the geometry of the pen at cur. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the position of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cpen_x</em>&nbsp;</td><td>the pen_x of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cy</em>&nbsp;</td><td>the y of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cadv</em>&nbsp;</td><td>the adv of the char. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>the h of the char. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>line number of the char on success, -1 on error. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga53de4d5aa108014959e6eef6cc09e463">evas_textblock_cursor_geometry_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga7f74459b59870c258bd312ff114778bc"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_pos_get" ref="ga7f74459b59870c258bd312ff114778bc" args="(const Evas_Textblock_Cursor *cur)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_pos_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the current cursor pos. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to take the position from. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the position or -1 on error </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gacde95e638bba6858b73f316afe2cfef0"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_pos_set" ref="gacde95e638bba6858b73f316afe2cfef0" args="(Evas_Textblock_Cursor *cur, int _pos)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_pos_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>_pos</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the cursor pos. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to be set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>the pos to set. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga1b581bb089e3f335cde9f7e824e9e0d4"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_range_delete" ref="ga1b581bb089e3f335cde9f7e824e9e0d4" args="(Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_range_delete </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Delete the range between cur1 and cur2. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur1</em>&nbsp;</td><td>one side of the range. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cur2</em>&nbsp;</td><td>the second side of the range </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga194b0bc812a6c031bc80a195bff0a40e">evas_textblock_cursor_compare()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gadeff0745dac418696bdd9a380ad54e9a">evas_textblock_cursor_copy()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga5c69a5636c96fec1835e58b361037bdc"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_range_geometry_get" ref="ga5c69a5636c96fec1835e58b361037bdc" args="(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_textblock_cursor_range_geometry_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur2</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the geometry of a range. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur1</em>&nbsp;</td><td>one side of the range. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cur2</em>&nbsp;</td><td>other side of the range. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a list of Rectangles representing the geometry of the range. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga194b0bc812a6c031bc80a195bff0a40e">evas_textblock_cursor_compare()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga0ac2a1684a7def72b027d573f235c3c6"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_range_text_get" ref="ga0ac2a1684a7def72b027d573f235c3c6" args="(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *_cur2, Evas_Textblock_Text_Type format __UNUSED__)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI char* evas_textblock_cursor_range_text_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur1</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>_cur2</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Textblock_Text_Type format&nbsp;</td>
+          <td class="paramname"> <em>__UNUSED__</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the text in the range between cur1 and cur2. </p>
+<p>FIXME: format is currently unused, you always get markup back.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur1</em>&nbsp;</td><td>one side of the range. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cur2</em>&nbsp;</td><td>the other side of the range </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>to be documented </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the text in the range </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd>elm_entry_markup_to_utf8() </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga194b0bc812a6c031bc80a195bff0a40e">evas_textblock_cursor_compare()</a>, and <a class="el" href="group__Evas__Object__Textblock.html#gadeff0745dac418696bdd9a380ad54e9a">evas_textblock_cursor_copy()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga2369c2b14e0a58379e28327870a57f23">evas_textblock_cursor_paragraph_text_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga74682be12e8108f2956ab8b02f39d9ab"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_set_at_format" ref="ga74682be12e8108f2956ab8b02f39d9ab" args="(Evas_Textblock_Cursor *cur, const Evas_Object_Textblock_Node_Format *n)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_cursor_set_at_format </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the cursor to point to the place where format points to. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to update. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the format node to update according. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gab53e3b12b9332180ad6736100333eb71">evas_textblock_node_format_remove_pair()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga674d0cf1c0273fa58f1f2b4007b0b455"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_text_append" ref="ga674d0cf1c0273fa58f1f2b4007b0b455" args="(Evas_Textblock_Cursor *cur, const char *_text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_text_append </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>_text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds text to the current cursor position and set the cursor to *before* the start of the text just added. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to where to add text at. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>_text</em>&nbsp;</td><td>the text to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the len of the text added. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#gacc79760e60e2aa49cb5c2aaa8bb73ba0" title="Adds text to the current cursor position and set the cursor to *after* the start of the text just add...">evas_textblock_cursor_text_prepend()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga8a85968d8fe24bcb92738df510993d8c">evas_textblock_cursor_format_is_visible_get()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gacc79760e60e2aa49cb5c2aaa8bb73ba0">evas_textblock_cursor_text_prepend()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gacc79760e60e2aa49cb5c2aaa8bb73ba0"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_cursor_text_prepend" ref="gacc79760e60e2aa49cb5c2aaa8bb73ba0" args="(Evas_Textblock_Cursor *cur, const char *_text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_textblock_cursor_text_prepend </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Cursor *&nbsp;</td>
+          <td class="paramname"> <em>cur</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>_text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Adds text to the current cursor position and set the cursor to *after* the start of the text just added. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>cur</em>&nbsp;</td><td>the cursor to where to add text at. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>_text</em>&nbsp;</td><td>the text to add. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the len of the text added. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Object__Textblock.html#ga674d0cf1c0273fa58f1f2b4007b0b455" title="Adds text to the current cursor position and set the cursor to *before* the start of the text just ad...">evas_textblock_cursor_text_append()</a> </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga674d0cf1c0273fa58f1f2b4007b0b455">evas_textblock_cursor_text_append()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga6c8336913e645d5bedbc93ba7d06d079">evas_textblock_cursor_format_append()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac165d57003e552fa6739158dc2ed73f5"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_escape_string_get" ref="gac165d57003e552fa6739158dc2ed73f5" args="(const char *escape)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_escape_string_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>escape</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the unescaped version of escape. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>escape</em>&nbsp;</td><td>the string to be escaped </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the unescaped version of escape </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga57940db29ffb910af130dd2100e48ff2"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_escape_string_range_get" ref="ga57940db29ffb910af130dd2100e48ff2" args="(const char *escape_start, const char *escape_end)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_escape_string_range_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>escape_start</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>escape_end</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the unescaped version of the string between start and end. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>escape_start</em>&nbsp;</td><td>the start of the string. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>escape_end</em>&nbsp;</td><td>the end of the string. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the unescaped version of the range </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga56e9057e5845fe785710ba6c5d07ab3e"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_first_get" ref="ga56e9057e5845fe785710ba6c5d07ab3e" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a>* evas_textblock_node_format_first_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the first format node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The evas, must not be NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the first format node, may be null if there are none. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga091521044b95190c75c57ca1661bcc83"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_last_get" ref="ga091521044b95190c75c57ca1661bcc83" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a>* evas_textblock_node_format_last_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the last format node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The evas textblock, must not be NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the first format node, may be null if there are none. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga341e85b5bb0c9b2c82db4eb5a2432a9d"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_next_get" ref="ga341e85b5bb0c9b2c82db4eb5a2432a9d" args="(const Evas_Object_Textblock_Node_Format *n)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a>* evas_textblock_node_format_next_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>n</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the next format node (after n). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the current format node - not null. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the next format node, may be null. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga8566bfff8ca71cc89cf704c9a082780c"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_prev_get" ref="ga8566bfff8ca71cc89cf704c9a082780c" args="(const Evas_Object_Textblock_Node_Format *n)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a>* evas_textblock_node_format_prev_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>n</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the prev format node (after n). </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the current format node - not null. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the prev format node, may be null. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab53e3b12b9332180ad6736100333eb71"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_remove_pair" ref="gab53e3b12b9332180ad6736100333eb71" args="(Evas_Object *obj, Evas_Object_Textblock_Node_Format *n)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_node_format_remove_pair </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>n</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove a format node and it's match. </p>
+<p>i.e, removes a &lt;tag&gt; &lt;/tag&gt; pair. Assumes the node is the first part of &lt;tag&gt; i.e, this won't work if n is a closing tag.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the evas object of the textblock - not null. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>n</em>&nbsp;</td><td>the current format node - not null. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Textblock.html#ga74682be12e8108f2956ab8b02f39d9ab">evas_textblock_cursor_set_at_format()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae386e3627175b7d20a14ad58ddd5aaa8"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_node_format_text_get" ref="gae386e3627175b7d20a14ad58ddd5aaa8" args="(const Evas_Object_Textblock_Node_Format *fmt)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_node_format_text_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#adcd2409468741c89d607f06e17da1f64">Evas_Object_Textblock_Node_Format</a> *&nbsp;</td>
+          <td class="paramname"> <em>fmt</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the text format representation of the format node. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>fmt</em>&nbsp;</td><td>the format node. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the textual format of the format node. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#ga77a5f2b742f74110aad4f0b2af6a91aa">evas_textblock_cursor_content_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga70b3680a8691c70bab39bd1c127424a5"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_string_escape_get" ref="ga70b3680a8691c70bab39bd1c127424a5" args="(const char *string, int *len_ret)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_string_escape_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>string</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>len_ret</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns the escaped version of the string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</td><td>to escape </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len_ret</em>&nbsp;</td><td>the len of the new escape </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the escaped string. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf527de9ea652e4435a0eaa6cda09585f"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_style_free" ref="gaf527de9ea652e4435a0eaa6cda09585f" args="(Evas_Textblock_Style *ts)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_style_free </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Style *&nbsp;</td>
+          <td class="paramname"> <em>ts</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Destroys a textblock style. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ts</em>&nbsp;</td><td>The textblock style to free. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Textblock.html#gaf581b9400cb7176a137451ab6193e3c0">evas_object_textblock_style_set()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae106e0cfb957f1916eb3833c1214394c"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_style_get" ref="gae106e0cfb957f1916eb3833c1214394c" args="(const Evas_Textblock_Style *ts)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_textblock_style_get </td>
+          <td>(</td>
+          <td class="paramtype">const Evas_Textblock_Style *&nbsp;</td>
+          <td class="paramname"> <em>ts</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Return the text of the style ts. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ts</em>&nbsp;</td><td>the style to get it's text. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the text of the style or null on error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga00cc8baec308c583ac801811dd381d4c"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_style_new" ref="ga00cc8baec308c583ac801811dd381d4c" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Evas_Textblock_Style* evas_textblock_style_new </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates a new textblock style. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The new textblock style. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac239e4649b0893284ea962a2183c3f14"></a><!-- doxytag: member="evas_object_textblock.c::evas_textblock_style_set" ref="gac239e4649b0893284ea962a2183c3f14" args="(Evas_Textblock_Style *ts, const char *text)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_textblock_style_set </td>
+          <td>(</td>
+          <td class="paramtype">Evas_Textblock_Style *&nbsp;</td>
+          <td class="paramname"> <em>ts</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>text</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the style ts to the style passed as text by text. </p>
+<p>Expected a string consisting of many (or none) tag='format' pairs.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>ts</em>&nbsp;</td><td>the style to set. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>text</em>&nbsp;</td><td>the text to parse - NOT NULL. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns no value. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Output__Method.html b/doc/html/group__Evas__Output__Method.html
new file mode 100644 (file)
index 0000000..891d704
--- /dev/null
@@ -0,0 +1,404 @@
+<html>
+<head>
+    <title>Evas: Render Engine Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Render Engine Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that are used to set the render engine for a given function, and then get that engine working.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11">evas_output_method_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int render_method)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output engine for the given evas.  <a href="#gab6cca6c7a5edabef057790889d560b11"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gac4127a10231f1851cc3443a84fb0b059">evas_output_method_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the number of the output engine used for the given evas.  <a href="#gac4127a10231f1851cc3443a84fb0b059"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713">evas_engine_info_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieves the current render engine info struct from the given evas.  <a href="#ga882d5f9411b5556719bdf28a134ee713"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">evas_engine_info_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a> *info)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Applies the engine settings for the given evas from the given <code>Evas_Engine_Info</code> structure.  <a href="#gafeff04b89b4498eedf99c89e0a06e604"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b">evas_render_method_lookup</a> (const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Look up a numeric ID from a string name of a rendering engine.  <a href="#gad8a701a8d4a2acbb2ce4b741ae55ce6b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_List *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285">evas_render_method_list</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">List all the rendering engines compiled into the copy of the Evas library.  <a href="#ga23d8fc2c859f5dfcc9f50f441b96d285"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693">evas_render_method_list_free</a> (Eina_List *list)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function should be called to free a list of engine names.  <a href="#gab7f4a90e3082364eca04b39d3c1c2693"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that are used to set the render engine for a given function, and then get that engine working. </p>
+<p>The following code snippet shows how they can be used to initialise an evas that uses the X11 software engine: </p>
+<div class="fragment"><pre class="fragment"> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ Evas_Engine_Info_Software_X11 *einfo;
+ <span class="keyword">extern</span> Display *display;
+ <span class="keyword">extern</span> Window win;
+
+ <a class="code" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init</a>();
+
+ evas = <a class="code" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87" title="Creates a new empty evas.">evas_new</a>();
+ <a class="code" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11" title="Sets the output engine for the given evas.">evas_output_method_set</a>(evas, <a class="code" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b" title="Look up a numeric ID from a string name of a rendering engine.">evas_render_method_lookup</a>(<span class="stringliteral">&quot;software_x11&quot;</span>));
+ <a class="code" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063" title="Sets the output size of the render engine of the given evas.">evas_output_size_set</a>(evas, 640, 480);
+ <a class="code" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08" title="Sets the output viewport of the given evas in evas units.">evas_output_viewport_set</a>(evas, 0, 0, 640, 480);
+ einfo = (Evas_Engine_Info_Software_X11 *)<a class="code" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713" title="Retrieves the current render engine info struct from the given evas.">evas_engine_info_get</a>(evas);
+ einfo-&gt;info.display = display;
+ einfo-&gt;info.visual = DefaultVisual(display, DefaultScreen(display));
+ einfo-&gt;info.colormap = DefaultColormap(display, DefaultScreen(display));
+ einfo-&gt;info.drawable = win;
+ einfo-&gt;info.depth = DefaultDepth(display, DefaultScreen(display));
+ <a class="code" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604" title="Applies the engine settings for the given evas from the given Evas_Engine_Info structure.">evas_engine_info_set</a>(evas, (<a class="code" href="struct__Evas__Engine__Info.html" title="Generic engine information.">Evas_Engine_Info</a> *)einfo);
+</pre></div> <hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga882d5f9411b5556719bdf28a134ee713"></a><!-- doxytag: member="evas_main.c::evas_engine_info_get" ref="ga882d5f9411b5556719bdf28a134ee713" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a>* evas_engine_info_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the current render engine info struct from the given evas. </p>
+<p>The returned structure is publicly modifiable. The contents are valid until either <a class="el" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604">evas_engine_info_set</a> or <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf">evas_render</a> are called.</p>
+<p>This structure does not need to be freed by the caller.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the Engine Info structure. <code>NULL</code> is returned if an engine has not yet been assigned. </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Engine__Info.html#ad990a452b19dbd3b0ea73e3c1827dcb1">_Evas_Engine_Info::magic</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gafeff04b89b4498eedf99c89e0a06e604"></a><!-- doxytag: member="evas_main.c::evas_engine_info_set" ref="gafeff04b89b4498eedf99c89e0a06e604" args="(Evas *e, Evas_Engine_Info *info)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_engine_info_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Engine__Info.html">Evas_Engine_Info</a> *&nbsp;</td>
+          <td class="paramname"> <em>info</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Applies the engine settings for the given evas from the given <code>Evas_Engine_Info</code> structure. </p>
+<p>To get the Evas_Engine_Info structure to use, call <a class="el" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713">evas_engine_info_get</a> . Do not try to obtain a pointer to an <code>Evas_Engine_Info</code> structure in any other way.</p>
+<p>You will need to call this function at least once before you can create objects on an evas or render that evas. Some engines allow their settings to be changed more than once.</p>
+<p>Once called, the <code>info</code> pointer should be considered invalid.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>info</em>&nbsp;</td><td>The pointer to the Engine Info to use </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 if no error occurred, 0 otherwise </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Engine__Info.html#ad990a452b19dbd3b0ea73e3c1827dcb1">_Evas_Engine_Info::magic</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gac4127a10231f1851cc3443a84fb0b059"></a><!-- doxytag: member="evas_main.c::evas_output_method_get" ref="gac4127a10231f1851cc3443a84fb0b059" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_output_method_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieves the number of the output engine used for the given evas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The ID number of the output engine being used. <code>0</code> is returned if there is an error. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gab6cca6c7a5edabef057790889d560b11"></a><!-- doxytag: member="evas_main.c::evas_output_method_set" ref="gab6cca6c7a5edabef057790889d560b11" args="(Evas *e, int render_method)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_output_method_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>render_method</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the output engine for the given evas. </p>
+<p>Once the output engine for an evas is set, any attempt to change it will be ignored. The value for <code>render_method</code> can be found using <a class="el" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b">evas_render_method_lookup</a> .</p>
+<dl class="attention"><dt><b>Attention:</b></dt><dd>it is mandatory that one calls <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a> before setting the output method.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>render_method</em>&nbsp;</td><td>The numeric engine value to use. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga23d8fc2c859f5dfcc9f50f441b96d285"></a><!-- doxytag: member="evas_main.c::evas_render_method_list" ref="ga23d8fc2c859f5dfcc9f50f441b96d285" args="(void)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_List* evas_render_method_list </td>
+          <td>(</td>
+          <td class="paramtype">void&nbsp;</td>
+          <td class="paramname"></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>List all the rendering engines compiled into the copy of the Evas library. </p>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A linked list whose data members are C strings of engine names</dd></dl>
+<p>Calling this will return a handle (pointer) to an Evas linked list. Each node in the linked list will have the data pointer be a (char *) pointer to the string name of the rendering engine available. The strings should never be modified, neither should the list be modified. This list should be cleaned up as soon as the program no longer needs it using <a class="el" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693" title="This function should be called to free a list of engine names.">evas_render_method_list_free()</a>. If no engines are available from Evas, NULL will be returned.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> Eina_List *engine_list, *l;
+ <span class="keywordtype">char</span> *engine_name;
+
+ engine_list = <a class="code" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285" title="List all the rendering engines compiled into the copy of the Evas library.">evas_render_method_list</a>();
+ <span class="keywordflow">if</span> (!engine_list)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Evas supports no engines! Exit.\n&quot;</span>);
+     exit(-1);
+   }
+ printf(<span class="stringliteral">&quot;Availible Evas Engines:\n&quot;</span>);
+ EINA_LIST_FOREACH(engine_list, l, engine_name)
+     printf(&quot;%s\n&quot;, engine_name);
+ <a class="code" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693" title="This function should be called to free a list of engine names.">evas_render_method_list_free</a>(engine_list);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="gab7f4a90e3082364eca04b39d3c1c2693"></a><!-- doxytag: member="evas_main.c::evas_render_method_list_free" ref="gab7f4a90e3082364eca04b39d3c1c2693" args="(Eina_List *list)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_render_method_list_free </td>
+          <td>(</td>
+          <td class="paramtype">Eina_List *&nbsp;</td>
+          <td class="paramname"> <em>list</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>This function should be called to free a list of engine names. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The Eina_List base pointer for the engine list to be freed</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>When this function is called it will free the engine list passed in as <code>list</code>. The list should only be a list of engines generated by calling <a class="el" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285" title="List all the rendering engines compiled into the copy of the Evas library.">evas_render_method_list()</a>. If <code>list</code> is NULL, nothing will happen.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> Eina_List *engine_list, *l;
+ <span class="keywordtype">char</span> *engine_name;
+
+ engine_list = <a class="code" href="group__Evas__Output__Method.html#ga23d8fc2c859f5dfcc9f50f441b96d285" title="List all the rendering engines compiled into the copy of the Evas library.">evas_render_method_list</a>();
+ <span class="keywordflow">if</span> (!engine_list)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Evas supports no engines! Exit.\n&quot;</span>);
+     exit(-1);
+   }
+ printf(<span class="stringliteral">&quot;Availible Evas Engines:\n&quot;</span>);
+ EINA_LIST_FOREACH(engine_list, l, engine_name)
+     printf(&quot;%s\n&quot;, engine_name);
+ <a class="code" href="group__Evas__Output__Method.html#gab7f4a90e3082364eca04b39d3c1c2693" title="This function should be called to free a list of engine names.">evas_render_method_list_free</a>(engine_list);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="gad8a701a8d4a2acbb2ce4b741ae55ce6b"></a><!-- doxytag: member="evas_main.c::evas_render_method_lookup" ref="gad8a701a8d4a2acbb2ce4b741ae55ce6b" args="(const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_render_method_lookup </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Look up a numeric ID from a string name of a rendering engine. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>The string name of an engine </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A numeric (opaque) ID for the rendering engine</dd></dl>
+<p>This function looks up a numeric return value for the named engine in the string <code>name</code>. This is a normal C string, NUL byte terminated. The name is case sensitive. If the rendering engine is available, a numeric ID for that engine is returned that is not 0. If the engine is not available, 0 is returned, indicating an invalid engine.</p>
+<p>The programmer should NEVER rely on the numeric ID of an engine unless it is returned by this function. Programs should NOT be written accessing render method ID's directly, without first obtaining it from this function.</p>
+<dl class="attention"><dt><b>Attention:</b></dt><dd>it is mandatory that one calls <a class="el" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init()</a> before looking up the render method.</dd></dl>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keywordtype">int</span> engine_id;
+ <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+
+ <a class="code" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init</a>();
+
+ evas = <a class="code" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87" title="Creates a new empty evas.">evas_new</a>();
+ <span class="keywordflow">if</span> (!evas)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Canvas creation failed. Fatal error.\n&quot;</span>);
+     exit(-1);
+   }
+ engine_id = <a class="code" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b" title="Look up a numeric ID from a string name of a rendering engine.">evas_render_method_lookup</a>(<span class="stringliteral">&quot;software_x11&quot;</span>);
+ <span class="keywordflow">if</span> (!engine_id)
+   {
+     fprintf(stderr, <span class="stringliteral">&quot;ERROR: Requested rendering engine is absent.\n&quot;</span>);
+     exit(-1);
+   }
+ <a class="code" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11" title="Sets the output engine for the given evas.">evas_output_method_set</a>(evas, engine_id);
+</pre></div> 
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Output__Size.html b/doc/html/group__Evas__Output__Size.html
new file mode 100644 (file)
index 0000000..fe74617
--- /dev/null
@@ -0,0 +1,327 @@
+<html>
+<head>
+    <title>Evas: Output and Viewport Resizing Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Output and Viewport Resizing Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that set and retrieve the output and viewport size of an evas.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063">evas_output_size_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int w, int h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output size of the render engine of the given evas.  <a href="#gaaf571f18f97f4067f554ab7713f01063"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a">evas_output_size_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int *w, int *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve the output size of the render engine of the given evas.  <a href="#ga1f3497644d526ff5ded49b19c1ec732a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08">evas_output_viewport_set</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the output viewport of the given evas in evas units.  <a href="#ga1d39edcaff429d884d4a70aa1fca0c08"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee">evas_output_viewport_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the render engine's output viewport co-ordinates in canvas units.  <a href="#gab94e38ef64004f0ead8cd8f7a8f69fee"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that set and retrieve the output and viewport size of an evas. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga1f3497644d526ff5ded49b19c1ec732a"></a><!-- doxytag: member="evas_main.c::evas_output_size_get" ref="ga1f3497644d526ff5ded49b19c1ec732a" args="(const Evas *e, int *w, int *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_output_size_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieve the output size of the render engine of the given evas. </p>
+<p>The output size is given in whatever the output units are for the engine.</p>
+<p>If either <code>w</code> or <code>h</code> is <code>NULL</code>, then it is ignored. If <code>e</code> is invalid, the returned results are undefined.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The pointer to an integer to store the width in. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The pointer to an integer to store the height in. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gaaf571f18f97f4067f554ab7713f01063"></a><!-- doxytag: member="evas_main.c::evas_output_size_set" ref="gaaf571f18f97f4067f554ab7713f01063" args="(Evas *e, int w, int h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_output_size_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the output size of the render engine of the given evas. </p>
+<p>The evas will render to a rectangle of the given size once this function is called. The output size is independent of the viewport size. The viewport will be stretched to fill the given rectangle.</p>
+<p>The units used for <code>w</code> and <code>h</code> depend on the engine used by the evas.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width in output units, usually pixels. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height in output units, usually pixels. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="gab94e38ef64004f0ead8cd8f7a8f69fee"></a><!-- doxytag: member="evas_main.c::evas_output_viewport_get" ref="gab94e38ef64004f0ead8cd8f7a8f69fee" args="(const Evas *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_output_viewport_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the render engine's output viewport co-ordinates in canvas units. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The pointer to a x variable to be filled in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The pointer to a y variable to be filled in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The pointer to a width variable to be filled in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The pointer to a height variable to be filled in</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Calling this function writes the current canvas output viewport size and location values into the variables pointed to by <code>x</code>, <code>y</code>, <code>w</code> and <code>h</code>. On success the variables have the output location and size values written to them in canvas units. Any of <code>x</code>, <code>y</code>, <code>w</code> or <code>h</code> that are NULL will not be written to. If <code>e</code> is invalid, the results are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ Evas_Coord x, y, width, height;
+
+ <a class="code" href="group__Evas__Output__Size.html#gab94e38ef64004f0ead8cd8f7a8f69fee" title="Get the render engine&amp;#39;s output viewport co-ordinates in canvas units.">evas_output_viewport_get</a>(evas, &amp;x, &amp;y, &amp;w, &amp;h);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga1d39edcaff429d884d4a70aa1fca0c08"></a><!-- doxytag: member="evas_main.c::evas_output_viewport_set" ref="ga1d39edcaff429d884d4a70aa1fca0c08" args="(Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_output_viewport_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>y</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>w</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets the output viewport of the given evas in evas units. </p>
+<p>The output viewport is the area of the evas that will be visible to the viewer. The viewport will be stretched to fit the output target of the evas when rendering is performed.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>The coordinate values do not have to map 1-to-1 with the output target. However, it is generally advised that it is done for ease of use.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The given evas. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The top-left corner x value of the viewport. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The top-left corner y value of the viewport. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>w</em>&nbsp;</td><td>The width of the viewport. Must be greater than 0. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The height of the viewport. Must be greater than 0. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Pointer__Group.html b/doc/html/group__Evas__Pointer__Group.html
new file mode 100644 (file)
index 0000000..aa57eff
--- /dev/null
@@ -0,0 +1,292 @@
+<html>
+<head>
+    <title>Evas: Pointer (Mouse) Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Pointer (Mouse) Functions<br/>
+<small>
+[<a class="el" href="group__Evas__Canvas.html">Canvas Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deal with the status of the pointer (mouse cursor).  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98">evas_pointer_output_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, int *x, int *y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function returns the current known pointer co-ordinates.  <a href="#gad8e78aded475fe26ea14b7410f510a98"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#ga2f7bf87c9b1268e68c85d4bb8b9e4b15">evas_pointer_canvas_xy_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, Evas_Coord *x, Evas_Coord *y)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function returns the current known pointer co-ordinates.  <a href="#ga2f7bf87c9b1268e68c85d4bb8b9e4b15"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580">evas_pointer_button_down_mask_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a bitmask with the mouse buttons currently pressed, set to 1.  <a href="#gaae658f627d7f31b051345e45377c3580"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a">evas_pointer_inside_get</a> (const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns whether the mouse pointer is logically inside the canvas.  <a href="#ga39a1840fd43442c20f321437bd5f427a"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deal with the status of the pointer (mouse cursor). </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaae658f627d7f31b051345e45377c3580"></a><!-- doxytag: member="evas_main.c::evas_pointer_button_down_mask_get" ref="gaae658f627d7f31b051345e45377c3580" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_pointer_button_down_mask_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns a bitmask with the mouse buttons currently pressed, set to 1. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A bitmask of the currently depressed buttons on the cavas</dd></dl>
+<p>Calling this function will return a 32-bit integer with the appropriate bits set to 1 that correspond to a mouse button being depressed. This limits Evas to a mouse devices with a maximum of 32 buttons, but that is generally in excess of any host system's pointing device abilities.</p>
+<p>A canvas by default begins with no mouse buttons being pressed and only calls to <a class="el" href="group__Evas__Event__Feeding__Group.html#ga5c9811b87406a96ff573b83d1efd52f2" title="Mouse down event feed.">evas_event_feed_mouse_down()</a>, evas_event_feed_mouse_down_data(), <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c" title="Mouse up event feed.">evas_event_feed_mouse_up()</a> and evas_event_feed_mouse_up_data() will alter that.</p>
+<p>The least significant bit corresponds to the first mouse button (button 1) and the most significant bit corresponds to the last mouse button (button 32).</p>
+<p>If <code>e</code> is not a valid canvas, the return value is undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keywordtype">int</span> button_mask, i;
+
+ button_mask = <a class="code" href="group__Evas__Pointer__Group.html#gaae658f627d7f31b051345e45377c3580" title="Returns a bitmask with the mouse buttons currently pressed, set to 1.">evas_pointer_button_down_mask_get</a>(evas);
+ printf(<span class="stringliteral">&quot;Buttons currently pressed:\n&quot;</span>);
+ <span class="keywordflow">for</span> (i = 0; i &lt; 32; i++)
+   {
+     <span class="keywordflow">if</span> ((button_mask &amp; (1 &lt;&lt; i)) != 0) printf(<span class="stringliteral">&quot;Button %i\n&quot;</span>, i + 1);
+   }
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga2f7bf87c9b1268e68c85d4bb8b9e4b15"></a><!-- doxytag: member="evas_main.c::evas_pointer_canvas_xy_get" ref="ga2f7bf87c9b1268e68c85d4bb8b9e4b15" args="(const Evas *e, Evas_Coord *x, Evas_Coord *y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_pointer_canvas_xy_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord *&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>This function returns the current known pointer co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The pointer to a Evas_Coord to be filled in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The pointer to a Evas_Coord to be filled in</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the current known canvas unit co-ordinates of the mouse pointer and sets the contents of the Evas_Coords pointed to by <code>x</code> and <code>y</code> to contain these co-ordinates. If <code>e</code> is not a valid canvas the results of this function are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ Evas_Coord mouse_x, mouse_y;
+
+ <a class="code" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98" title="This function returns the current known pointer co-ordinates.">evas_pointer_output_xy_get</a>(evas, &amp;mouse_x, &amp;mouse_y);
+ printf(<span class="stringliteral">&quot;Mouse is at canvas position %f, %f\n&quot;</span>, mouse_x, mouse_y);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="ga39a1840fd43442c20f321437bd5f427a"></a><!-- doxytag: member="evas_main.c::evas_pointer_inside_get" ref="ga39a1840fd43442c20f321437bd5f427a" args="(const Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_pointer_inside_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Returns whether the mouse pointer is logically inside the canvas. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>An integer that is 1 if the mouse is inside the canvas, 0 otherwise</dd></dl>
+<p>When this function is called it will return a value of either 0 or 1, depending on if <a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed" title="Mouse in event feed.">evas_event_feed_mouse_in()</a>, evas_event_feed_mouse_in_data(), or <a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13" title="Mouse out event feed.">evas_event_feed_mouse_out()</a>, evas_event_feed_mouse_out_data() have been called to feed in a mouse enter event into the canvas.</p>
+<p>A return value of 1 indicates the mouse is logically inside the canvas, and 0 implies it is logically outside the canvas.</p>
+<p>A canvas begins with the mouse being assumed outside (0).</p>
+<p>If <code>e</code> is not a valid canvas, the return value is undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+
+ <span class="keywordflow">if</span> (<a class="code" href="group__Evas__Pointer__Group.html#ga39a1840fd43442c20f321437bd5f427a" title="Returns whether the mouse pointer is logically inside the canvas.">evas_pointer_inside_get</a>(evas)) printf(<span class="stringliteral">&quot;Mouse is in!\n&quot;</span>);
+ <span class="keywordflow">else</span> printf(<span class="stringliteral">&quot;Mouse is out!\n&quot;</span>);
+</pre></div> 
+</div>
+</div>
+<a class="anchor" id="gad8e78aded475fe26ea14b7410f510a98"></a><!-- doxytag: member="evas_main.c::evas_pointer_output_xy_get" ref="gad8e78aded475fe26ea14b7410f510a98" args="(const Evas *e, int *x, int *y)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_pointer_output_xy_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>x</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>y</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>This function returns the current known pointer co-ordinates. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The pointer to the Evas Canvas </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>The pointer to an integer to be filled in </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>The pointer to an integer to be filled in</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function returns the current known screen/output co-ordinates of the mouse pointer and sets the contents of the integers pointed to by <code>x</code> and <code>y</code> to contain these co-ordinates. If <code>e</code> is not a valid canvas the results of this function are undefined.</p>
+<p>Example: </p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">extern</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *evas;
+ <span class="keywordtype">int</span> mouse_x, mouse_y;
+
+ <a class="code" href="group__Evas__Pointer__Group.html#gad8e78aded475fe26ea14b7410f510a98" title="This function returns the current known pointer co-ordinates.">evas_pointer_output_xy_get</a>(evas, &amp;mouse_x, &amp;mouse_y);
+ printf(<span class="stringliteral">&quot;Mouse is at screen position %i, %i\n&quot;</span>, mouse_x, mouse_y);
+</pre></div> 
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Smart__Group.html b/doc/html/group__Evas__Smart__Group.html
new file mode 100644 (file)
index 0000000..6884b44
--- /dev/null
@@ -0,0 +1,737 @@
+<html>
+<head>
+    <title>Evas: Smart Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Defines</a> &#124;
+<a href="#typedef-members">Typedefs</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Smart Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions that deal with Evas_Smart's, creating definition (classes) of objects that will have customized behavior for methods like <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set()</a> and others.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a smart object class  <a href="struct__Evas__Smart__Class.html#_details">More...</a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Describes a callback used by a smart class <a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e" title="Call any smart callbacks on obj for event.">evas_object_smart_callback_call()</a>, particularly useful to explain to user and its code (ie: introspection) what the parameter <code>event_info</code> will contain.  <a href="struct__Evas__Smart__Cb__Description.html#_details">More...</a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="define-members"></a>
+Defines</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga1ca1514302a47188c921b232d6ce42db"></a><!-- doxytag: member="Evas_Smart_Group::EVAS_SMART_CLASS_VERSION" ref="ga1ca1514302a47188c921b232d6ce42db" args="" -->
+#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">EVAS_SMART_CLASS_VERSION</a>&nbsp;&nbsp;&nbsp;4</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The version you have to put into the version field in the smart class struct. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0">EVAS_SMART_CLASS_INIT_NULL</a>&nbsp;&nbsp;&nbsp;{NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure.  <a href="#ga223f5d420c1e22275cd6490cd77c85f0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562">EVAS_SMART_CLASS_INIT_VERSION</a>&nbsp;&nbsp;&nbsp;{NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set version.  <a href="#gaaa610a135c79167162405b56cffe8562"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77">EVAS_SMART_CLASS_INIT_NAME_VERSION</a>(name)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name and version.  <a href="#gaff2bbd5bb79e51ad8d31f98106caff77"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a>(name, parent)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class.  <a href="#ga653b7bf36c2c87bd38d8126e11a4671d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a>(name, parent, callbacks)&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callbacks definition.  <a href="#ga5ebe1775142621cc3b75a3c57085ec83"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga58dc94af6f064b39b2bf0155908fbe52">EVAS_SMART_SUBCLASS_NEW</a>(smart_name, prefix, api_type, parent_type, parent_func, cb_desc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to subclass a Smart Class.  <a href="#ga58dc94af6f064b39b2bf0155908fbe52"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga4aa4b72aafa0391144fb0171aeff2ccd">EVAS_SMART_DATA_ALLOC</a>(o, priv_type)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convenience macro to allocate smart data only if needed.  <a href="#ga4aa4b72aafa0391144fb0171aeff2ccd"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95">evas_smart_class_inherit</a>(sc, parent_sc)&nbsp;&nbsp;&nbsp;evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Easy to use version of <a class="el" href="group__Evas__Smart__Group.html#ga21f5af32f724500c3380906d166fc49f" title="Sets one class to inherit from the other.">evas_smart_class_inherit_full()</a>.  <a href="#ga6888875280ccf11f026e09c890650c95"></a><br/></td></tr>
+<tr><td colspan="2"><h2><a name="typedef-members"></a>
+Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaea15f67e901bf5380cdb67dc1bb43391"></a><!-- doxytag: member="Evas_Smart_Group::Evas_Smart_Class" ref="gaea15f67e901bf5380cdb67dc1bb43391" args="" -->
+typedef struct <a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaea15f67e901bf5380cdb67dc1bb43391">Evas_Smart_Class</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A smart object base class. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga0ad0e7d482d7660e756e275d355e3634"></a><!-- doxytag: member="Evas_Smart_Group::Evas_Smart_Cb_Description" ref="ga0ad0e7d482d7660e756e275d355e3634" args="" -->
+typedef struct <br class="typebreak"/>
+<a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga0ad0e7d482d7660e756e275d355e3634">Evas_Smart_Cb_Description</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A smart object callback description, used to provide introspection. <br/></td></tr>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga3501ae449533ae15eee9cbf65811cad2">evas_smart_free</a> (<a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Free an Evas_Smart.  <a href="#ga3501ae449533ae15eee9cbf65811cad2"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a">evas_smart_class_new</a> (const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Creates an Evas_Smart from an Evas_Smart_Class.  <a href="#ga25a97a07a32a460c8c2d55916481dd1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gac41799a0e334d515fa8e07313b88c611">evas_smart_class_get</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Evas_Smart_Class of an Evas_Smart.  <a href="#gac41799a0e334d515fa8e07313b88c611"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#gaa88f3f98a71031573b8dfc4bfeac2f64">evas_smart_data_get</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the data pointer set on an Evas_Smart.  <a href="#gaa88f3f98a71031573b8dfc4bfeac2f64"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> **&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga67ca7d389fd32a2dc4d7d6e29430d900">evas_smart_callbacks_descriptions_get</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s, unsigned int *count)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the callbacks known by this Evas_Smart.  <a href="#ga67ca7d389fd32a2dc4d7d6e29430d900"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const <br class="typebreak"/>
+<a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga5532335a315b4c84ab914afbbe771363">evas_smart_callback_description_find</a> (const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s, const char *name)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find callback description for callback called <em>name</em>.  <a href="#ga5532335a315b4c84ab914afbbe771363"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Group.html#ga21f5af32f724500c3380906d166fc49f">evas_smart_class_inherit_full</a> (<a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc, const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *parent_sc, unsigned int parent_sc_size)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets one class to inherit from the other.  <a href="#ga21f5af32f724500c3380906d166fc49f"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions that deal with Evas_Smart's, creating definition (classes) of objects that will have customized behavior for methods like <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize()</a>, <a class="el" href="group__Evas__Object__Group__Basic.html#ga19eabaaeec1ea375366e201f533f3d56" title="Clip one object to another.">evas_object_clip_set()</a> and others. </p>
+<p>These objects will accept the generic methods defined in <a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a> and the extensions defined in <a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>. There are couple of existent smart objects in Evas itself, see <a class="el" href="group__Evas__Object__Box.html">Box (Sequence) Smart Object.</a>, <a class="el" href="group__Evas__Object__Table.html">Table Smart Object.</a> and <a class="el" href="group__Evas__Smart__Object__Clipped.html">Clipped Smart Object</a>. </p>
+<hr/><h2>Define Documentation</h2>
+<a class="anchor" id="ga6888875280ccf11f026e09c890650c95"></a><!-- doxytag: member="Evas.h::evas_smart_class_inherit" ref="ga6888875280ccf11f026e09c890650c95" args="(sc, parent_sc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define evas_smart_class_inherit</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">sc, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">parent_sc</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td>&nbsp;&nbsp;&nbsp;evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Easy to use version of <a class="el" href="group__Evas__Smart__Group.html#ga21f5af32f724500c3380906d166fc49f" title="Sets one class to inherit from the other.">evas_smart_class_inherit_full()</a>. </p>
+<p>This version will use sizeof(parent_sc), copying everything.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>sc</em>&nbsp;</td><td>child class, will have methods copied from <em>parent_sc</em> </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parent_sc</em>&nbsp;</td><td>parent class, will provide contents to be copied. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaff2bbd5bb79e51ad8d31f98106caff77"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_INIT_NAME_VERSION" ref="gaff2bbd5bb79e51ad8d31f98106caff77" args="(name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_CLASS_INIT_NAME_VERSION</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">name</td>
+          <td>&nbsp;)&nbsp;</td>
+          <td>&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Smart_Class structure and set name and version. </p>
+<p>Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION and name to the specified value.</p>
+<p>It will keep a reference to name field as a "const char *", that is, name must be available while the structure is used (hint: static or global!) and will not be modified.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562" title="Initializer to zero a whole Evas_Smart_Class structure and set version.">EVAS_SMART_CLASS_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callba...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a> </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">evas_object_smart_clipped_class_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga653b7bf36c2c87bd38d8126e11a4671d"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT" ref="ga653b7bf36c2c87bd38d8126e11a4671d" args="(name, parent)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">name, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">parent</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td>&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class. </p>
+<p>Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION, name to the specified value and parent class.</p>
+<p>It will keep a reference to name field as a "const char *", that is, name must be available while the structure is used (hint: static or global!) and will not be modified. Similarly, parent reference will be kept.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562" title="Initializer to zero a whole Evas_Smart_Class structure and set version.">EVAS_SMART_CLASS_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callba...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga5ebe1775142621cc3b75a3c57085ec83"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS" ref="ga5ebe1775142621cc3b75a3c57085ec83" args="(name, parent, callbacks)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">name, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">parent, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">callbacks</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td>&nbsp;&nbsp;&nbsp;{name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callbacks definition. </p>
+<p>Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION, name to the specified value, parent class and callbacks at this level.</p>
+<p>It will keep a reference to name field as a "const char *", that is, name must be available while the structure is used (hint: static or global!) and will not be modified. Similarly, parent and callbacks reference will be kept.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562" title="Initializer to zero a whole Evas_Smart_Class structure and set version.">EVAS_SMART_CLASS_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga223f5d420c1e22275cd6490cd77c85f0"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_INIT_NULL" ref="ga223f5d420c1e22275cd6490cd77c85f0" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_CLASS_INIT_NULL&nbsp;&nbsp;&nbsp;{NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Smart_Class structure. </p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#gaaa610a135c79167162405b56cffe8562" title="Initializer to zero a whole Evas_Smart_Class structure and set version.">EVAS_SMART_CLASS_INIT_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callba...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaaa610a135c79167162405b56cffe8562"></a><!-- doxytag: member="Evas.h::EVAS_SMART_CLASS_INIT_VERSION" ref="gaaa610a135c79167162405b56cffe8562" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_CLASS_INIT_VERSION&nbsp;&nbsp;&nbsp;{NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}</td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Initializer to zero a whole Evas_Smart_Class structure and set version. </p>
+<p>Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga223f5d420c1e22275cd6490cd77c85f0" title="Initializer to zero a whole Evas_Smart_Class structure.">EVAS_SMART_CLASS_INIT_NULL</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga653b7bf36c2c87bd38d8126e11a4671d" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT</a> </dd>
+<dd>
+<a class="el" href="group__Evas__Smart__Group.html#ga5ebe1775142621cc3b75a3c57085ec83" title="Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callba...">EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga4aa4b72aafa0391144fb0171aeff2ccd"></a><!-- doxytag: member="Evas.h::EVAS_SMART_DATA_ALLOC" ref="ga4aa4b72aafa0391144fb0171aeff2ccd" args="(o, priv_type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_DATA_ALLOC</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">o, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">priv_type</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment">priv_type *priv; \
+   priv = <a class="code" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a" title="Retrieve user data stored on a smart object.">evas_object_smart_data_get</a>(o); \
+   <span class="keywordflow">if</span> (!priv) { \
+      priv = (priv_type *)calloc(1, <span class="keyword">sizeof</span>(priv_type)); \
+      <span class="keywordflow">if</span> (!priv) <span class="keywordflow">return</span>; \
+      <a class="code" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e" title="Store a pointer to user data for a smart object.">evas_object_smart_data_set</a>(o, priv); \
+   }
+</pre></div>
+<p>Convenience macro to allocate smart data only if needed. </p>
+<p>When writing a subclassable smart object, the .add function will need to check if the smart private data was already allocated by some child object or not. This macro makes it easier to do it.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>o</em>&nbsp;</td><td>Evas object passed to the .add function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>priv_type</em>&nbsp;</td><td>The type of the data to allocate </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga58dc94af6f064b39b2bf0155908fbe52"></a><!-- doxytag: member="Evas.h::EVAS_SMART_SUBCLASS_NEW" ref="ga58dc94af6f064b39b2bf0155908fbe52" args="(smart_name, prefix, api_type, parent_type, parent_func, cb_desc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">#define EVAS_SMART_SUBCLASS_NEW</td>
+          <td>(</td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">smart_name, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">prefix, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">api_type, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">parent_type, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">parent_func, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname">cb_desc</td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+<b>Value:</b><div class="fragment"><pre class="fragment"><span class="keyword">static</span> <span class="keyword">const</span> parent_type * prefix##_parent_sc = NULL;                   \
+  <span class="keyword">static</span> <span class="keywordtype">void</span> prefix##_smart_set_user(api_type *api);                   \
+  <span class="keyword">static</span> <span class="keywordtype">void</span> prefix##_smart_set(api_type *api)                         \
+  {                                                                     \
+     <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *sc;                                              \
+     <span class="keywordflow">if</span> (!(sc = (<a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *)api))                               \
+       <span class="keywordflow">return</span>;                                                          \
+     <span class="keywordflow">if</span> (!prefix##_parent_sc)                                           \
+       prefix##_parent_sc = parent_func();                              \
+     <a class="code" href="group__Evas__Smart__Group.html#ga6888875280ccf11f026e09c890650c95" title="Easy to use version of evas_smart_class_inherit_full().">evas_smart_class_inherit</a>(sc, (<span class="keyword">const</span> <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *)prefix##_parent_sc); \
+     prefix##_smart_set_user(api);                                      \
+  }                                                                     \
+  <span class="keyword">static</span> <a class="code" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb" title="An Evas Smart Object handle.">Evas_Smart</a> * prefix##_smart_class_new(<span class="keywordtype">void</span>)                    \
+  {                                                                     \
+     <span class="keyword">static</span> <a class="code" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb" title="An Evas Smart Object handle.">Evas_Smart</a> *smart = NULL;                                   \
+     <span class="keyword">static</span> api_type api;                                               \
+     <span class="keywordflow">if</span> (!smart)                                                        \
+       {                                                                \
+          <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *sc = (<a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *)&amp;api;              \
+          memset(&amp;api, 0, <span class="keyword">sizeof</span>(api_type));                            \
+          sc-&gt;version = EVAS_SMART_CLASS_VERSION;                       \
+          sc-&gt;<a class="code" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f" title="the string name of the class">name</a> = smart_name;                                        \
+          sc-&gt;<a class="code" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067" title="callbacks at this level, NULL terminated">callbacks</a> = cb_desc;                                      \
+          prefix##_smart_set(&amp;api);                                     \
+          smart = <a class="code" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a" title="Creates an Evas_Smart from an Evas_Smart_Class.">evas_smart_class_new</a>(sc);                             \
+       }                                                                \
+     <span class="keywordflow">return</span> smart;                                                      \
+  }
+</pre></div>
+<p>Convenience macro to subclass a Smart Class. </p>
+<p>This macro saves some typing when writing a Smart Class derived from another one. In order to work, the user needs to provide some functions adhering to the following guidelines.</p>
+<ul>
+<li>&lt;prefix&gt;_smart_set_user(): the internal _smart_set function will call this one provided by the user after inheriting everything from the parent, which should take care of setting the right member functions for the class.</li>
+<li>&lt;prefix&gt;_parent_sc: pointer to the smart class of the parent. When calling parent functions from overloaded ones, use this global variable.</li>
+<li>&lt;prefix&gt;_smart_class_new(): this function returns the Evas_Smart needed to create smart objects with this class, should be called by the public _add() function.</li>
+<li>If this new class should be subclassable as well, a public _smart_set() function is desirable to fill the class used as parent by the children. It's up to the user to provide this interface, which will most likely call &lt;prefix&gt;_smart_set() to get the job done.</li>
+</ul>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>smart_name</em>&nbsp;</td><td>The name used for the Smart Class. e.g: "Evas_Object_Box". </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>Prefix used for all variables and functions defined. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>api_type</em>&nbsp;</td><td>Type of the structure used as API for the Smart Class. Either Evas_Smart_Class or something derived from it. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parent_type</em>&nbsp;</td><td>Type of the parent class API. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parent_func</em>&nbsp;</td><td>Function that gets the parent class. e.g: <a class="el" href="group__Evas__Object__Box.html#ga58da2c7328e5c8a01a8817f934d083ff" title="Get Box Smart Class for inheritance purposes.">evas_object_box_smart_class_get()</a>. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>cb_desc</em>&nbsp;</td><td>Array of callback descriptions for this Smart Class. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga5532335a315b4c84ab914afbbe771363"></a><!-- doxytag: member="evas_smart.c::evas_smart_callback_description_find" ref="ga5532335a315b4c84ab914afbbe771363" args="(const Evas_Smart *s, const char *name)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a>* evas_smart_callback_description_find </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Find callback description for callback called <em>name</em>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the Evas_Smart. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>name of desired callback, must <b>not</b> be <code>NULL</code>. The search have a special case for <em>name</em> being the same pointer as registered with Evas_Smart_Cb_Description, one can use it to avoid excessive use of strcmp(). </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>reference to description if found, <code>NULL</code> if not found. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga67ca7d389fd32a2dc4d7d6e29430d900"></a><!-- doxytag: member="evas_smart.c::evas_smart_callbacks_descriptions_get" ref="ga67ca7d389fd32a2dc4d7d6e29430d900" args="(const Evas_Smart *s, unsigned int *count)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a>** evas_smart_callbacks_descriptions_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>count</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the callbacks known by this Evas_Smart. </p>
+<p>This is likely different from <a class="el" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067" title="callbacks at this level, NULL terminated">Evas_Smart_Class::callbacks</a> as it will contain the callbacks of all class hierarchy sorted, while the direct smart class member refers only to that specific class and should not include parent's.</p>
+<p>If no callbacks are known, this function returns <code>NULL</code>.</p>
+<p>The array elements and thus their contents will be reference to original values given to evas_smart_new() as <a class="el" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067" title="callbacks at this level, NULL terminated">Evas_Smart_Class::callbacks</a>.</p>
+<p>The array is sorted by name. The last array element is the <code>NULL</code> pointer and is not counted in <em>count</em>. Loop iterations can check any of these cases.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the Evas_Smart. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>returns the number of elements in returned array. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the array with callback descriptions known by this class, its size is returned in <em>count</em> parameter. It should not be modified anyhow. If no callbacks are known, <code>NULL</code> is returned. The array is sorted by name and elements refer to the original value given to evas_smart_new().</dd></dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>objects may provide per-instance callbacks, use <a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d" title="Get the callbacks descriptions known by this smart object.">evas_object_smart_callbacks_descriptions_get()</a> to get those as well. </dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d" title="Get the callbacks descriptions known by this smart object.">evas_object_smart_callbacks_descriptions_get()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gac41799a0e334d515fa8e07313b88c611"></a><!-- doxytag: member="evas_smart.c::evas_smart_class_get" ref="gac41799a0e334d515fa8e07313b88c611" args="(const Evas_Smart *s)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a>* evas_smart_class_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the Evas_Smart_Class of an Evas_Smart. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the Evas_Smart </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the Evas_Smart_Class </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga21f5af32f724500c3380906d166fc49f"></a><!-- doxytag: member="evas_smart.c::evas_smart_class_inherit_full" ref="ga21f5af32f724500c3380906d166fc49f" args="(Evas_Smart_Class *sc, const Evas_Smart_Class *parent_sc, unsigned int parent_sc_size)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_smart_class_inherit_full </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td>
+          <td class="paramname"> <em>sc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td>
+          <td class="paramname"> <em>parent_sc</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>parent_sc_size</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Sets one class to inherit from the other. </p>
+<p>Copy all function pointers, set <code>parent</code> to <em>parent_sc</em> and copy everything after sizeof(Evas_Smart_Class) present in <em>parent_sc</em>, using <em>parent_sc_size</em> as reference.</p>
+<p>This is recommended instead of a single memcpy() since it will take care to not modify <em>sc</em> name, version, callbacks and possible other members.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>sc</em>&nbsp;</td><td>child class. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parent_sc</em>&nbsp;</td><td>parent class, will provide attributes. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>parent_sc_size</em>&nbsp;</td><td>size of parent_sc structure, child should be at least this size. Everything after <code>Evas_Smart_Class</code> size is copied using regular memcpy(). </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">EVAS_SMART_CLASS_VERSION</a>, and <a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">_Evas_Smart_Class::parent</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga25a97a07a32a460c8c2d55916481dd1a"></a><!-- doxytag: member="evas_smart.c::evas_smart_class_new" ref="ga25a97a07a32a460c8c2d55916481dd1a" args="(const Evas_Smart_Class *sc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a>* evas_smart_class_new </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td>
+          <td class="paramname"> <em>sc</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Creates an Evas_Smart from an Evas_Smart_Class. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>sc</em>&nbsp;</td><td>the smart class definition </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>an Evas_Smart </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Group.html#ga1ca1514302a47188c921b232d6ce42db">EVAS_SMART_CLASS_VERSION</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa88f3f98a71031573b8dfc4bfeac2f64"></a><!-- doxytag: member="evas_smart.c::evas_smart_data_get" ref="gaa88f3f98a71031573b8dfc4bfeac2f64" args="(const Evas_Smart *s)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_smart_data_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the data pointer set on an Evas_Smart. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>Evas_Smart</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This data pointer is set either as the final parameter to evas_smart_new or as the data field in the Evas_Smart_Class passed in to evas_smart_class_new </p>
+
+</div>
+</div>
+<a class="anchor" id="ga3501ae449533ae15eee9cbf65811cad2"></a><!-- doxytag: member="evas_smart.c::evas_smart_free" ref="ga3501ae449533ae15eee9cbf65811cad2" args="(Evas_Smart *s)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_smart_free </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Free an Evas_Smart. </p>
+<p>If this smart was created using <a class="el" href="group__Evas__Smart__Group.html#ga25a97a07a32a460c8c2d55916481dd1a" title="Creates an Evas_Smart from an Evas_Smart_Class.">evas_smart_class_new()</a>, the associated Evas_Smart_Class will not be freed.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the Evas_Smart to free </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Smart__Object__Clipped.html b/doc/html/group__Evas__Smart__Object__Clipped.html
new file mode 100644 (file)
index 0000000..b74db01
--- /dev/null
@@ -0,0 +1,248 @@
+<html>
+<head>
+    <title>Evas: Clipped Smart Object</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Clipped Smart Object<br/>
+<small>
+[<a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga1e051786da49a712512430fcb6360c12">evas_object_smart_move_children_relative</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Evas_Coord dx, Evas_Coord dy)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Moves all children objects relative to given offset.  <a href="#ga1e051786da49a712512430fcb6360c12"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">evas_object_smart_clipped_clipper_get</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the clipper object for the given clipped smart object.  <a href="#ga27b74fdbecd5d915c9ec832199048907"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628">evas_object_smart_clipped_smart_set</a> (<a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *sc)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set smart class callbacks so it implements the "Clipped Smart Object".  <a href="#ga3725ce3a781c93120637ad6a58f6e628"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga83e064112f527be0c2156c425562a57c"></a><!-- doxytag: member="Evas_Smart_Object_Clipped::evas_object_smart_clipped_class_get" ref="ga83e064112f527be0c2156c425562a57c" args="(void)" -->
+EAPI const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">evas_object_smart_clipped_class_get</a> (void)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the Clipped Smart Class to use for proper inheritance. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children. </p>
+<p>This clipper will control the visibility, clipping and color of sibling objects (remember that the clipping is recursive, and clipper color modulates the color of its clippees). By default, this base will also move children relatively to the parent, and delete them when parent is deleted. In other words, it is the base for simple object grouping.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628" title="Set smart class callbacks so it implements the &quot;Clipped Smart Object&quot;.">evas_object_smart_clipped_smart_set()</a> </dd></dl>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga27b74fdbecd5d915c9ec832199048907"></a><!-- doxytag: member="evas_object_smart_clipped.c::evas_object_smart_clipped_clipper_get" ref="ga27b74fdbecd5d915c9ec832199048907" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_smart_clipped_clipper_get </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the clipper object for the given clipped smart object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the clipped smart object to retrieve the associated clipper. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the clipper object.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd>evas_object_smart_clipped_smart_add() </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">evas_object_smart_data_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga3725ce3a781c93120637ad6a58f6e628"></a><!-- doxytag: member="evas_object_smart_clipped.c::evas_object_smart_clipped_smart_set" ref="ga3725ce3a781c93120637ad6a58f6e628" args="(Evas_Smart_Class *sc)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_clipped_smart_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td>
+          <td class="paramname"> <em>sc</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set smart class callbacks so it implements the "Clipped Smart Object". </p>
+<p>This call will assign all the required methods of Evas_Smart_Class, if one wants to "subclass" it, call this function and later override values, if one wants to call the original method, save it somewhere, example:</p>
+<div class="fragment"><pre class="fragment"> <span class="keyword">static</span> <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> parent_sc = EVAS_SMART_CLASS_INIT_NULL;
+
+ <span class="keyword">static</span> <span class="keywordtype">void</span> my_class_smart_add(<a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *o)
+ {
+    parent_sc.add(o);
+    <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(<a class="code" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907" title="Get the clipper object for the given clipped smart object.">evas_object_smart_clipped_clipper_get</a>(o),
+                          255, 0, 0, 255);
+ }
+
+ <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> *my_class_new(<span class="keywordtype">void</span>)
+ {
+    <span class="keyword">static</span> <a class="code" href="struct__Evas__Smart__Class.html" title="a smart object class">Evas_Smart_Class</a> sc = <a class="code" href="group__Evas__Smart__Group.html#gaff2bbd5bb79e51ad8d31f98106caff77" title="Initializer to zero a whole Evas_Smart_Class structure and set name and version.">EVAS_SMART_CLASS_INIT_NAME_VERSION</a>(<span class="stringliteral">&quot;MyClass&quot;</span>);
+    <span class="keywordflow">if</span> (!parent_sc.<a class="code" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f" title="the string name of the class">name</a>)
+      {
+         <a class="code" href="group__Evas__Smart__Object__Clipped.html#ga3725ce3a781c93120637ad6a58f6e628" title="Set smart class callbacks so it implements the &amp;quot;Clipped Smart Object&amp;quot;.">evas_object_smart_clipped_smart_set</a>(&amp;sc);
+         parent_sc = sc;
+         sc.add = my_class_smart_add;
+      }
+    <span class="keywordflow">return</span> &amp;sc;
+ }
+</pre></div><p>Default behavior is:</p>
+<ul>
+<li>add: creates a hidden clipper with "infinite" size;</li>
+<li>del: delete all children objects;</li>
+<li>move: move all objects relative relatively;</li>
+<li>resize: not defined;</li>
+<li>show: if there are children objects, show clipper;</li>
+<li>hide: hides clipper;</li>
+<li>color_set: set the color of clipper;</li>
+<li>clip_set: set clipper of clipper;</li>
+<li>clip_unset: unset the clipper of clipper; </li>
+</ul>
+
+<p>Referenced by <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga83e064112f527be0c2156c425562a57c">evas_object_smart_clipped_class_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga1e051786da49a712512430fcb6360c12"></a><!-- doxytag: member="evas_object_smart_clipped.c::evas_object_smart_move_children_relative" ref="ga1e051786da49a712512430fcb6360c12" args="(Evas_Object *obj, Evas_Coord dx, Evas_Coord dy)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_move_children_relative </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>dx</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Evas_Coord&nbsp;</td>
+          <td class="paramname"> <em>dy</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Moves all children objects relative to given offset. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart evas object to use. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dx</em>&nbsp;</td><td>horizontal offset. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>dy</em>&nbsp;</td><td>vertical offset. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>References <a class="el" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc">evas_object_move()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Smart__Object__Group.html b/doc/html/group__Evas__Smart__Object__Group.html
new file mode 100644 (file)
index 0000000..0f88ec7
--- /dev/null
@@ -0,0 +1,859 @@
+<html>
+<head>
+    <title>Evas: Smart Object Functions</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#groups">Modules</a> &#124;
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>Smart Object Functions</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Functions dealing with evas smart objects (instances).  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="groups"></a>
+Modules</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Clipped.html">Clipped Smart Object</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Box.html">Box (Sequence) Smart Object.</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Convenience smart object that packs children as a sequence using a layout function specified by user. </p>
+<br/></td></tr>
+</p>
+<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Object__Table.html">Table Smart Object.</a></td></tr>
+
+<p><tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space. </p>
+<br/></td></tr>
+</p>
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e">evas_object_smart_data_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Store a pointer to user data for a smart object.  <a href="#gae40928b2993cc169e606820ae21dbb6e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gad77ac4b3dcb2929ff7d02e76a26e272a">evas_object_smart_data_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Retrieve user data stored on a smart object.  <a href="#gad77ac4b3dcb2929ff7d02e76a26e272a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gab1423d63011d7f3679c95ea1638fa714">evas_object_smart_smart_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the Evas_Smart from which <code>obj</code> was created.  <a href="#gab1423d63011d7f3679c95ea1638fa714"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *smart_obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set an evas object as a member of a smart object.  <a href="#ga88c6f460884a87d5a2915282ab1cf06f"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Removes a member object from a smart object.  <a href="#gaffa3573bd0f16f3eb21c3da8122194f7"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaee8228f86a2a896112b3dbfe09d83511">evas_object_smart_parent_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the smart parent of an Evas_Object.  <a href="#gaee8228f86a2a896112b3dbfe09d83511"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga21c7f06371bf49bebaba0df0b8c7cbef">evas_object_smart_type_check</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *type)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks the Smart type of the object and its parents.  <a href="#ga21c7f06371bf49bebaba0df0b8c7cbef"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga2e93ee5ffcc0beec181cc640961ee3e6">evas_object_smart_type_check_ptr</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *type)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Checks the Smart type of the object and its parents using pointer comparison.  <a href="#ga2e93ee5ffcc0beec181cc640961ee3e6"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaa61f845ee24ddb252a6fcb76d5f3c148">evas_object_smart_add</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e, <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *s)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Instantiates a new smart object described by <code>s</code>.  <a href="#gaa61f845ee24ddb252a6fcb76d5f3c148"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga13db802166db6890fe25bf63143ad3ee">evas_object_smart_callback_add</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *event, void(*func)(void *data, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *event_info), const void *data)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a callback for the smart event specified by <code>event</code>.  <a href="#ga13db802166db6890fe25bf63143ad3ee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gab1f7248ecf036480e0fa2d1ca4e91c35">evas_object_smart_callback_del</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *event, void(*func)(void *data, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *event_info))</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a smart callback.  <a href="#gab1f7248ecf036480e0fa2d1ca4e91c35"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e">evas_object_smart_callback_call</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const char *event, void *event_info)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call any smart callbacks on <code>obj</code> for <code>event</code>.  <a href="#ga17bbe660f5bf9d8997913b08882f6f9e"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaf724dbb075cdaf2b4b44dd883b792dc3">evas_object_smart_callbacks_descriptions_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> *descriptions)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set smart object instance callbacks descriptions.  <a href="#gaf724dbb075cdaf2b4b44dd883b792dc3"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d">evas_object_smart_callbacks_descriptions_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***class_descriptions, unsigned int *class_count, const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***instance_descriptions, unsigned int *instance_count)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the callbacks descriptions known by this smart object.  <a href="#gaf58d78bc21229defb9eafd541063391d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1">evas_object_smart_need_recalculate_set</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, Eina_Bool value)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the need_recalculate flag of given smart object.  <a href="#ga58c34092eac9bfe6878b8e6ebc026de1"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI Eina_Bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga38be19a4f09b071b3d984996b8f9b3ee">evas_object_smart_need_recalculate_get</a> (const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current value of need_recalculate flag.  <a href="#ga38be19a4f09b071b3d984996b8f9b3ee"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga8013936b96d99d2ff375ca2b0b287f39">evas_object_smart_calculate</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call user provided calculate() and unset need_calculate.  <a href="#ga8013936b96d99d2ff375ca2b0b287f39"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#gaa30fa648297b723a73f28632d1dbec62">evas_smart_objects_calculate</a> (<a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *e)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Call user provided calculate() and unset need_calculate on all objects.  <a href="#gaa30fa648297b723a73f28632d1dbec62"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed</a> (<a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mark smart object as changed, dirty.  <a href="#ga20b3bce805c272f3d11f4ba0ae952dc6"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Functions dealing with evas smart objects (instances). </p>
+<p>Smart objects are groupings of primitive evas objects that behave as a cohesive group. For instance, a file manager icon may be a smart object composed of an image object, a text label and two rectangles that appear behind the image and text when the icon is selected. As a smart object, the normal evas api could be used on the icon object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html">Smart Functions</a> for class definitions. </dd></dl>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="gaa61f845ee24ddb252a6fcb76d5f3c148"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_add" ref="gaa61f845ee24ddb252a6fcb76d5f3c148" args="(Evas *e, Evas_Smart *s)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_smart_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a> *&nbsp;</td>
+          <td class="paramname"> <em>s</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Instantiates a new smart object described by <code>s</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>the evas on which to add the object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the Evas_Smart describing the smart object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>a new Evas_Object </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga84e87534e6a45a725d59c0366f4e6544">evas_object_box_add()</a>, and <a class="el" href="group__Evas__Object__Table.html#gaa8950ef1784409f64fc02345b839768d">evas_object_table_add()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga8013936b96d99d2ff375ca2b0b287f39"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_calculate" ref="ga8013936b96d99d2ff375ca2b0b287f39" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_calculate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Call user provided calculate() and unset need_calculate. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart object </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga13db802166db6890fe25bf63143ad3ee"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_callback_add" ref="ga13db802166db6890fe25bf63143ad3ee" args="(Evas_Object *obj, const char *event, void(*func)(void *data, Evas_Object *obj, void *event_info), const void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_callback_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>event</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *data, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *event_info)&nbsp;</td>
+          <td class="paramname"> <em>func</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Add a callback for the smart event specified by <code>event</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>a smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>the event name </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>the callback function </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>user data to be passed to the callback function </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga17bbe660f5bf9d8997913b08882f6f9e"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_callback_call" ref="ga17bbe660f5bf9d8997913b08882f6f9e" args="(Evas_Object *obj, const char *event, void *event_info)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_callback_call </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>event</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>event_info</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Call any smart callbacks on <code>obj</code> for <code>event</code>. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>the event name </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>event_info</em>&nbsp;</td><td>an event specific struct of info to pass to the callback</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This should be called internally in the smart object when some specific event has occurred. The documentation for the smart object should include a list of possible events and what type of <code>event_info</code> to expect. </p>
+
+</div>
+</div>
+<a class="anchor" id="gab1f7248ecf036480e0fa2d1ca4e91c35"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_callback_del" ref="gab1f7248ecf036480e0fa2d1ca4e91c35" args="(Evas_Object *obj, const char *event, void(*func)(void *data, Evas_Object *obj, void *event_info))" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_smart_callback_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>event</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void(*)(void *data, <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *obj, void *event_info)&nbsp;</td>
+          <td class="paramname"> <em>func</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Remove a smart callback. </p>
+<p>Removes a callback that was added by <a class="el" href="group__Evas__Smart__Object__Group.html#ga13db802166db6890fe25bf63143ad3ee" title="Add a callback for the smart event specified by event.">evas_object_smart_callback_add()</a></p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>a smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>event</em>&nbsp;</td><td>the event name </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>func</em>&nbsp;</td><td>the callback function </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the data pointer </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf58d78bc21229defb9eafd541063391d"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_callbacks_descriptions_get" ref="gaf58d78bc21229defb9eafd541063391d" args="(const Evas_Object *obj, const Evas_Smart_Cb_Description ***class_descriptions, unsigned int *class_count, const Evas_Smart_Cb_Description ***instance_descriptions, unsigned int *instance_count)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_callbacks_descriptions_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***&nbsp;</td>
+          <td class="paramname"> <em>class_descriptions</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>class_count</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> ***&nbsp;</td>
+          <td class="paramname"> <em>instance_descriptions</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>instance_count</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the callbacks descriptions known by this smart object. </p>
+<p>This call retrieves processed callbacks descriptions for both instance and class. These arrays are sorted by description's name and are <code>NULL</code> terminated, so both <em>class_count</em> and <em>instance_count</em> can be ignored, the terminator <code>NULL</code> is not counted in these values.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart object. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>class_descriptions</em>&nbsp;</td><td>where to store class callbacks descriptions array, if any is known. If no descriptions are known, <code>NULL</code> is returned. This parameter may be <code>NULL</code> if it is not of interest. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>class_count</em>&nbsp;</td><td>returns how many class callbacks descriptions are known. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>instance_descriptions</em>&nbsp;</td><td>where to store instance callbacks descriptions array, if any is known. If no descriptions are known, <code>NULL</code> is returned. This parameter may be <code>NULL</code> if it is not of interest. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>instance_count</em>&nbsp;</td><td>returns how many instance callbacks descriptions are known.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>if just class descriptions are of interest, try <a class="el" href="group__Evas__Smart__Group.html#ga67ca7d389fd32a2dc4d7d6e29430d900" title="Get the callbacks known by this Evas_Smart.">evas_smart_callbacks_descriptions_get()</a> instead.</dd></dl>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Group.html#ga67ca7d389fd32a2dc4d7d6e29430d900" title="Get the callbacks known by this Evas_Smart.">evas_smart_callbacks_descriptions_get()</a> </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="gaf724dbb075cdaf2b4b44dd883b792dc3"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_callbacks_descriptions_set" ref="gaf724dbb075cdaf2b4b44dd883b792dc3" args="(Evas_Object *obj, const Evas_Smart_Cb_Description *descriptions)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_smart_callbacks_descriptions_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> *&nbsp;</td>
+          <td class="paramname"> <em>descriptions</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set smart object instance callbacks descriptions. </p>
+<p>These descriptions are hints to be used by introspection and are not enforced in any way.</p>
+<p>It will not be checked if instance callbacks descriptions have the same name as another in class. Both are kept in different arrays and users of <a class="el" href="group__Evas__Smart__Object__Group.html#gaf58d78bc21229defb9eafd541063391d" title="Get the callbacks descriptions known by this smart object.">evas_object_smart_callbacks_descriptions_get()</a> should handle this case as they wish.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>descriptions</em>&nbsp;</td><td>NULL terminated (name != NULL) array with descriptions. Array elements will not be modified, but reference to them and their contents will be made, so this array should be kept alive during object lifetime. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>1 on success, 0 on failure.</dd></dl>
+<dl class="note"><dt><b>Note:</b></dt><dd>while instance callbacks descriptions are possible, they are not recommended. Use class callbacks descriptions instead as they make user's life simpler and will use less memory as descriptions and arrays will be shared among all instances. </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Smart__Cb__Description.html#ab377859f4cfcf1c2dd3c149a76b70b53">_Evas_Smart_Cb_Description::name</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga20b3bce805c272f3d11f4ba0ae952dc6"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_changed" ref="ga20b3bce805c272f3d11f4ba0ae952dc6" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_changed </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Mark smart object as changed, dirty. </p>
+<p>This will inform the scene that it changed and needs to be redraw, also setting need_recalculate on the given object.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1" title="Set the need_recalculate flag of given smart object.">evas_object_smart_need_recalculate_set()</a>. </dd></dl>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#ga58c34092eac9bfe6878b8e6ebc026de1">evas_object_smart_need_recalculate_set()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gae66fe763591e62621cf6352528d97e10">evas_object_box_align_set()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa06e910577a949fc55b3a661d17f2fb3">evas_object_box_append()</a>, <a class="el" href="group__Evas__Object__Box.html#ga9b1fc7ee0200ce3917da70b00fb8637c">evas_object_box_insert_after()</a>, <a class="el" href="group__Evas__Object__Box.html#ga01b2f0564057297d6853844b77fba3a6">evas_object_box_insert_at()</a>, <a class="el" href="group__Evas__Object__Box.html#ga5759fa41a7c3541f43ae98f58bd1ec85">evas_object_box_insert_before()</a>, <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570">evas_object_box_layout_set()</a>, <a class="el" href="group__Evas__Object__Box.html#ga56c828490bb5778be68908147c32fa6d">evas_object_box_option_property_vset()</a>, <a class="el" href="group__Evas__Object__Box.html#ga75ab3d2f84c328010c26a6b8d89c9c67">evas_object_box_padding_set()</a>, <a class="el" href="group__Evas__Object__Box.html#ga0fec96faf6bbc106b8af28ff479ddfc3">evas_object_box_prepend()</a>, <a class="el" href="group__Evas__Object__Box.html#ga90c644be44c06e2e4f966cb14b7a93a5">evas_object_box_remove()</a>, <a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">evas_object_box_remove_all()</a>, <a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">evas_object_box_remove_at()</a>, <a class="el" href="group__Evas__Object__Table.html#ga7299bcee8de1f9304fa31fff43347a45">evas_object_table_align_set()</a>, <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">evas_object_table_clear()</a>, <a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">evas_object_table_homogeneous_set()</a>, <a class="el" href="group__Evas__Object__Table.html#ga6c1129dcd7509ebde06cf753cf6a681d">evas_object_table_pack()</a>, <a class="el" href="group__Evas__Object__Table.html#ga6ea229f05036a9c5d30010ad40a30c66">evas_object_table_padding_set()</a>, and <a class="el" href="group__Evas__Object__Table.html#gac8b800b8a8f38589eae4b979ffc2d598">evas_object_table_unpack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gad77ac4b3dcb2929ff7d02e76a26e272a"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_data_get" ref="gad77ac4b3dcb2929ff7d02e76a26e272a" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void* evas_object_smart_data_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Retrieve user data stored on a smart object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The smart object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to data stored using <a class="el" href="group__Evas__Smart__Object__Group.html#gae40928b2993cc169e606820ae21dbb6e" title="Store a pointer to user data for a smart object.">evas_object_smart_data_set()</a>, or NULL if none has been set. </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Smart__Object__Clipped.html#ga27b74fdbecd5d915c9ec832199048907">evas_object_smart_clipped_clipper_get()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gae40928b2993cc169e606820ae21dbb6e"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_data_set" ref="gae40928b2993cc169e606820ae21dbb6e" args="(Evas_Object *obj, void *data)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_data_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>data</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Store a pointer to user data for a smart object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>A pointer to user data </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+<a class="anchor" id="ga88c6f460884a87d5a2915282ab1cf06f"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_member_add" ref="ga88c6f460884a87d5a2915282ab1cf06f" args="(Evas_Object *obj, Evas_Object *smart_obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_member_add </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>smart_obj</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set an evas object as a member of a smart object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>The member object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>smart_obj</em>&nbsp;</td><td>The smart object</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>Members will automatically be stacked and layered with the smart object. The various stacking function will operate on members relative to the other members instead of the entire canvas.</p>
+<p>Non-member objects can not interleave a smart object's members. </p>
+
+<p>References <a class="el" href="group__Evas__Smart__Object__Group.html#gaffa3573bd0f16f3eb21c3da8122194f7">evas_object_smart_member_del()</a>.</p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#gaf332313478211a06a09038755cf139bf">evas_object_box_add_to()</a>, <a class="el" href="group__Evas__Object__Box.html#gaa06e910577a949fc55b3a661d17f2fb3">evas_object_box_append()</a>, <a class="el" href="group__Evas__Object__Box.html#ga9b1fc7ee0200ce3917da70b00fb8637c">evas_object_box_insert_after()</a>, <a class="el" href="group__Evas__Object__Box.html#ga01b2f0564057297d6853844b77fba3a6">evas_object_box_insert_at()</a>, <a class="el" href="group__Evas__Object__Box.html#ga5759fa41a7c3541f43ae98f58bd1ec85">evas_object_box_insert_before()</a>, <a class="el" href="group__Evas__Object__Box.html#ga0fec96faf6bbc106b8af28ff479ddfc3">evas_object_box_prepend()</a>, <a class="el" href="group__Evas__Object__Table.html#gab5789072764ac24f48368182bd35d297">evas_object_table_add_to()</a>, and <a class="el" href="group__Evas__Object__Table.html#ga6c1129dcd7509ebde06cf753cf6a681d">evas_object_table_pack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaffa3573bd0f16f3eb21c3da8122194f7"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_member_del" ref="gaffa3573bd0f16f3eb21c3da8122194f7" args="(Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_member_del </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Removes a member object from a smart object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the member object</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This removes a member object from a smart object. The object will still be on the canvas, but no longer associated with whichever smart object it was associated with. </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Box.html#ga90c644be44c06e2e4f966cb14b7a93a5">evas_object_box_remove()</a>, <a class="el" href="group__Evas__Object__Box.html#ga6c114f237f66c0208f0669783f671318">evas_object_box_remove_all()</a>, <a class="el" href="group__Evas__Object__Box.html#ga7d6a7321327f1398790d1f12cccd38f3">evas_object_box_remove_at()</a>, <a class="el" href="group__Evas__Smart__Object__Group.html#ga88c6f460884a87d5a2915282ab1cf06f">evas_object_smart_member_add()</a>, <a class="el" href="group__Evas__Object__Table.html#gaec5a10416b76102f7e22c7b799bfac04">evas_object_table_clear()</a>, and <a class="el" href="group__Evas__Object__Table.html#gac8b800b8a8f38589eae4b979ffc2d598">evas_object_table_unpack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga38be19a4f09b071b3d984996b8f9b3ee"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_need_recalculate_get" ref="ga38be19a4f09b071b3d984996b8f9b3ee" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_smart_need_recalculate_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the current value of need_recalculate flag. </p>
+<dl class="note"><dt><b>Note:</b></dt><dd>this flag will be unset during the render phase, after calculate() is called if one is provided. If no calculate() is provided, then the flag will be left unchanged after render phase.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>if flag is set or not. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga58c34092eac9bfe6878b8e6ebc026de1"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_need_recalculate_set" ref="ga58c34092eac9bfe6878b8e6ebc026de1" args="(Evas_Object *obj, Eina_Bool value)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_object_smart_need_recalculate_set </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">Eina_Bool&nbsp;</td>
+          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Set the need_recalculate flag of given smart object. </p>
+<p>If this flag is set then calculate() callback (method) of the given smart object will be called, if one is provided, during render phase usually <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf" title="Force renderization of the given canvas.">evas_render()</a>. After this step, this flag will be automatically unset.</p>
+<p>If no calculate() is provided, this flag will be left unchanged.</p>
+<dl class="note"><dt><b>Note:</b></dt><dd>just setting this flag will not make scene dirty and <a class="el" href="group__Evas__Canvas.html#ga241869ebb085b8ab11ff6af26e1aeaaf" title="Force renderization of the given canvas.">evas_render()</a> will have no effect. To do that, use <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6" title="Mark smart object as changed, dirty.">evas_object_smart_changed()</a>, that will automatically call this function with 1 as parameter.</dd></dl>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the smart object </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>if one want to set or unset the need_recalculate flag. </td></tr>
+  </table>
+  </dd>
+</dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Smart__Object__Group.html#ga20b3bce805c272f3d11f4ba0ae952dc6">evas_object_smart_changed()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaee8228f86a2a896112b3dbfe09d83511"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_parent_get" ref="gaee8228f86a2a896112b3dbfe09d83511" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a>* evas_object_smart_parent_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the smart parent of an Evas_Object. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the Evas_Object you want to get the parent </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Returns the smart parent of <em>obj</em>, or NULL if <em>obj</em> is not a smart member of another Evas_Object </dd></dl>
+
+<p>Referenced by <a class="el" href="group__Evas__Object__Table.html#gac8b800b8a8f38589eae4b979ffc2d598">evas_object_table_unpack()</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gab1423d63011d7f3679c95ea1638fa714"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_smart_get" ref="gab1423d63011d7f3679c95ea1638fa714" args="(const Evas_Object *obj)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI <a class="el" href="Evas_8h.html#a7cdfd1afece1cad64c413eb9a778ddbb">Evas_Smart</a>* evas_object_smart_smart_get </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the Evas_Smart from which <code>obj</code> was created. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>a smart object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>the Evas_Smart </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga21c7f06371bf49bebaba0df0b8c7cbef"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_type_check" ref="ga21c7f06371bf49bebaba0df0b8c7cbef" args="(const Evas_Object *obj, const char *type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_smart_type_check </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Checks the Smart type of the object and its parents. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the Evas_Object to check the type of </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>the type to check for </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if <em>obj</em> or any of its parents if of type <em>type</em>, EINA_FALSE otherwise </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f">_Evas_Smart_Class::name</a>, and <a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">_Evas_Smart_Class::parent</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="ga2e93ee5ffcc0beec181cc640961ee3e6"></a><!-- doxytag: member="evas_object_smart.c::evas_object_smart_type_check_ptr" ref="ga2e93ee5ffcc0beec181cc640961ee3e6" args="(const Evas_Object *obj, const char *type)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI Eina_Bool evas_object_smart_type_check_ptr </td>
+          <td>(</td>
+          <td class="paramtype">const <a class="el" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97">Evas_Object</a> *&nbsp;</td>
+          <td class="paramname"> <em>obj</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>type</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Checks the Smart type of the object and its parents using pointer comparison. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>obj</em>&nbsp;</td><td>the Evas_Object to check the type of </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>type</em>&nbsp;</td><td>the type to check for. Must be the name pointer in the smart class used to create the object </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>EINA_TRUE if <em>obj</em> or any of its parents if of type <em>type</em>, EINA_FALSE otherwise </dd></dl>
+
+<p>References <a class="el" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f">_Evas_Smart_Class::name</a>, and <a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">_Evas_Smart_Class::parent</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaa30fa648297b723a73f28632d1dbec62"></a><!-- doxytag: member="evas_object_smart.c::evas_smart_objects_calculate" ref="gaa30fa648297b723a73f28632d1dbec62" args="(Evas *e)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_smart_objects_calculate </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043">Evas</a> *&nbsp;</td>
+          <td class="paramname"> <em>e</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Call user provided calculate() and unset need_calculate on all objects. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>e</em>&nbsp;</td><td>The canvas to calculate all objects in </td></tr>
+  </table>
+  </dd>
+</dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/group__Evas__Utils.html b/doc/html/group__Evas__Utils.html
new file mode 100644 (file)
index 0000000..64c82fd
--- /dev/null
@@ -0,0 +1,579 @@
+<html>
+<head>
+    <title>Evas: General Utilities</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#func-members">Functions</a>  </div>
+  <div class="headertitle">
+<h1>General Utilities</h1>  </div>
+</div>
+<div class="contents">
+
+<p>Some functions that are handy but are not specific of canvas or objects.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga50bb423e88ce97cf82cca9b316fc7a1a">evas_load_error_str</a> (<a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a> error)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Converts the given error code into a string describing it in english.  <a href="#ga50bb423e88ce97cf82cca9b316fc7a1a"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga2a28c2e6ecdc72189040ae3f5bd829d0">evas_color_hsv_to_rgb</a> (float h, float s, float v, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a given color from HSV to RGB format.  <a href="#ga2a28c2e6ecdc72189040ae3f5bd829d0"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga4054acb14873d5923306ddde5537171d">evas_color_rgb_to_hsv</a> (int r, int g, int b, float *h, float *s, float *v)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a given color from RGB to HSV format.  <a href="#ga4054acb14873d5923306ddde5537171d"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa">evas_color_argb_premul</a> (int a, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-multiplies a rgb triplet by an alpha factor.  <a href="#ga892ffc2ac011e24a141816e0c72f7dfa"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga520b64aa41b81e13bf7fc9f16fd2f3e5">evas_color_argb_unpremul</a> (int a, int *r, int *g, int *b)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Undo pre-multiplication of a rgb triplet by an alpha factor.  <a href="#ga520b64aa41b81e13bf7fc9f16fd2f3e5"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#gad61423a02fa7c3cb0293c3bdd5516216">evas_data_argb_premul</a> (unsigned int *data, unsigned int len)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pre-multiplies data by an alpha factor.  <a href="#gad61423a02fa7c3cb0293c3bdd5516216"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga6794135ce6545bd5e16f6563043a8f18">evas_data_argb_unpremul</a> (unsigned int *data, unsigned int len)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Undo pre-multiplication data by an alpha factor.  <a href="#ga6794135ce6545bd5e16f6563043a8f18"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga31161605cf449d16e0ea0183509a1e3b">evas_string_char_next_get</a> (const char *str, int pos, int *decoded)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the next character in the string.  <a href="#ga31161605cf449d16e0ea0183509a1e3b"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#ga20119def41aa1f24aea7961b3fa0fd72">evas_string_char_prev_get</a> (const char *str, int pos, int *decoded)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the previous character in the string.  <a href="#ga20119def41aa1f24aea7961b3fa0fd72"></a><br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">EAPI int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Evas__Utils.html#gaf9edd726590b1f56ca3e566ba1a2dbb2">evas_string_char_len_get</a> (const char *str)</td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the length in characters of the string.  <a href="#gaf9edd726590b1f56ca3e566ba1a2dbb2"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Some functions that are handy but are not specific of canvas or objects. </p>
+<hr/><h2>Function Documentation</h2>
+<a class="anchor" id="ga892ffc2ac011e24a141816e0c72f7dfa"></a><!-- doxytag: member="evas_main.c::evas_color_argb_premul" ref="ga892ffc2ac011e24a141816e0c72f7dfa" args="(int a, int *r, int *g, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_color_argb_premul </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Pre-multiplies a rgb triplet by an alpha factor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>The alpha factor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The Red component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The Green component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The Blue component of the color.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function pre-multiplies a given rbg triplet by an alpha factor. Alpha factor is used to define transparency. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga520b64aa41b81e13bf7fc9f16fd2f3e5"></a><!-- doxytag: member="evas_main.c::evas_color_argb_unpremul" ref="ga520b64aa41b81e13bf7fc9f16fd2f3e5" args="(int a, int *r, int *g, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_color_argb_unpremul </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>a</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Undo pre-multiplication of a rgb triplet by an alpha factor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>a</em>&nbsp;</td><td>The alpha factor. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The Red component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The Green component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The Blue component of the color.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function undoes pre-multiplication a given rbg triplet by an alpha factor. Alpha factor is used to define transparency.</p>
+<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__Evas__Utils.html#ga892ffc2ac011e24a141816e0c72f7dfa" title="Pre-multiplies a rgb triplet by an alpha factor.">evas_color_argb_premul()</a>. </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga2a28c2e6ecdc72189040ae3f5bd829d0"></a><!-- doxytag: member="evas_main.c::evas_color_hsv_to_rgb" ref="ga2a28c2e6ecdc72189040ae3f5bd829d0" args="(float h, float s, float v, int *r, int *g, int *b)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_color_hsv_to_rgb </td>
+          <td>(</td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>s</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float&nbsp;</td>
+          <td class="paramname"> <em>v</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert a given color from HSV to RGB format. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The Hue component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>The Saturation component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>The Value component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The Red component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The Green component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The Blue component of the color.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function converts a given color in HSV color format to RGB color format. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga4054acb14873d5923306ddde5537171d"></a><!-- doxytag: member="evas_main.c::evas_color_rgb_to_hsv" ref="ga4054acb14873d5923306ddde5537171d" args="(int r, int g, int b, float *h, float *s, float *v)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_color_rgb_to_hsv </td>
+          <td>(</td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>r</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>g</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>b</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&nbsp;</td>
+          <td class="paramname"> <em>h</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&nbsp;</td>
+          <td class="paramname"> <em>s</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">float *&nbsp;</td>
+          <td class="paramname"> <em>v</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Convert a given color from RGB to HSV format. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>r</em>&nbsp;</td><td>The Red component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>g</em>&nbsp;</td><td>The Green component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>b</em>&nbsp;</td><td>The Blue component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>h</em>&nbsp;</td><td>The Hue component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>The Saturation component of the color. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>v</em>&nbsp;</td><td>The Value component of the color.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function converts a given color in RGB color format to HSV color format. </p>
+
+</div>
+</div>
+<a class="anchor" id="gad61423a02fa7c3cb0293c3bdd5516216"></a><!-- doxytag: member="evas_main.c::evas_data_argb_premul" ref="gad61423a02fa7c3cb0293c3bdd5516216" args="(unsigned int *data, unsigned int len)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_data_argb_premul </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Pre-multiplies data by an alpha factor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data value. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>The length value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function pre-multiplies a given data by an alpha factor. Alpha factor is used to define transparency. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga6794135ce6545bd5e16f6563043a8f18"></a><!-- doxytag: member="evas_main.c::evas_data_argb_unpremul" ref="ga6794135ce6545bd5e16f6563043a8f18" args="(unsigned int *data, unsigned int len)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI void evas_data_argb_unpremul </td>
+          <td>(</td>
+          <td class="paramtype">unsigned int *&nbsp;</td>
+          <td class="paramname"> <em>data</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">unsigned int&nbsp;</td>
+          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Undo pre-multiplication data by an alpha factor. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>The data value. </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>The length value.</td></tr>
+  </table>
+  </dd>
+</dl>
+<p>This function undoes pre-multiplication of a given data by an alpha factor. Alpha factor is used to define transparency. </p>
+
+</div>
+</div>
+<a class="anchor" id="ga50bb423e88ce97cf82cca9b316fc7a1a"></a><!-- doxytag: member="evas_main.c::evas_load_error_str" ref="ga50bb423e88ce97cf82cca9b316fc7a1a" args="(Evas_Load_Error error)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI const char* evas_load_error_str </td>
+          <td>(</td>
+          <td class="paramtype"><a class="el" href="Evas_8h.html#aff351ae694a58aecd7834ef12bdf3d64">Evas_Load_Error</a>&nbsp;</td>
+          <td class="paramname"> <em>error</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Converts the given error code into a string describing it in english. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>error</em>&nbsp;</td><td>the error code. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>Always return a valid string. If given <code>error</code> is not supported "Unknown error" is returned. </dd></dl>
+
+<p>References <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75">EVAS_LOAD_ERROR_CORRUPT_FILE</a>, <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529">EVAS_LOAD_ERROR_DOES_NOT_EXIST</a>, <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d">EVAS_LOAD_ERROR_GENERIC</a>, <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac">EVAS_LOAD_ERROR_NONE</a>, <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200">EVAS_LOAD_ERROR_PERMISSION_DENIED</a>, <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4">EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED</a>, and <a class="el" href="Evas_8h.html#ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80">EVAS_LOAD_ERROR_UNKNOWN_FORMAT</a>.</p>
+
+</div>
+</div>
+<a class="anchor" id="gaf9edd726590b1f56ca3e566ba1a2dbb2"></a><!-- doxytag: member="evas_object_text.c::evas_string_char_len_get" ref="gaf9edd726590b1f56ca3e566ba1a2dbb2" args="(const char *str)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_string_char_len_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em></td>
+          <td>&nbsp;)&nbsp;</td>
+          <td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Get the length in characters of the string. </p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The string to get the length of. </td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The length in characters (not bytes) </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga31161605cf449d16e0ea0183509a1e3b"></a><!-- doxytag: member="evas_object_text.c::evas_string_char_next_get" ref="ga31161605cf449d16e0ea0183509a1e3b" args="(const char *str, int pos, int *decoded)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_string_char_next_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>decoded</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the next character in the string. </p>
+<p>Given the UTF-8 string in <code>str</code>, and starting byte position in <code>pos</code>, this function will place in <code>decoded</code> the decoded code point at <code>pos</code> and return the byte index for the next character in the string.</p>
+<p>The only boundary check done is that <code>pos</code> must be &gt;= 0. Other than that, no checks are performed, so passing an index value that's not within the length of the string will result in undefined behavior.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The UTF-8 string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>The byte index where to start </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>decoded</em>&nbsp;</td><td>Address where to store the decoded code point. Optional.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The byte index of the next character </dd></dl>
+
+</div>
+</div>
+<a class="anchor" id="ga20119def41aa1f24aea7961b3fa0fd72"></a><!-- doxytag: member="evas_object_text.c::evas_string_char_prev_get" ref="ga20119def41aa1f24aea7961b3fa0fd72" args="(const char *str, int pos, int *decoded)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">EAPI int evas_string_char_prev_get </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>str</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int&nbsp;</td>
+          <td class="paramname"> <em>pos</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">int *&nbsp;</td>
+          <td class="paramname"> <em>decoded</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Gets the previous character in the string. </p>
+<p>Given the UTF-8 string in <code>str</code>, and starting byte position in <code>pos</code>, this function will place in <code>decoded</code> the decoded code point at <code>pos</code> and return the byte index for the previous character in the string.</p>
+<p>The only boundary check done is that <code>pos</code> must be &gt;= 1. Other than that, no checks are performed, so passing an index value that's not within the length of the string will result in undefined behavior.</p>
+<dl><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"></td><td valign="top"><em>str</em>&nbsp;</td><td>The UTF-8 string </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>pos</em>&nbsp;</td><td>The byte index where to start </td></tr>
+    <tr><td valign="top"></td><td valign="top"><em>decoded</em>&nbsp;</td><td>Address where to store the decoded code point. Optional.</td></tr>
+  </table>
+  </dd>
+</dl>
+<dl class="return"><dt><b>Returns:</b></dt><dd>The byte index of the previous character </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/head_bg.png b/doc/html/head_bg.png
new file mode 100755 (executable)
index 0000000..081dc13
Binary files /dev/null and b/doc/html/head_bg.png differ
diff --git a/doc/html/hierarchy.html b/doc/html/hierarchy.html
new file mode 100644 (file)
index 0000000..585861e
--- /dev/null
@@ -0,0 +1,118 @@
+<html>
+<head>
+    <title>Evas: Hierarchical Index</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Class Hierarchy</h1>  </div>
+</div>
+<div class="contents">
+This inheritance list is sorted roughly, but not completely, alphabetically:<ul>
+<li><a class="el" href="struct__Evas__Coord__Rectangle.html">_Evas_Coord_Rectangle</a></li>
+<li><a class="el" href="struct__Evas__Cserve__Config.html">_Evas_Cserve_Config</a></li>
+<li><a class="el" href="struct__Evas__Cserve__Image.html">_Evas_Cserve_Image</a></li>
+<li><a class="el" href="struct__Evas__Cserve__Image__Cache.html">_Evas_Cserve_Image_Cache</a></li>
+<li><a class="el" href="struct__Evas__Cserve__Stats.html">_Evas_Cserve_Stats</a></li>
+<li><a class="el" href="struct__Evas__Engine__Info.html">_Evas_Engine_Info</a></li>
+<li><a class="el" href="struct__Evas__Event__Hold.html">_Evas_Event_Hold</a></li>
+<li><a class="el" href="struct__Evas__Event__Key__Down.html">_Evas_Event_Key_Down</a></li>
+<li><a class="el" href="struct__Evas__Event__Key__Up.html">_Evas_Event_Key_Up</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__Down.html">_Evas_Event_Mouse_Down</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__In.html">_Evas_Event_Mouse_In</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__Move.html">_Evas_Event_Mouse_Move</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__Out.html">_Evas_Event_Mouse_Out</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__Up.html">_Evas_Event_Mouse_Up</a></li>
+<li><a class="el" href="struct__Evas__Event__Mouse__Wheel.html">_Evas_Event_Mouse_Wheel</a></li>
+<li><a class="el" href="struct__Evas__Event__Multi__Down.html">_Evas_Event_Multi_Down</a></li>
+<li><a class="el" href="struct__Evas__Event__Multi__Move.html">_Evas_Event_Multi_Move</a></li>
+<li><a class="el" href="struct__Evas__Event__Multi__Up.html">_Evas_Event_Multi_Up</a></li>
+<li><a class="el" href="struct__Evas__Object__Box__Data.html">_Evas_Object_Box_Data</a></li>
+<li><a class="el" href="struct__Evas__Smart__Cb__Description.html">_Evas_Smart_Cb_Description</a></li>
+<li><a class="el" href="struct__Evas__Smart__Class.html">_Evas_Smart_Class</a><ul>
+<li><a class="el" href="struct__Evas__Object__Box__Api.html">_Evas_Object_Box_Api</a></li>
+</ul>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/index.html b/doc/html/index.html
new file mode 100644 (file)
index 0000000..7ac035f
--- /dev/null
@@ -0,0 +1,522 @@
+<html>
+<head>
+    <title>Evas: Evas</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Evas </h1>  </div>
+</div>
+<div class="contents">
+<div align="center">
+<img src="e_big.png" alt="e_big.png"/>
+</div>
+<dl class="version"><dt><b>Version:</b></dt><dd>1.0.999.0 </dd></dl>
+<dl class="author"><dt><b>Author:</b></dt><dd>Carsten Haitzler &lt;raster@rasterman.com&gt; </dd>
+<dd>
+Till Adam &lt;till@adam-lilienthal.de&gt; </dd>
+<dd>
+Steve Ireland &lt;sireland@pobox.com&gt; </dd>
+<dd>
+Brett Nash &lt;nash@nash.id.au&gt; </dd>
+<dd>
+Tilman Sauerbeck &lt;tilman@code-monkey.de&gt; </dd>
+<dd>
+Corey Donohoe &lt;atmos@atmos.org&gt; </dd>
+<dd>
+Yuri Hudobin &lt;glassy_ape@users.sourceforge.net&gt; </dd>
+<dd>
+Nathan Ingersoll &lt;ningerso@d.umn.edu&gt; </dd>
+<dd>
+Willem Monsuwe &lt;willem@stack.nl&gt; </dd>
+<dd>
+Jose O Gonzalez &lt;jose_ogp@juno.com&gt; </dd>
+<dd>
+Bernhard Nemec &lt;Bernhard.Nemec@viasyshc.com&gt; </dd>
+<dd>
+Jorge Luis Zapata Muga &lt;jorgeluis.zapata@gmail.com&gt; </dd>
+<dd>
+Cedric Bail &lt;cedric.bail@free.fr&gt; </dd>
+<dd>
+Gustavo Sverzut Barbieri &lt;barbieri@profusion.mobi&gt; </dd>
+<dd>
+Vincent Torri &lt;vtorri@univ-evry.fr&gt; </dd>
+<dd>
+Tim Horton &lt;hortont424@gmail.com&gt; </dd>
+<dd>
+Tom Hacohen &lt;tom@stosb.com&gt; </dd>
+<dd>
+Mathieu Taillefumier &lt;mathieu.taillefumier@free.fr&gt; </dd>
+<dd>
+Iván Briano &lt;ivan@profusion.mobi&gt; </dd>
+<dd>
+Gustavo Lima Chaves &lt;glima@profusion.mobi&gt; </dd>
+<dd>
+Samsung Electronics &lt;tbd&gt; </dd>
+<dd>
+Samsung SAIT &lt;tbd&gt; </dd>
+<dd>
+Sung W. Park &lt;sungwoo@gmail.com&gt; </dd>
+<dd>
+Jiyoun Park &lt;jy0703.park@samsung.com&gt; </dd></dl>
+<dl class="date"><dt><b>Date:</b></dt><dd>2000-2011</dd></dl>
+<h2><a class="anchor" id="toc"></a>
+Table of Contents</h2>
+<ul>
+<li><a class="el" href="index.html#intro">What is Evas?</a> </li>
+<li><a class="el" href="index.html#work">How does Evas work?</a> </li>
+<li><a class="el" href="index.html#compiling">How to compile using Evas ?</a> </li>
+<li><a class="el" href="index.html#install">How is it installed?</a> </li>
+<li><a class="el" href="index.html#next_steps">Next Steps</a> </li>
+<li><a class="el" href="index.html#intro_example">Introductory Example</a></li>
+</ul>
+<h2><a class="anchor" id="intro"></a>
+What is Evas?</h2>
+<p>Evas is a clean display canvas API for several target display systems that can draw anti-aliased text, smooth super and sub-sampled scaled images, alpha-blend objects much and more.</p>
+<p>It abstracts any need to know much about what the characteristics of your display system are or what graphics calls are used to draw them and how. It deals on an object level where all you do is create and manipulate objects in a canvas, set their properties, and the rest is done for you.</p>
+<p>Evas optimises the rendering pipeline to minimise effort in redrawing changes made to the canvas and so takes this work out of the programmers hand, saving a lot of time and energy.</p>
+<p>It's small and lean, designed to work on embedded systems all the way to large and powerful multi-cpu workstations. It can be compiled to only have the features you need for your target platform if you so wish, thus keeping it small and lean. It has several display back-ends, letting it display on several display systems, making it portable for cross-device and cross-platform development.</p>
+<h3><a class="anchor" id="intro_not_evas"></a>
+What Evas is not?</h3>
+<p>Evas is not a widget set or widget toolkit, however it is their base. See Elementary (<a href="http://docs.enlightenment.org/auto/elementary/">http://docs.enlightenment.org/auto/elementary/</a>) for a toolkit based on Evas, Edje, Ecore and other Enlightenment technologies.</p>
+<p>It is not dependent or aware of main loops, input or output systems. Input should be polled from various sources and feed them to Evas. Similarly, it will not create windows or report windows updates to your system, rather just drawing the pixels and reporting to the user the areas that were changed. Of course these operations are quite common and thus they are ready to use in Ecore, particularly in Ecore_Evas (<a href="http://docs.enlightenment.org/auto/ecore/">http://docs.enlightenment.org/auto/ecore/</a>).</p>
+<h2><a class="anchor" id="work"></a>
+How does Evas work?</h2>
+<p>Evas is a canvas display library. This is markedly different from most display and windowing systems as a Canvas is structural and is also a state engine, whereas most display and windowing systems are immediate mode display targets. Evas handles the logic between a structural display via its' state engine, and controls the target windowing system in order to produce rendered results of the current canvases state on the display.</p>
+<p>Immediate mode display systems retain very little, or no state. A program will execute a series of commands, as in the pseudo code:</p>
+<div class="fragment"><pre class="fragment">
+draw line from position (0, 0) to position (100, 200);
+
+draw rectangle from position (10, 30) to position (50, 500);
+
+bitmap_handle = create_bitmap();
+scale bitmap_handle to size 100 x 100;
+draw image bitmap_handle at position (10, 30);
+</pre></div><p>The series of commands is executed by the windowing system and the results are displayed on the screen (normally). Once the commands are executed the display system has little or no idea of how to reproduce this image again, and so has to be instructed by the application how to redraw sections of the screen whenever needed. Each successive command will be executed as instructed by the application and either emulated by software or sent to the graphics hardware on the device to be performed.</p>
+<p>The advantage of such a system is that it is simple, and gives a program tight control over how something looks and is drawn. Given the increasing complexity of displays and demands by users to have better looking interfaces, more and more work is needing to be done at this level by the internals of widget sets, custom display widgets and other programs. This means more and more logic and display rendering code needs to be written time and time again, each time the application needs to figure out how to minimise redraws so that display is fast and interactive, and keep track of redraw logic. The power comes at a high-price, lots of extra code and work. Programmers not very familiar with graphics programming will often make mistakes at this level and produce code that is sub optimal. Those familiar with this kind of programming will simply get bored by writing the same code again and again.</p>
+<p>For example, if in the above scene, the windowing system requires the application to redraw the area from 0, 0 to 50, 50 (also referred as "expose event"), then the programmer must calculate manually the updates and repaint it again:</p>
+<div class="fragment"><pre class="fragment">
+Redraw from position (0, 0) to position (50, 50):
+
+// what was in area (0, 0, 50, 50)?
+
+// 1. intersection part of line (0, 0) to (100, 200)?
+      draw line from position (0, 0) to position (25, 50);
+
+// 2. intersection part of rectangle (10, 30) to (50, 500)?
+      draw rectangle from position (10, 30) to position (50, 50)
+
+// 3. intersection part of image at (10, 30), size 100 x 100?
+      bitmap_subimage = subregion from position (0, 0) to position (40, 20)
+      draw image bitmap_subimage at position (10, 30);
+</pre></div><p>The clever reader might have noticed that, if all elements in the above scene are opaque, then the system is doing useless paints: part of the line is behind the rectangle, and part of the rectangle is behind the image. These useless paints tends to be very costly, as pixels tend to be 4 bytes in size, thus an overlapping region of 100 x 100 pixels is around 40000 useless writes! The developer could write code to calculate the overlapping areas and avoid painting then, but then it should be mixed with the "expose event" handling mentioned above and quickly one realizes the initially simpler method became really complex.</p>
+<p>Evas is a structural system in which the programmer creates and manages display objects and their properties, and as a result of this higher level state management, the canvas is able to redraw the set of objects when needed to represent the current state of the canvas.</p>
+<p>For example, the pseudo code:</p>
+<div class="fragment"><pre class="fragment">
+line_handle = create_line();
+set line_handle from position (0, 0) to position (100, 200);
+show line_handle;
+
+rectangle_handle = create_rectangle();
+move rectangle_handle to position (10, 30);
+resize rectangle_handle to size 40 x 470;
+show rectangle_handle;
+
+bitmap_handle = create_bitmap();
+scale bitmap_handle to size 100 x 100;
+move bitmap_handle to position (10, 30);
+show bitmap_handle;
+
+render scene;
+</pre></div><p>This may look longer, but when the display needs to be refreshed or updated, the programmer only moves, resizes, shows, hides etc. the objects that they need to change. The programmer simply thinks at the object logic level, and the canvas software does the rest of the work for them, figuring out what actually changed in the canvas since it was last drawn, how to most efficiently redraw he canvas and its contents to reflect the current state, and then it can go off and do the actual drawing of the canvas.</p>
+<p>This lets the programmer think in a more natural way when dealing with a display, and saves time and effort of working out how to load and display images, render given the current display system etc. Since Evas also is portable across different display systems, this also gives the programmer the ability to have their code ported and display on different display systems with very little work.</p>
+<p>Evas can be seen as a display system that stands somewhere between a widget set and an immediate mode display system. It retains basic display logic, but does very little high-level logic such as scrollbars, sliders, push buttons etc.</p>
+<h2><a class="anchor" id="compiling"></a>
+How to compile using Evas ?</h2>
+<p>Evas is a library your application links to. The procedure for this is very simple. You simply have to compile your application with the appropriate compiler flags that the <code>pkg-config</code> script outputs. For example:</p>
+<p>Compiling C or C++ files into object files:</p>
+<div class="fragment"><pre class="fragment">
+gcc -c -o main.o main.c `pkg-config --cflags evas`
+</pre></div><p>Linking object files into a binary executable:</p>
+<div class="fragment"><pre class="fragment">
+gcc -o my_application main.o `pkg-config --libs evas`
+</pre></div><p>You simply have to make sure that pkg-config is in your shell's PATH (see the manual page for your appropriate shell) and evas.pc in /usr/lib/pkgconfig or its path is in the PKG_CONFIG_PATH environment variable. It's that simple to link and use Evas once you have written your code to use it.</p>
+<p>Since the program is linked to Evas, it is now able to use any advertised API calls to display graphics in a canvas managed by Evas, as well as use the API calls provided to manage data as well.</p>
+<p>You should make sure you add any extra compile and link flags to your compile commands that your application may need as well. The above example is only guaranteed to make Evas add it's own requirements.</p>
+<h2><a class="anchor" id="install"></a>
+How is it installed?</h2>
+<p>Simple:</p>
+<div class="fragment"><pre class="fragment">
+./configure
+make
+su -
+...
+make install
+</pre></div><h2><a class="anchor" id="next_steps"></a>
+Next Steps</h2>
+<p>After you understood what Evas is and installed it in your system you should proceed understanding the programming interface for all objects, then see the specific for the most used elements. We'd recommend you to take a while to learn Ecore (<a href="http://docs.enlightenment.org/auto/ecore/">http://docs.enlightenment.org/auto/ecore/</a>) and Edje (<a href="http://docs.enlightenment.org/auto/edje/">http://docs.enlightenment.org/auto/edje/</a>) as they will likely save you tons of work compared to using just Evas directly.</p>
+<p>Recommended reading:</p>
+<ul>
+<li><a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a> </li>
+<li><a class="el" href="group__Evas__Object__Rectangle.html">Rectangle Object Functions</a> </li>
+<li><a class="el" href="group__Evas__Object__Image.html">Image Object Functions</a> </li>
+<li><a class="el" href="group__Evas__Object__Text.html">Text Object Functions</a> </li>
+<li><a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a> and <a class="el" href="group__Evas__Smart__Group.html">Smart Functions</a> to define an object that provides custom functions to handle clipping, hiding, moving, resizing, setting the color and more. These could be as simple as a group of objects that move together (see <a class="el" href="group__Evas__Smart__Object__Clipped.html">Clipped Smart Object</a>). These smart objects can implement what ends to be a widget, providing some intelligence (thus the name), like a button or check box.</li>
+</ul>
+<h2><a class="anchor" id="intro_example"></a>
+Introductory Example</h2>
+<div class="fragment"><pre class="fragment"><span class="comment">/**</span>
+<span class="comment"> * Simple Evas example using the Buffer engine.</span>
+<span class="comment"> *</span>
+<span class="comment"> * You must have Evas compiled with the buffer engine, and have the</span>
+<span class="comment"> * evas-software-buffer pkg-config files installed.</span>
+<span class="comment"> *</span>
+<span class="comment"> * Compile with:</span>
+<span class="comment"> *</span>
+<span class="comment"> * @verbatim</span>
+<span class="comment"> * gcc -o evas-buffer-simple evas-buffer-simple.c `pkg-config --libs --cflags evas evas-software-buffer`</span>
+<span class="comment"> * @endverbatim</span>
+<span class="comment"> *</span>
+<span class="comment"> */</span>
+<span class="preprocessor">#include &lt;<a class="code" href="Evas_8h.html" title="These routines are used for Evas library interaction.">Evas.h</a>&gt;</span>
+<span class="preprocessor">#include &lt;Evas_Engine_Buffer.h&gt;</span>
+<span class="preprocessor">#include &lt;stdio.h&gt;</span>
+<span class="preprocessor">#include &lt;errno.h&gt;</span>
+
+<span class="preprocessor">#define WIDTH (320)</span>
+<span class="preprocessor"></span><span class="preprocessor">#define HEIGHT (240)</span>
+<span class="preprocessor"></span>
+<span class="comment">/*</span>
+<span class="comment"> * create_canvas(), destroy_canvas() and draw_scene() are support functions.</span>
+<span class="comment"> *</span>
+<span class="comment"> * They are only required to use raw Evas, but for real world usage,</span>
+<span class="comment"> * it is recommended to use ecore and its ecore-evas submodule, that</span>
+<span class="comment"> * provide convenience canvas creators, integration with main loop and</span>
+<span class="comment"> * automatic render of updates (draw_scene()) when system goes back to</span>
+<span class="comment"> * main loop.</span>
+<span class="comment"> */</span>
+<span class="keyword">static</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *create_canvas(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height);
+<span class="keyword">static</span> <span class="keywordtype">void</span> destroy_canvas(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas);
+<span class="keyword">static</span> <span class="keywordtype">void</span> draw_scene(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas);
+
+<span class="comment">// support function to save scene as PPM image</span>
+<span class="keyword">static</span> <span class="keywordtype">void</span> save_scene(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas, <span class="keyword">const</span> <span class="keywordtype">char</span> *dest);
+
+<span class="keywordtype">int</span> main(<span class="keywordtype">void</span>)
+{
+   <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas;
+   <a class="code" href="group__Evas__Object__Group.html#ga9e19e6dd1f517a0ba437c0114d3e7c97" title="An Evas Object handle.">Evas_Object</a> *bg, *r1, *r2, *r3;
+
+   <a class="code" href="group__Evas__Group.html#ga939a904ec53bf80796a8ad763cbb4c3c" title="Initialize Evas.">evas_init</a>();
+
+   <span class="comment">// create your canvas</span>
+   <span class="comment">// NOTE: consider using ecore_evas_buffer_new() instead!</span>
+   canvas = create_canvas(WIDTH, HEIGHT);
+   <span class="keywordflow">if</span> (!canvas)
+     <span class="keywordflow">return</span> -1;
+
+   bg = <a class="code" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa" title="Adds a rectangle to the given evas.">evas_object_rectangle_add</a>(canvas);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(bg, 255, 255, 255, 255); <span class="comment">// white bg</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(bg, 0, 0);                    <span class="comment">// at origin</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(bg, WIDTH, HEIGHT);         <span class="comment">// covers full canvas</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(bg);
+
+   puts(<span class="stringliteral">&quot;initial scene, with just background:&quot;</span>);
+   draw_scene(canvas);
+
+   r1 = <a class="code" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa" title="Adds a rectangle to the given evas.">evas_object_rectangle_add</a>(canvas);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(r1, 255, 0, 0, 255); <span class="comment">// 100% opaque red</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(r1, 10, 10);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(r1, 100, 100);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(r1);
+
+   <span class="comment">// pay attention to transparency! Evas color values are pre-multiplied by</span>
+   <span class="comment">// alpha, so 50% opaque green is:</span>
+   <span class="comment">// non-premul: r=0, g=255, b=0    a=128 (50% alpha)</span>
+   <span class="comment">// premul:</span>
+   <span class="comment">//         r_premul = r * a / 255 =      0 * 128 / 255 =      0</span>
+   <span class="comment">//         g_premul = g * a / 255 =    255 * 128 / 255 =    128</span>
+   <span class="comment">//         b_premul = b * a / 255 =      0 * 128 / 255 =      0</span>
+   <span class="comment">//</span>
+   <span class="comment">// this 50% green is over a red background, so it will show in the</span>
+   <span class="comment">// final output as yellow (green + red = yellow)</span>
+   r2 = <a class="code" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa" title="Adds a rectangle to the given evas.">evas_object_rectangle_add</a>(canvas);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(r2, 0, 128, 0, 128); <span class="comment">// 50% opaque green</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(r2, 10, 10);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(r2, 50, 50);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(r2);
+
+   r3 = <a class="code" href="group__Evas__Object__Rectangle.html#gaa08a28171d59c43d106e1ea4f986fefa" title="Adds a rectangle to the given evas.">evas_object_rectangle_add</a>(canvas);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga6b2dfe01eb955cebf734f4e10ac9ce7f" title="Sets the general colour of the given evas object to the given colour.">evas_object_color_set</a>(r3, 0, 128, 0, 255); <span class="comment">// 100% opaque dark green</span>
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga78fa8858c51707f1a557b720014b71cc" title="Moves the given evas object to the given location.">evas_object_move</a>(r3, 60, 60);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga34df8b33704deafd2a25f40e3c09d149" title="Changes the size of the given evas object.">evas_object_resize</a>(r3, 50, 50);
+   <a class="code" href="group__Evas__Object__Group__Basic.html#ga769ad9a3e3daecb7a828196a2c86332f" title="Makes the given evas object visible.">evas_object_show</a>(r3);
+
+   puts(<span class="stringliteral">&quot;final scene (note updates):&quot;</span>);
+   draw_scene(canvas);
+   save_scene(canvas, <span class="stringliteral">&quot;/tmp/evas-buffer-simple-render.ppm&quot;</span>);
+
+   <span class="comment">// NOTE: use ecore_evas_buffer_new() and here ecore_evas_free()</span>
+   destroy_canvas(canvas);
+
+   <a class="code" href="group__Evas__Group.html#ga3170193ec2e0ce4d7f0eb55de71060ed" title="Shutdown Evas.">evas_shutdown</a>();
+
+   <span class="keywordflow">return</span> 0;
+}
+
+<span class="keyword">static</span> <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *create_canvas(<span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height)
+{
+   <a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas;
+   Evas_Engine_Info_Buffer *einfo;
+   <span class="keywordtype">int</span> method;
+   <span class="keywordtype">void</span> *pixels;
+
+   method = <a class="code" href="group__Evas__Output__Method.html#gad8a701a8d4a2acbb2ce4b741ae55ce6b" title="Look up a numeric ID from a string name of a rendering engine.">evas_render_method_lookup</a>(<span class="stringliteral">&quot;buffer&quot;</span>);
+   <span class="keywordflow">if</span> (method &lt;= 0)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: evas was not compiled with &#39;buffer&#39; engine!\n&quot;</span>, stderr);
+        <span class="keywordflow">return</span> NULL;
+     }
+
+   canvas = <a class="code" href="group__Evas__Canvas.html#ga9280ee6564c889348b142b8bcd723f87" title="Creates a new empty evas.">evas_new</a>();
+   <span class="keywordflow">if</span> (!canvas)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: could not instantiate new evas canvas.\n&quot;</span>, stderr);
+        <span class="keywordflow">return</span> NULL;
+     }
+
+   <a class="code" href="group__Evas__Output__Method.html#gab6cca6c7a5edabef057790889d560b11" title="Sets the output engine for the given evas.">evas_output_method_set</a>(canvas, method);
+   <a class="code" href="group__Evas__Output__Size.html#gaaf571f18f97f4067f554ab7713f01063" title="Sets the output size of the render engine of the given evas.">evas_output_size_set</a>(canvas, width, height);
+   <a class="code" href="group__Evas__Output__Size.html#ga1d39edcaff429d884d4a70aa1fca0c08" title="Sets the output viewport of the given evas in evas units.">evas_output_viewport_set</a>(canvas, 0, 0, width, height);
+
+   einfo = (Evas_Engine_Info_Buffer *)<a class="code" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713" title="Retrieves the current render engine info struct from the given evas.">evas_engine_info_get</a>(canvas);
+   <span class="keywordflow">if</span> (!einfo)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: could not get evas engine info!\n&quot;</span>, stderr);
+        <a class="code" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free</a>(canvas);
+        <span class="keywordflow">return</span> NULL;
+     }
+
+   <span class="comment">// ARGB32 is sizeof(int), that is 4 bytes, per pixel</span>
+   pixels = malloc(width * height * <span class="keyword">sizeof</span>(<span class="keywordtype">int</span>));
+   <span class="keywordflow">if</span> (!pixels)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: could not allocate canvas pixels!\n&quot;</span>, stderr);
+        <a class="code" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free</a>(canvas);
+        <span class="keywordflow">return</span> NULL;
+     }
+
+   einfo-&gt;info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
+   einfo-&gt;info.dest_buffer = pixels;
+   einfo-&gt;info.dest_buffer_row_bytes = width * <span class="keyword">sizeof</span>(int);
+   einfo-&gt;info.use_color_key = 0;
+   einfo-&gt;info.alpha_threshold = 0;
+   einfo-&gt;info.func.new_update_region = NULL;
+   einfo-&gt;info.func.free_update_region = NULL;
+   <a class="code" href="group__Evas__Output__Method.html#gafeff04b89b4498eedf99c89e0a06e604" title="Applies the engine settings for the given evas from the given Evas_Engine_Info structure.">evas_engine_info_set</a>(canvas, (<a class="code" href="struct__Evas__Engine__Info.html" title="Generic engine information.">Evas_Engine_Info</a> *)einfo);
+
+   <span class="keywordflow">return</span> canvas;
+}
+
+<span class="keyword">static</span> <span class="keywordtype">void</span> destroy_canvas(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas)
+{
+   Evas_Engine_Info_Buffer *einfo;
+
+   einfo = (Evas_Engine_Info_Buffer *)<a class="code" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713" title="Retrieves the current render engine info struct from the given evas.">evas_engine_info_get</a>(canvas);
+   <span class="keywordflow">if</span> (!einfo)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: could not get evas engine info!\n&quot;</span>, stderr);
+        <a class="code" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free</a>(canvas);
+        <span class="keywordflow">return</span>;
+     }
+
+   free(einfo-&gt;info.dest_buffer);
+   <a class="code" href="group__Evas__Canvas.html#ga45ab1883cc0b145bc3af130d3c00a21f" title="Frees the given evas and any objects created on it.">evas_free</a>(canvas);
+}
+
+<span class="keyword">static</span> <span class="keywordtype">void</span> draw_scene(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas)
+{
+   Eina_List *updates, *n;
+   Eina_Rectangle *update;
+
+   <span class="comment">// render and get the updated rectangles:</span>
+   updates = <a class="code" href="group__Evas__Canvas.html#ga49650dcc731a151d4881106b56f7a5ca" title="Force immediate renderization of the given canvas.">evas_render_updates</a>(canvas);
+
+   <span class="comment">// informative only here, just print the updated areas:</span>
+   EINA_LIST_FOREACH(updates, n, update)
+     printf(&quot;UPDATED REGION: pos: %3d, %3d    size: %3dx%3d\n&quot;,
+            update-&gt;x, update-&gt;y, update-&gt;w, update-&gt;h);
+
+   <span class="comment">// free list of updates</span>
+   <a class="code" href="group__Evas__Canvas.html#gae4889bb5ec0e6e4f6ce5d6ef99f8737b" title="Free the rectangles returned by evas_render_updates().">evas_render_updates_free</a>(updates);
+}
+
+static <span class="keywordtype">void</span> save_scene(<a class="code" href="group__Evas__Canvas.html#ga5ff87cc4ce6bc43e3b640a6d37f73043" title="An Evas canvas handle.">Evas</a> *canvas, const <span class="keywordtype">char</span> *dest)
+{
+   Evas_Engine_Info_Buffer *einfo;
+   <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> *pixels, *pixels_end;
+   <span class="keywordtype">int</span> width, height;
+   FILE *f;
+
+   einfo = (Evas_Engine_Info_Buffer *)<a class="code" href="group__Evas__Output__Method.html#ga882d5f9411b5556719bdf28a134ee713" title="Retrieves the current render engine info struct from the given evas.">evas_engine_info_get</a>(canvas);
+   <span class="keywordflow">if</span> (!einfo)
+     {
+        fputs(<span class="stringliteral">&quot;ERROR: could not get evas engine info!\n&quot;</span>, stderr);
+        <span class="keywordflow">return</span>;
+     }
+   <a class="code" href="group__Evas__Output__Size.html#ga1f3497644d526ff5ded49b19c1ec732a" title="Retrieve the output size of the render engine of the given evas.">evas_output_size_get</a>(canvas, &amp;width, &amp;height);
+
+   f = fopen(dest, <span class="stringliteral">&quot;wb+&quot;</span>);
+   <span class="keywordflow">if</span> (!f)
+     {
+        fprintf(stderr, <span class="stringliteral">&quot;ERROR: could not open for writing &#39;%s&#39;: %s\n&quot;</span>,
+                dest, strerror(errno));
+        <span class="keywordflow">return</span>;
+     }
+
+   pixels = einfo-&gt;info.dest_buffer;
+   pixels_end = pixels + (width * height);
+
+   <span class="comment">// PPM P6 format is dead simple to write:</span>
+   fprintf(f, <span class="stringliteral">&quot;P6\n%d %d\n255\n&quot;</span>,  width, height);
+   <span class="keywordflow">for</span> (; pixels &lt; pixels_end; pixels++)
+     {
+        <span class="keywordtype">int</span> r, g, b;
+
+        r = ((*pixels) &amp; 0xff0000) &gt;&gt; 16;
+        g = ((*pixels) &amp; 0x00ff00) &gt;&gt; 8;
+        b = (*pixels) &amp; 0x0000ff;
+
+        fprintf(f, <span class="stringliteral">&quot;%c%c%c&quot;</span>, r, g, b);
+     }
+
+   fclose(f);
+   printf(<span class="stringliteral">&quot;saved scene as &#39;%s&#39;\n&quot;</span>, dest);
+}
+</pre></div><dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Todo:</a></b></dt><dd><p class="startdd">(1.0) Need a way ot scaling an image and just PRODUCING the output (scaling direct to target buffe r- no blend/copy etc.) </p>
+<p>(1.0) Could improve evas's scaling down code to limit multiple samples per output pixel to maybe 2x2? </p>
+<p>(1.0) Document API </p>
+<p>(1.0) Evas needs to check delete_me member for all object functions </p>
+<p>(1.0) Evas engine that renders to Evas_Objects </p>
+<p>(1.0) OpenGL engine needs to use texture meshes </p>
+<p>(1.0) OpenGL engine needs texture cache and size setting </p>
+<p>(1.0) OpenGL Engine needs YUV import API to YUV texture </p>
+<p>(1.0) All engines need pixel import API </p>
+<p>(1.0) Add parital render through composite layer api to engines </p>
+<p>(1.0) Move callback processing to a queue and do it asynchronously??? </p>
+<p>(1.0) Add button grabbing </p>
+<p>(1.0) Add generic object method call system </p>
+<p>(1.0) Add callbacks set for smart object parents to be set on all child smart objects too. </p>
+<p>(1.0) Add font load query calls (so we know if a font load failed) </p>
+<p>(1.0) Add font listing calls </p>
+<p>(1.0) Add ability to check image comments &amp; disk format </p>
+<p>(1.0) Add fontset support </p>
+<p>(1.0) Export engine rendering API cleanly to Evas API </p>
+<p>(1.0) Add smart object ability to provide rendering callback </p>
+<p>(1.1) Make freetype optional and put in optional graymap font engine </p>
+<p>(1.1) Free images if object invisible (and put back in chache) </p>
+<p>(1.1) Check robustness of malloc/calloc/realloc failures. </p>
+<p>(1.1) Add memory use reduction code if any allocations fail </p>
+<p>(1.1) If image loads fails due to memory allocatue failure, load reduced res version </p>
+<p>(1.1) If image load fails due to memory allocation failure, try split it up into tiles and demand-load them </p>
+<p>(1.2) Add external image loaders (application provided callbacks to load) </p>
+<p>(1.2) Add loadable image loader module support (evas loads file.so) </p>
+<p>(1.2) Add external image loader modules (application provides path to file.so) </p>
+<p>(1.3) Add X11 primtive engine (ie pixmap) </p>
+<p>(1.3) Add immediate mode drawing commands to image objects </p>
+<p>(1.3) Fix FB engine to allocate vt and release properly </p>
+<p>(1.4) Add ellipse objects (circle, arc, ellipse etc.) </p>
+<p>(1.5) Make software engine draw lines &amp; polys etc. with aa </p>
+<p>(1.5) Add radial gradients to gradient objects </p>
+<p>(1.5) Add Symbian Engine </p>
+<p>(1.6) Add PalmOS Engine </p>
+<p>(1.6) Add Apple OpenGL Engine </p>
+<p>(1.7) Document engine API and other internals </p>
+<p>(1.7) Allow any object to clip any other object, and not just rectangles </p>
+<p>(1.8) Add more evas demos </p>
+<p>(1.9) Write the error mechanism in evas_xcb_buffer.c </p>
+<p>(1.9) Rewrite the render xcb engine </p>
+<p class="enddd">(1.10) Improve Win32 Direct3D Engine</p>
+</dd></dl>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:29</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/menu_bg.png b/doc/html/menu_bg.png
new file mode 100755 (executable)
index 0000000..e978743
Binary files /dev/null and b/doc/html/menu_bg.png differ
diff --git a/doc/html/menu_bg_current.png b/doc/html/menu_bg_current.png
new file mode 100755 (executable)
index 0000000..de97c92
Binary files /dev/null and b/doc/html/menu_bg_current.png differ
diff --git a/doc/html/menu_bg_hover.png b/doc/html/menu_bg_hover.png
new file mode 100755 (executable)
index 0000000..3fd851d
Binary files /dev/null and b/doc/html/menu_bg_hover.png differ
diff --git a/doc/html/menu_bg_last.png b/doc/html/menu_bg_last.png
new file mode 100755 (executable)
index 0000000..88c116c
Binary files /dev/null and b/doc/html/menu_bg_last.png differ
diff --git a/doc/html/menu_bg_unsel.png b/doc/html/menu_bg_unsel.png
new file mode 100755 (executable)
index 0000000..50e5fd8
Binary files /dev/null and b/doc/html/menu_bg_unsel.png differ
diff --git a/doc/html/modules.html b/doc/html/modules.html
new file mode 100644 (file)
index 0000000..4c192d3
--- /dev/null
@@ -0,0 +1,138 @@
+<html>
+<head>
+    <title>Evas: Module Index</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Modules</h1>  </div>
+</div>
+<div class="contents">
+Here is a list of all modules:<ul>
+<li><a class="el" href="group__Evas__Group.html">Top Level Functions</a></li>
+<li><a class="el" href="group__Evas__Canvas.html">Canvas Functions</a><ul>
+<li><a class="el" href="group__Evas__Output__Method.html">Render Engine Functions</a></li>
+<li><a class="el" href="group__Evas__Output__Size.html">Output and Viewport Resizing Functions</a></li>
+<li><a class="el" href="group__Evas__Coord__Mapping__Group.html">Coordinate Mapping Functions</a></li>
+<li><a class="el" href="group__Evas__Pointer__Group.html">Pointer (Mouse) Functions</a></li>
+<li><a class="el" href="group__Evas__Event__Freezing__Group.html">Event Freezing Functions</a></li>
+<li><a class="el" href="group__Evas__Event__Feeding__Group.html">Event Feeding Functions</a></li>
+<li><a class="el" href="group__Evas__Canvas__Events.html">Canvas Events</a></li>
+<li><a class="el" href="group__Evas__Image__Group.html">Image Functions</a></li>
+<li><a class="el" href="group__Evas__Font__Group.html">Font Functions</a><ul>
+<li><a class="el" href="group__Evas__Font__Path__Group.html">Font Path Functions</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li><a class="el" href="group__Evas__Object__Group.html">Generic Object Functions</a><ul>
+<li><a class="el" href="group__Evas__Object__Group__Basic.html">Basic Object Manipulation</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Events.html">Object Events</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Map.html">UV Mapping (Rotation, Perspecitve, 3D...)</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Size__Hints.html">Size Hints</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Extras.html">Extra Object Manipulation</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Find.html">Finding Objects</a></li>
+<li><a class="el" href="group__Evas__Object__Group__Interceptors.html">Object Method Interceptors</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__Evas__Object__Specific.html">Specific Object Functions</a><ul>
+<li><a class="el" href="group__Evas__Object__Rectangle.html">Rectangle Object Functions</a></li>
+<li><a class="el" href="group__Evas__Object__Image.html">Image Object Functions</a></li>
+<li><a class="el" href="group__Evas__Object__Text.html">Text Object Functions</a></li>
+<li><a class="el" href="group__Evas__Object__Textblock.html">Textblock Object Functions</a></li>
+<li><a class="el" href="group__Evas__Line__Group.html">Line Object Functions</a></li>
+<li><a class="el" href="group__Evas__Object__Polygon.html">Polygon Object Functions</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__Evas__Smart__Group.html">Smart Functions</a></li>
+<li><a class="el" href="group__Evas__Smart__Object__Group.html">Smart Object Functions</a><ul>
+<li><a class="el" href="group__Evas__Smart__Object__Clipped.html">Clipped Smart Object</a></li>
+<li><a class="el" href="group__Evas__Object__Box.html">Box (Sequence) Smart Object.</a></li>
+<li><a class="el" href="group__Evas__Object__Table.html">Table Smart Object.</a></li>
+</ul>
+</li>
+<li><a class="el" href="group__Evas__Cserve.html">Shared Image Cache Server</a></li>
+<li><a class="el" href="group__Evas__Utils.html">General Utilities</a></li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/nav_f.png b/doc/html/nav_f.png
new file mode 100644 (file)
index 0000000..1b07a16
Binary files /dev/null and b/doc/html/nav_f.png differ
diff --git a/doc/html/nav_h.png b/doc/html/nav_h.png
new file mode 100644 (file)
index 0000000..01f5fa6
Binary files /dev/null and b/doc/html/nav_h.png differ
diff --git a/doc/html/open.png b/doc/html/open.png
new file mode 100644 (file)
index 0000000..7b35d2c
Binary files /dev/null and b/doc/html/open.png differ
diff --git a/doc/html/pages.html b/doc/html/pages.html
new file mode 100644 (file)
index 0000000..2d6c194
--- /dev/null
@@ -0,0 +1,96 @@
+<html>
+<head>
+    <title>Evas: Page Index</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Related Pages</h1>  </div>
+</div>
+<div class="contents">
+Here is a list of all related documentation pages:<ul>
+<li><a class="el" href="todo.html">Todo List</a>
+</li>
+</ul>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:29</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Coord__Rectangle.html b/doc/html/struct__Evas__Coord__Rectangle.html
new file mode 100644 (file)
index 0000000..c6908e0
--- /dev/null
@@ -0,0 +1,115 @@
+<html>
+<head>
+    <title>Evas: _Evas_Coord_Rectangle Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Coord_Rectangle Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Coord_Rectangle" -->
+<p>&lt; A rectangle in Evas_Coord  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8281ece9529d16c84be8b388ea5ae983"></a><!-- doxytag: member="_Evas_Coord_Rectangle::x" ref="a8281ece9529d16c84be8b388ea5ae983" args="" -->
+Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Coord__Rectangle.html#a8281ece9529d16c84be8b388ea5ae983">x</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">top-left x co-ordinate of rectangle <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adafcf87056501a29d628801e8cacd0d5"></a><!-- doxytag: member="_Evas_Coord_Rectangle::y" ref="adafcf87056501a29d628801e8cacd0d5" args="" -->
+Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Coord__Rectangle.html#adafcf87056501a29d628801e8cacd0d5">y</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">top-left y co-ordinate of rectangle <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a72fe41e483e3fcaefa1ee2fdd2f925"></a><!-- doxytag: member="_Evas_Coord_Rectangle::w" ref="a5a72fe41e483e3fcaefa1ee2fdd2f925" args="" -->
+Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Coord__Rectangle.html#a5a72fe41e483e3fcaefa1ee2fdd2f925">w</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">width of rectangle <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb6159a85268fc627520a3436cf94a7a"></a><!-- doxytag: member="_Evas_Coord_Rectangle::h" ref="afb6159a85268fc627520a3436cf94a7a" args="" -->
+Evas_Coord&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Coord__Rectangle.html#afb6159a85268fc627520a3436cf94a7a">h</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">height of rectangle <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>&lt; A rectangle in Evas_Coord </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Cserve__Config.html b/doc/html/struct__Evas__Cserve__Config.html
new file mode 100644 (file)
index 0000000..c59e8d8
--- /dev/null
@@ -0,0 +1,102 @@
+<html>
+<head>
+    <title>Evas: _Evas_Cserve_Config Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Cserve_Config Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Cserve.html">Shared Image Cache Server</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Cserve_Config" -->
+<p>Configuration that controls the server that shares cached bitmaps.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Configuration that controls the server that shares cached bitmaps. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Cserve__Image.html b/doc/html/struct__Evas__Cserve__Image.html
new file mode 100644 (file)
index 0000000..adb9572
--- /dev/null
@@ -0,0 +1,102 @@
+<html>
+<head>
+    <title>Evas: _Evas_Cserve_Image Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Cserve_Image Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Cserve.html">Shared Image Cache Server</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Cserve_Image" -->
+<p>An image shared by the server.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>An image shared by the server. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Cserve__Image__Cache.html b/doc/html/struct__Evas__Cserve__Image__Cache.html
new file mode 100644 (file)
index 0000000..d372cd3
--- /dev/null
@@ -0,0 +1,102 @@
+<html>
+<head>
+    <title>Evas: _Evas_Cserve_Image_Cache Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Cserve_Image_Cache Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Cserve.html">Shared Image Cache Server</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Cserve_Image_Cache" -->
+<p>Cache of images shared by server.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Cache of images shared by server. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Cserve__Stats.html b/doc/html/struct__Evas__Cserve__Stats.html
new file mode 100644 (file)
index 0000000..94ffc24
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+<head>
+    <title>Evas: _Evas_Cserve_Stats Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Cserve_Stats Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Cserve.html">Shared Image Cache Server</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Cserve_Stats" -->
+<p>Statistics about server that shares cached bitmaps.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7fa72c981c855ee8c0e49dd3395f113"></a><!-- doxytag: member="_Evas_Cserve_Stats::saved_memory" ref="af7fa72c981c855ee8c0e49dd3395f113" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#af7fa72c981c855ee8c0e49dd3395f113">saved_memory</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">current saved memory, in bytes <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab98e8e5dd83545a2c6acc3c914ea488e"></a><!-- doxytag: member="_Evas_Cserve_Stats::wasted_memory" ref="ab98e8e5dd83545a2c6acc3c914ea488e" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#ab98e8e5dd83545a2c6acc3c914ea488e">wasted_memory</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">current wasted memory, in bytes <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9738ab5831d7b402111db096b6ff972b"></a><!-- doxytag: member="_Evas_Cserve_Stats::saved_memory_peak" ref="a9738ab5831d7b402111db096b6ff972b" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#a9738ab5831d7b402111db096b6ff972b">saved_memory_peak</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">peak of saved memory, in bytes <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcdf3ed844a2e8241c0ee5986e6532bb"></a><!-- doxytag: member="_Evas_Cserve_Stats::wasted_memory_peak" ref="afcdf3ed844a2e8241c0ee5986e6532bb" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#afcdf3ed844a2e8241c0ee5986e6532bb">wasted_memory_peak</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">peak of wasted memory, in bytes <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a35301ae776cdf63793735930d8fe0873"></a><!-- doxytag: member="_Evas_Cserve_Stats::saved_time_image_header_load" ref="a35301ae776cdf63793735930d8fe0873" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#a35301ae776cdf63793735930d8fe0873">saved_time_image_header_load</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">time, in seconds, saved in header loads by sharing cached loads instead <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f9d701eb8a7d84937422999ff002a1a"></a><!-- doxytag: member="_Evas_Cserve_Stats::saved_time_image_data_load" ref="a8f9d701eb8a7d84937422999ff002a1a" args="" -->
+double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Cserve__Stats.html#a8f9d701eb8a7d84937422999ff002a1a">saved_time_image_data_load</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">time, in seconds, saved in data loads by sharing cached loads instead <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Statistics about server that shares cached bitmaps. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Engine__Info.html b/doc/html/struct__Evas__Engine__Info.html
new file mode 100644 (file)
index 0000000..60fe431
--- /dev/null
@@ -0,0 +1,107 @@
+<html>
+<head>
+    <title>Evas: _Evas_Engine_Info Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Engine_Info Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Engine_Info" -->
+<p>Generic engine information.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad990a452b19dbd3b0ea73e3c1827dcb1"></a><!-- doxytag: member="_Evas_Engine_Info::magic" ref="ad990a452b19dbd3b0ea73e3c1827dcb1" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Engine__Info.html#ad990a452b19dbd3b0ea73e3c1827dcb1">magic</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Magic number. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Generic engine information. </p>
+<p>Generic info is useless </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Hold.html b/doc/html/struct__Evas__Event__Hold.html
new file mode 100644 (file)
index 0000000..13462d9
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Hold Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Hold Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Hold" -->
+<p>Hold change event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a21f7238382ebd994e083623f777853f3"></a><!-- doxytag: member="_Evas_Event_Hold::hold" ref="a21f7238382ebd994e083623f777853f3" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Hold.html#a21f7238382ebd994e083623f777853f3">hold</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The hold flag. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Hold change event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Key__Down.html b/doc/html/struct__Evas__Event__Key__Down.html
new file mode 100644 (file)
index 0000000..3023342
--- /dev/null
@@ -0,0 +1,115 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Key_Down Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Key_Down Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Key_Down" -->
+<p>Key press event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01909378c9e67734aa0e6ce2b603ad2c"></a><!-- doxytag: member="_Evas_Event_Key_Down::keyname" ref="a01909378c9e67734aa0e6ce2b603ad2c" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Down.html#a01909378c9e67734aa0e6ce2b603ad2c">keyname</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The string name of the key pressed. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70473bba88a1afaee180a54150513824"></a><!-- doxytag: member="_Evas_Event_Key_Down::key" ref="a70473bba88a1afaee180a54150513824" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Down.html#a70473bba88a1afaee180a54150513824">key</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The logical key : (eg shift+1 == exclamation). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b64741ca0b90a5119463f320ebeea00"></a><!-- doxytag: member="_Evas_Event_Key_Down::string" ref="a1b64741ca0b90a5119463f320ebeea00" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Down.html#a1b64741ca0b90a5119463f320ebeea00">string</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A UTF8 string if this keystroke has produced a visible string to be ADDED. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ea3ff931ae945c486abd2388c6d653a"></a><!-- doxytag: member="_Evas_Event_Key_Down::compose" ref="a5ea3ff931ae945c486abd2388c6d653a" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Down.html#a5ea3ff931ae945c486abd2388c6d653a">compose</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Key press event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Key__Up.html b/doc/html/struct__Evas__Event__Key__Up.html
new file mode 100644 (file)
index 0000000..a335713
--- /dev/null
@@ -0,0 +1,115 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Key_Up Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Key_Up Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Key_Up" -->
+<p>Key release event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a03b32c8ba37a03fbd3ea7cd63e5f47be"></a><!-- doxytag: member="_Evas_Event_Key_Up::keyname" ref="a03b32c8ba37a03fbd3ea7cd63e5f47be" args="" -->
+char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Up.html#a03b32c8ba37a03fbd3ea7cd63e5f47be">keyname</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The string name of the key released. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a865118cf93e4454ac101d663b8027b41"></a><!-- doxytag: member="_Evas_Event_Key_Up::key" ref="a865118cf93e4454ac101d663b8027b41" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Up.html#a865118cf93e4454ac101d663b8027b41">key</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The logical key : (eg shift+1 == exclamation). <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aadff1de218baec7322b0ed0f6cf6d662"></a><!-- doxytag: member="_Evas_Event_Key_Up::string" ref="aadff1de218baec7322b0ed0f6cf6d662" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Up.html#aadff1de218baec7322b0ed0f6cf6d662">string</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A UTF8 string if this keystroke has produced a visible string to be ADDED. <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac0d6a67e53331d863d141475b1b905fb"></a><!-- doxytag: member="_Evas_Event_Key_Up::compose" ref="ac0d6a67e53331d863d141475b1b905fb" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Key__Up.html#ac0d6a67e53331d863d141475b1b905fb">compose</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one. <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Key release event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Mouse__Down.html b/doc/html/struct__Evas__Event__Mouse__Down.html
new file mode 100644 (file)
index 0000000..799c863
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_Down Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_Down Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_Down" -->
+<p>Mouse button press event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0ab02808721d6c55fc642ecbb37d5ff9"></a><!-- doxytag: member="_Evas_Event_Mouse_Down::button" ref="a0ab02808721d6c55fc642ecbb37d5ff9" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Down.html#a0ab02808721d6c55fc642ecbb37d5ff9">button</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button number that went down (1 - 32). <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Mouse button press event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Mouse__In.html b/doc/html/struct__Evas__Event__Mouse__In.html
new file mode 100644 (file)
index 0000000..9bdf1fa
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_In Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_In Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_In" -->
+<p>Mouse enter event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">buttons</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.  <a href="#abdd04878ea8584eb57926223bb381294"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Mouse enter event. </p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="abdd04878ea8584eb57926223bb381294"></a><!-- doxytag: member="_Evas_Event_Mouse_In::buttons" ref="abdd04878ea8584eb57926223bb381294" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="struct__Evas__Event__Mouse__In.html#abdd04878ea8584eb57926223bb381294">_Evas_Event_Mouse_In::buttons</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. </p>
+<p>) </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Event__Feeding__Group.html#gac9c7fada70cfee1f8124ab5446cc59ed">evas_event_feed_mouse_in()</a>, <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, and <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Mouse__Move.html b/doc/html/struct__Evas__Event__Mouse__Move.html
new file mode 100644 (file)
index 0000000..4445692
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_Move Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_Move Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_Move" -->
+<p>Mouse button down event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Move.html#a455bf48e5f7badcc6c525162e0997d08">buttons</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.  <a href="#a455bf48e5f7badcc6c525162e0997d08"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Mouse button down event. </p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a455bf48e5f7badcc6c525162e0997d08"></a><!-- doxytag: member="_Evas_Event_Mouse_Move::buttons" ref="a455bf48e5f7badcc6c525162e0997d08" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="struct__Evas__Event__Mouse__Move.html#a455bf48e5f7badcc6c525162e0997d08">_Evas_Event_Mouse_Move::buttons</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. </p>
+<p>) </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Mouse__Out.html b/doc/html/struct__Evas__Event__Mouse__Out.html
new file mode 100644 (file)
index 0000000..ab117f3
--- /dev/null
@@ -0,0 +1,124 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_Out Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_Out Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_Out" -->
+<p>Mouse leave event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">buttons</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc.  <a href="#a11f204198c8faa5998c1c21f1ad55684"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Mouse leave event. </p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="a11f204198c8faa5998c1c21f1ad55684"></a><!-- doxytag: member="_Evas_Event_Mouse_Out::buttons" ref="a11f204198c8faa5998c1c21f1ad55684" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int <a class="el" href="struct__Evas__Event__Mouse__Out.html#a11f204198c8faa5998c1c21f1ad55684">_Evas_Event_Mouse_Out::buttons</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. </p>
+<p>) </p>
+
+<p>Referenced by <a class="el" href="group__Evas__Event__Feeding__Group.html#ga480017cad2b8982bee7a894433aff2f7">evas_event_feed_mouse_move()</a>, <a class="el" href="group__Evas__Event__Feeding__Group.html#ga64f5f2d26a018f4e6154b91251e6bb13">evas_event_feed_mouse_out()</a>, <a class="el" href="group__Evas__Event__Feeding__Group.html#gacb400569d04ecfd2b89eb0f39856581c">evas_event_feed_mouse_up()</a>, and <a class="el" href="group__Evas__Object__Group__Basic.html#ga495807707f06f9acd4de8590a8c92148">evas_object_hide()</a>.</p>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Mouse__Up.html b/doc/html/struct__Evas__Event__Mouse__Up.html
new file mode 100644 (file)
index 0000000..29c5d38
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_Up Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_Up Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_Up" -->
+<p>Mouse button release event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa513164499624ee1e6f1790899efe60f"></a><!-- doxytag: member="_Evas_Event_Mouse_Up::button" ref="aa513164499624ee1e6f1790899efe60f" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Mouse__Up.html#aa513164499624ee1e6f1790899efe60f">button</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Mouse button number that was raised (1 - 32). <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Mouse button release event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Mouse__Wheel.html b/doc/html/struct__Evas__Event__Mouse__Wheel.html
new file mode 100644 (file)
index 0000000..4cd2fee
--- /dev/null
@@ -0,0 +1,99 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Mouse_Wheel Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Event_Mouse_Wheel Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Mouse_Wheel" -->
+<p>Wheel event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Wheel event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Multi__Down.html b/doc/html/struct__Evas__Event__Multi__Down.html
new file mode 100644 (file)
index 0000000..0e87ca5
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Multi_Down Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Multi_Down Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Multi_Down" -->
+<p>Multi button press event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a990b8c081ce4bb5b494ae6632b78cbe4"></a><!-- doxytag: member="_Evas_Event_Multi_Down::device" ref="a990b8c081ce4bb5b494ae6632b78cbe4" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Down.html#a990b8c081ce4bb5b494ae6632b78cbe4">device</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi device number that went down (1 or more for extra touches). <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Multi button press event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Multi__Move.html b/doc/html/struct__Evas__Event__Multi__Move.html
new file mode 100644 (file)
index 0000000..fd1a081
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Multi_Move Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Multi_Move Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Multi_Move" -->
+<p>Multi button down event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a664db8b96c8999777c79e9ba165d124a"></a><!-- doxytag: member="_Evas_Event_Multi_Move::device" ref="a664db8b96c8999777c79e9ba165d124a" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Move.html#a664db8b96c8999777c79e9ba165d124a">device</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi device number that moved (1 or more for extra touches). <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Multi button down event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Event__Multi__Up.html b/doc/html/struct__Evas__Event__Multi__Up.html
new file mode 100644 (file)
index 0000000..7920c9d
--- /dev/null
@@ -0,0 +1,106 @@
+<html>
+<head>
+    <title>Evas: _Evas_Event_Multi_Up Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Event_Multi_Up Struct Reference</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Event_Multi_Up" -->
+<p>Multi button release event.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6569e24edde1a26221efbdf54b62f5c9"></a><!-- doxytag: member="_Evas_Event_Multi_Up::device" ref="a6569e24edde1a26221efbdf54b62f5c9" args="" -->
+int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Event__Multi__Up.html#a6569e24edde1a26221efbdf54b62f5c9">device</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Multi device number that went up (1 or more for extra touches). <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Multi button release event. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Object__Box__Api.html b/doc/html/struct__Evas__Object__Box__Api.html
new file mode 100644 (file)
index 0000000..c296f2d
--- /dev/null
@@ -0,0 +1,102 @@
+<html>
+<head>
+    <title>Evas: _Evas_Object_Box_Api Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Object_Box_Api Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Box.html">Box (Sequence) Smart Object.</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Object_Box_Api" --><!-- doxytag: inherits="_Evas_Smart_Class" -->
+<p>This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a>.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with <a class="el" href="group__Evas__Object__Box.html#ga2116d23c11ab08d7c50cbcb588de5570" title="Set a &#39;calculate&#39; callback (cb) to the o box&#39;s smart class, which here defines its genre ...">evas_object_box_layout_set()</a>. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Object__Box__Data.html b/doc/html/struct__Evas__Object__Box__Data.html
new file mode 100644 (file)
index 0000000..a0b9040
--- /dev/null
@@ -0,0 +1,103 @@
+<html>
+<head>
+    <title>Evas: _Evas_Object_Box_Data Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>_Evas_Object_Box_Data Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Object__Box.html">Box (Sequence) Smart Object.</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Object_Box_Data" --><!-- doxytag: inherits="_Evas_Object_Smart_Clipped_Data" -->
+<p>This structure augments clipped smart object's instance data, providing extra members required by generic box implementation.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>This structure augments clipped smart object's instance data, providing extra members required by generic box implementation. </p>
+<p>If a subclass inherits from <a class="el" href="group__Evas__Object__Box.html#ga2a8fbeeab4f5ae23e7bc1b291e27c5e1" title="Smart Class extension providing extra box requirements.">Evas_Object_Box_Api</a> then it may augment <a class="el" href="group__Evas__Object__Box.html#gac9047b7cff95df59f61c7321967caf7b" title="Smart instance data providing box requirements.">Evas_Object_Box_Data</a> to fit its own needs. </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Smart__Cb__Description.html b/doc/html/struct__Evas__Smart__Cb__Description.html
new file mode 100644 (file)
index 0000000..ae87145
--- /dev/null
@@ -0,0 +1,143 @@
+<html>
+<head>
+    <title>Evas: _Evas_Smart_Cb_Description Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Smart_Cb_Description Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Smart__Group.html">Smart Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Smart_Cb_Description" -->
+<p>Describes a callback used by a smart class <a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e" title="Call any smart callbacks on obj for event.">evas_object_smart_callback_call()</a>, particularly useful to explain to user and its code (ie: introspection) what the parameter <code>event_info</code> will contain.  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab377859f4cfcf1c2dd3c149a76b70b53"></a><!-- doxytag: member="_Evas_Smart_Cb_Description::name" ref="ab377859f4cfcf1c2dd3c149a76b70b53" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Cb__Description.html#ab377859f4cfcf1c2dd3c149a76b70b53">name</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">callback name, ie: "changed" <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Cb__Description.html#af0d4ce3d62a068eab1b89a34abb056ad">type</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Hint type of <code>event_info</code> parameter of Evas_Smart_Cb.  <a href="#af0d4ce3d62a068eab1b89a34abb056ad"></a><br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>Describes a callback used by a smart class <a class="el" href="group__Evas__Smart__Object__Group.html#ga17bbe660f5bf9d8997913b08882f6f9e" title="Call any smart callbacks on obj for event.">evas_object_smart_callback_call()</a>, particularly useful to explain to user and its code (ie: introspection) what the parameter <code>event_info</code> will contain. </p>
+<hr/><h2>Field Documentation</h2>
+<a class="anchor" id="af0d4ce3d62a068eab1b89a34abb056ad"></a><!-- doxytag: member="_Evas_Smart_Cb_Description::type" ref="af0d4ce3d62a068eab1b89a34abb056ad" args="" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* <a class="el" href="struct__Evas__Smart__Cb__Description.html#af0d4ce3d62a068eab1b89a34abb056ad">_Evas_Smart_Cb_Description::type</a></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>Hint type of <code>event_info</code> parameter of Evas_Smart_Cb. </p>
+<p>The type string uses the pattern similar to</p>
+<p><a href="http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-signatures">http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-signatures</a></p>
+<p>but extended to optionally include variable names within brackets preceding types. Example:</p>
+<ul>
+<li>Structure with two integers: <code>"(ii)"</code> </li>
+</ul>
+<ul>
+<li>Structure called 'x' with two integers named 'a' and 'b': <code>"[x]([a]i[b]i)"</code> </li>
+</ul>
+<ul>
+<li>Array of integers: <code>"ai"</code> </li>
+</ul>
+<ul>
+<li>Array called 'x' of struct with two integers: <code>"[x]a(ii)"</code> </li>
+</ul>
+<dl class="note"><dt><b>Note:</b></dt><dd>This type string is used as a hint and is <b>not</b> validated or enforced anyhow. Implementors should make the best use of it to help bindings, documentation and other users of introspection features. </dd></dl>
+
+</div>
+</div>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/struct__Evas__Smart__Class.html b/doc/html/struct__Evas__Smart__Class.html
new file mode 100644 (file)
index 0000000..e430304
--- /dev/null
@@ -0,0 +1,118 @@
+<html>
+<head>
+    <title>Evas: _Evas_Smart_Class Struct Reference</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="summary">
+<a href="#pub-attribs">Data Fields</a>  </div>
+  <div class="headertitle">
+<h1>_Evas_Smart_Class Struct Reference<br/>
+<small>
+[<a class="el" href="group__Evas__Smart__Group.html">Smart Functions</a>]</small>
+</h1>  </div>
+</div>
+<div class="contents">
+<!-- doxytag: class="_Evas_Smart_Class" -->
+<p>a smart object class  
+<a href="#_details">More...</a></p>
+<table class="memberdecls">
+<tr><td colspan="2"><h2><a name="pub-attribs"></a>
+Data Fields</h2></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a34b0476dfa714dff39812ed72636005f"></a><!-- doxytag: member="_Evas_Smart_Class::name" ref="a34b0476dfa714dff39812ed72636005f" args="" -->
+const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html#a34b0476dfa714dff39812ed72636005f">name</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the string name of the class <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4b009bf8125551b4bec8bc114756fc3e"></a><!-- doxytag: member="_Evas_Smart_Class::parent" ref="a4b009bf8125551b4bec8bc114756fc3e" args="" -->
+const <a class="el" href="struct__Evas__Smart__Class.html">Evas_Smart_Class</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html#a4b009bf8125551b4bec8bc114756fc3e">parent</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">this class inherits from this parent <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af7074494030024c3d0e502bca7b19067"></a><!-- doxytag: member="_Evas_Smart_Class::callbacks" ref="af7074494030024c3d0e502bca7b19067" args="" -->
+const <a class="el" href="struct__Evas__Smart__Cb__Description.html">Evas_Smart_Cb_Description</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html#af7074494030024c3d0e502bca7b19067">callbacks</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">callbacks at this level, NULL terminated <br/></td></tr>
+<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6698ec8ff46b2678f920979ae11d939d"></a><!-- doxytag: member="_Evas_Smart_Class::interfaces" ref="a6698ec8ff46b2678f920979ae11d939d" args="" -->
+void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct__Evas__Smart__Class.html#a6698ec8ff46b2678f920979ae11d939d">interfaces</a></td></tr>
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">to be used in a future near you <br/></td></tr>
+</table>
+<hr/><a name="_details"></a><h2>Detailed Description</h2>
+<p>a smart object class </p>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/html/tab_a.png b/doc/html/tab_a.png
new file mode 100644 (file)
index 0000000..2d99ef2
Binary files /dev/null and b/doc/html/tab_a.png differ
diff --git a/doc/html/tab_b.png b/doc/html/tab_b.png
new file mode 100644 (file)
index 0000000..b2c3d2b
Binary files /dev/null and b/doc/html/tab_b.png differ
diff --git a/doc/html/tab_h.png b/doc/html/tab_h.png
new file mode 100644 (file)
index 0000000..c11f48f
Binary files /dev/null and b/doc/html/tab_h.png differ
diff --git a/doc/html/tab_s.png b/doc/html/tab_s.png
new file mode 100644 (file)
index 0000000..978943a
Binary files /dev/null and b/doc/html/tab_s.png differ
diff --git a/doc/html/tabs.css b/doc/html/tabs.css
new file mode 100644 (file)
index 0000000..2192056
--- /dev/null
@@ -0,0 +1,59 @@
+.tabs, .tabs2, .tabs3 {
+    background-image: url('tab_b.png');
+    width: 100%;
+    z-index: 101;
+    font-size: 13px;
+}
+
+.tabs2 {
+    font-size: 10px;
+}
+.tabs3 {
+    font-size: 9px;
+}
+
+.tablist {
+    margin: 0;
+    padding: 0;
+    display: table;
+}
+
+.tablist li {
+    float: left;
+    display: table-cell;
+    background-image: url('tab_b.png');
+    line-height: 36px;
+    list-style: none;
+}
+
+.tablist a {
+    display: block;
+    padding: 0 20px;
+    font-weight: bold;
+    background-image:url('tab_s.png');
+    background-repeat:no-repeat;
+    background-position:right;
+    color: #283A5D;
+    text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+    text-decoration: none;
+    outline: none;
+}
+
+.tabs3 .tablist a {
+    padding: 0 10px;
+}
+
+.tablist a:hover {
+    background-image: url('tab_h.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+    text-decoration: none;
+}
+
+.tablist li.current a {
+    background-image: url('tab_a.png');
+    background-repeat:repeat-x;
+    color: #fff;
+    text-shadow: 0px 1px 1px rgba(0, 0, 0, 1.0);
+}
diff --git a/doc/html/todo.html b/doc/html/todo.html
new file mode 100644 (file)
index 0000000..37bfcb6
--- /dev/null
@@ -0,0 +1,171 @@
+<html>
+<head>
+    <title>Evas: Todo List</title>
+    <meta http-equiv="content-type" content="text/html;charset=UTF-8">
+    <meta name="author" content="Andres Blanc" >
+    
+    <link rel="icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
+    <link rel="icon" href="img/favicon.png" type="image/ico">
+    <link rel="shortcut icon" href="img/favicon.png" type="image/ico">
+
+    <link rel="stylesheet" type="text/css" media="screen" href="e.css">
+    <link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
+</head>
+
+<body>
+
+<div id="container">
+
+<div id="header">
+<div class="layout">
+    
+    <h1><span>Enlightenment</span></h1>
+    <h2><span>Beauty at your fingertips</span></h2>
+
+    <div class="menu-container">
+        <div class="menu">
+            <ul>
+               <li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
+                <li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
+                <li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
+                <li><a href="http://www.enlightenment.org/">Home</a></li>
+            </ul>
+        </div>
+    </div>
+
+    <div class="doxytitle">
+        Evas Documentation <small>at Tue Apr 19 2011</small>
+    </div>
+
+    <div class="menu-container">
+        <div class="submenu">
+            <ul class="current">
+                <li><a href="todo.html">Todo</a></li>
+                <li><a href="files.html">Files</a></li>
+                <li><a href="annotated.html">Data Structures</a></li>
+                <li><a href="globals.html">Globals</a></li>
+                <li><a href="modules.html">Modules</a></li>
+                <li><a href="pages.html">Related Pages</a></li>
+               <li class="current"><a href="index.html">Main Page</a></li>
+            </ul>
+        </div>
+    </div>
+
+
+    <div class="clear"></div>
+</div>
+</div>
+
+<div id="content">
+<div class="layout">
+<!-- Generated by Doxygen 1.7.1 -->
+<div class="header">
+  <div class="headertitle">
+<h1>Todo List </h1>  </div>
+</div>
+<div class="contents">
+<p><a class="anchor" id="_todo000004"></a> </p>
+<dl>
+<dt>Global <a class="el" href="group__Evas__Object__Textblock.html#gac8ab2a94f6b027a2b24fffdd23b113fb">ENFN</a>  </dt>
+<dd>Write  </dd>
+</dl>
+<p><a class="anchor" id="_todo000001"></a> </p>
+<dl>
+<dt>page <a class="el" href="index.html">Evas</a>  </dt>
+<dd><p class="startdd">(1.0) Need a way ot scaling an image and just PRODUCING the output (scaling direct to target buffe r- no blend/copy etc.) </p>
+<p>(1.0) Could improve evas's scaling down code to limit multiple samples per output pixel to maybe 2x2? </p>
+<p>(1.0) Document API </p>
+<p>(1.0) Evas needs to check delete_me member for all object functions </p>
+<p>(1.0) Evas engine that renders to Evas_Objects </p>
+<p>(1.0) OpenGL engine needs to use texture meshes </p>
+<p>(1.0) OpenGL engine needs texture cache and size setting </p>
+<p>(1.0) OpenGL Engine needs YUV import API to YUV texture </p>
+<p>(1.0) All engines need pixel import API </p>
+<p>(1.0) Add parital render through composite layer api to engines </p>
+<p>(1.0) Move callback processing to a queue and do it asynchronously??? </p>
+<p>(1.0) Add button grabbing </p>
+<p>(1.0) Add generic object method call system </p>
+<p>(1.0) Add callbacks set for smart object parents to be set on all child smart objects too. </p>
+<p>(1.0) Add font load query calls (so we know if a font load failed) </p>
+<p>(1.0) Add font listing calls </p>
+<p>(1.0) Add ability to check image comments &amp; disk format </p>
+<p>(1.0) Add fontset support </p>
+<p>(1.0) Export engine rendering API cleanly to Evas API </p>
+<p>(1.0) Add smart object ability to provide rendering callback </p>
+<p>(1.1) Make freetype optional and put in optional graymap font engine </p>
+<p>(1.1) Free images if object invisible (and put back in chache) </p>
+<p>(1.1) Check robustness of malloc/calloc/realloc failures. </p>
+<p>(1.1) Add memory use reduction code if any allocations fail </p>
+<p>(1.1) If image loads fails due to memory allocatue failure, load reduced res version </p>
+<p>(1.1) If image load fails due to memory allocation failure, try split it up into tiles and demand-load them </p>
+<p>(1.2) Add external image loaders (application provided callbacks to load) </p>
+<p>(1.2) Add loadable image loader module support (evas loads file.so) </p>
+<p>(1.2) Add external image loader modules (application provides path to file.so) </p>
+<p>(1.3) Add X11 primtive engine (ie pixmap) </p>
+<p>(1.3) Add immediate mode drawing commands to image objects </p>
+<p>(1.3) Fix FB engine to allocate vt and release properly </p>
+<p>(1.4) Add ellipse objects (circle, arc, ellipse etc.) </p>
+<p>(1.5) Make software engine draw lines &amp; polys etc. with aa </p>
+<p>(1.5) Add radial gradients to gradient objects </p>
+<p>(1.5) Add Symbian Engine </p>
+<p>(1.6) Add PalmOS Engine </p>
+<p>(1.6) Add Apple OpenGL Engine </p>
+<p>(1.7) Document engine API and other internals </p>
+<p>(1.7) Allow any object to clip any other object, and not just rectangles </p>
+<p>(1.8) Add more evas demos </p>
+<p>(1.9) Write the error mechanism in evas_xcb_buffer.c </p>
+<p>(1.9) Rewrite the render xcb engine </p>
+<p class="enddd">(1.10) Improve Win32 Direct3D Engine</p>
+</dd>
+</dl>
+<p><a class="anchor" id="_todo000005"></a> </p>
+<dl>
+<dt>File <a class="el" href="Evas_8h.html">Evas.h</a>  </dt>
+<dd><p class="startdd">check boolean return values and convert to Eina_Bool </p>
+<p>change all api to use EINA_SAFETY_* </p>
+<p class="enddd">finish api documentation </p>
+</dd>
+</dl>
+<p><a class="anchor" id="_todo000007"></a> </p>
+<dl>
+<dt>Global <a class="el" href="Evas_8h.html#a5c233a1e9eea970c1db0de87ff343e77">evas_key_modifier_get</a> (const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE </dt>
+<dd>document key modifiers.</dd>
+</dl>
+<p><a class="anchor" id="_todo000002"></a> </p>
+<dl>
+<dt>Global <a class="el" href="group__Evas__Object__Table.html#ga85462a0cbafd4ee4ceface6f3f69b413">evas_object_table_homogeneous_set</a> (Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous) </dt>
+<dd><p class="startdd">consider aspect hint and respect it.</p>
+<p class="enddd"><code>EVAS_OBJECT_TABLE_HOMOGENEOUS_NONE</code> should balance weight.</p>
+</dd>
+</dl>
+<p><a class="anchor" id="_todo000006"></a> </p>
+<dl>
+<dt>Group <a class="el" href="group__Evas__Object__Textblock.html">Evas_Object_Textblock</a>  </dt>
+<dd>put here some usage examples</dd>
+</dl>
+</div>
+ <div id="push"></div>
+ </div> <!-- #content -->
+  </div> <!-- .layout -->
+ </div> <!-- #container -->
+  <div id="footer">
+    <table><tr>
+      <td class="poweredby"><img src="doxygen.png"></td>
+      <td class="copyright">Copyright &copy;2011 Enlightenment</td>
+      <td class="generated">Docs generated Tue Apr 19 2011 18:18:31</td>
+    </tr></table>
+  </div>
+
+
+</body>
+</html>
diff --git a/doc/latex/Evas_8h.tex b/doc/latex/Evas_8h.tex
new file mode 100644 (file)
index 0000000..0580d5d
--- /dev/null
@@ -0,0 +1,2234 @@
+\section{Evas.h File Reference}
+\label{Evas_8h}\index{Evas.h@{Evas.h}}
+
+
+These routines are used for Evas library interaction.  
+
+
+\subsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item 
+struct \hyperlink{struct__Evas__Coord__Rectangle}{\_\-Evas\_\-Coord\_\-Rectangle}
+\begin{DoxyCompactList}\small\item\em $<$ A rectangle in Evas\_\-Coord \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Engine__Info}{\_\-Evas\_\-Engine\_\-Info}
+\begin{DoxyCompactList}\small\item\em Generic engine information. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Mouse__Down}{\_\-Evas\_\-Event\_\-Mouse\_\-Down}
+\begin{DoxyCompactList}\small\item\em Mouse button press event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Mouse__Up}{\_\-Evas\_\-Event\_\-Mouse\_\-Up}
+\begin{DoxyCompactList}\small\item\em Mouse button release event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Mouse__In}{\_\-Evas\_\-Event\_\-Mouse\_\-In}
+\begin{DoxyCompactList}\small\item\em Mouse enter event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Mouse__Out}{\_\-Evas\_\-Event\_\-Mouse\_\-Out}
+\begin{DoxyCompactList}\small\item\em Mouse leave event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Mouse__Move}{\_\-Evas\_\-Event\_\-Mouse\_\-Move}
+\begin{DoxyCompactList}\small\item\em Mouse button down event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Mouse__Wheel}{\_\-Evas\_\-Event\_\-Mouse\_\-Wheel}
+\begin{DoxyCompactList}\small\item\em Wheel event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Multi__Down}{\_\-Evas\_\-Event\_\-Multi\_\-Down}
+\begin{DoxyCompactList}\small\item\em Multi button press event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Multi__Up}{\_\-Evas\_\-Event\_\-Multi\_\-Up}
+\begin{DoxyCompactList}\small\item\em Multi button release event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Multi__Move}{\_\-Evas\_\-Event\_\-Multi\_\-Move}
+\begin{DoxyCompactList}\small\item\em Multi button down event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Key__Down}{\_\-Evas\_\-Event\_\-Key\_\-Down}
+\begin{DoxyCompactList}\small\item\em Key press event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Key__Up}{\_\-Evas\_\-Event\_\-Key\_\-Up}
+\begin{DoxyCompactList}\small\item\em Key release event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Event__Hold}{\_\-Evas\_\-Event\_\-Hold}
+\begin{DoxyCompactList}\small\item\em Hold change event. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Smart__Class}{\_\-Evas\_\-Smart\_\-Class}
+\begin{DoxyCompactList}\small\item\em a smart object class \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Smart__Cb__Description}{\_\-Evas\_\-Smart\_\-Cb\_\-Description}
+\begin{DoxyCompactList}\small\item\em Describes a callback used by a smart class \hyperlink{group__Evas__Smart__Object__Group_ga17bbe660f5bf9d8997913b08882f6f9e}{evas\_\-object\_\-smart\_\-callback\_\-call()}, particularly useful to explain to user and its code (ie: introspection) what the parameter {\ttfamily event\_\-info} will contain. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Object__Box__Api}{\_\-Evas\_\-Object\_\-Box\_\-Api}
+\begin{DoxyCompactList}\small\item\em This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with \hyperlink{group__Evas__Object__Box_ga2116d23c11ab08d7c50cbcb588de5570}{evas\_\-object\_\-box\_\-layout\_\-set()}. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Object__Box__Data}{\_\-Evas\_\-Object\_\-Box\_\-Data}
+\begin{DoxyCompactList}\small\item\em This structure augments clipped smart object's instance data, providing extra members required by generic box implementation. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Cserve__Stats}{\_\-Evas\_\-Cserve\_\-Stats}
+\begin{DoxyCompactList}\small\item\em Statistics about server that shares cached bitmaps. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Cserve__Image__Cache}{\_\-Evas\_\-Cserve\_\-Image\_\-Cache}
+\begin{DoxyCompactList}\small\item\em Cache of images shared by server. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Cserve__Image}{\_\-Evas\_\-Cserve\_\-Image}
+\begin{DoxyCompactList}\small\item\em An image shared by the server. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Cserve__Config}{\_\-Evas\_\-Cserve\_\-Config}
+\begin{DoxyCompactList}\small\item\em Configuration that controls the server that shares cached bitmaps. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Defines}
+\begin{DoxyCompactItemize}
+\item 
+\#define \hyperlink{Evas_8h_a8817f2ac4e0058d43f9bfe1e563e551b}{EVAS\_\-LAYER\_\-MIN}~-\/32768\label{Evas_8h_a8817f2ac4e0058d43f9bfe1e563e551b}
+
+\begin{DoxyCompactList}\small\item\em bottom-\/most layer number \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_a1456f5c97f03ebd786c49d4d1178e7a0}{EVAS\_\-LAYER\_\-MAX}~32767\label{Evas_8h_a1456f5c97f03ebd786c49d4d1178e7a0}
+
+\begin{DoxyCompactList}\small\item\em top-\/most layer number \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_a37fdd5a69b7ea8e46140ef147aef8192}{EVAS\_\-COLOR\_\-SPACE\_\-ARGB}~0\label{Evas_8h_a37fdd5a69b7ea8e46140ef147aef8192}
+
+\begin{DoxyCompactList}\small\item\em Not used for anything. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_a94722d391c46d7c062e13447d9877e71}{EVAS\_\-COLOR\_\-SPACE\_\-AHSV}~1\label{Evas_8h_a94722d391c46d7c062e13447d9877e71}
+
+\begin{DoxyCompactList}\small\item\em Not used for anything. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_ad143a67f2f6f649135d84f8a55a6766a}{EVAS\_\-TEXT\_\-INVALID}~-\/1\label{Evas_8h_ad143a67f2f6f649135d84f8a55a6766a}
+
+\begin{DoxyCompactList}\small\item\em Not used for anything. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_a895e0e75635b4de42f815d3281fd81be}{EVAS\_\-TEXT\_\-SPECIAL}~-\/2\label{Evas_8h_a895e0e75635b4de42f815d3281fd81be}
+
+\begin{DoxyCompactList}\small\item\em Not used for anything. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_aa47c85083d3dae0111c21ec49359306a}{EVAS\_\-HINT\_\-EXPAND}~1.0\label{Evas_8h_aa47c85083d3dae0111c21ec49359306a}
+
+\begin{DoxyCompactList}\small\item\em Use with \hyperlink{group__Evas__Object__Group__Size__Hints_gabb010d4e7a8772b1785185d89a1a6b98}{evas\_\-object\_\-size\_\-hint\_\-weight\_\-set()}, \hyperlink{group__Evas__Object__Group__Size__Hints_ga66f88dc981e7c0af05822c583e03fabb}{evas\_\-object\_\-size\_\-hint\_\-weight\_\-get()}, \hyperlink{Evas_8h_ab239e77a0e38a5a756acbb0604055ecf}{evas\_\-object\_\-size\_\-hint\_\-expand\_\-set()}, \hyperlink{Evas_8h_a71adf20af9358d9d26b7c88b61d1fc8d}{evas\_\-object\_\-size\_\-hint\_\-expand\_\-get()}. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_aecbac710f36d52911fc34dcdaf8e729c}{EVAS\_\-HINT\_\-FILL}~-\/1.0\label{Evas_8h_aecbac710f36d52911fc34dcdaf8e729c}
+
+\begin{DoxyCompactList}\small\item\em Use with \hyperlink{group__Evas__Object__Group__Size__Hints_ga156cf1921d0be0d7dcf4d6f93daf010f}{evas\_\-object\_\-size\_\-hint\_\-align\_\-set()}, \hyperlink{group__Evas__Object__Group__Size__Hints_gaff2802d3169b29a786f9b39be3f474bb}{evas\_\-object\_\-size\_\-hint\_\-align\_\-get()}, \hyperlink{Evas_8h_a1b148ef14ae2eb1fbde17179b66a0503}{evas\_\-object\_\-size\_\-hint\_\-fill\_\-set()}, \hyperlink{Evas_8h_ac787ce1277b96bed04ff2b08449907c9}{evas\_\-object\_\-size\_\-hint\_\-fill\_\-get()}. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_a1b148ef14ae2eb1fbde17179b66a0503}{evas\_\-object\_\-size\_\-hint\_\-fill\_\-set}~evas\_\-object\_\-size\_\-hint\_\-align\_\-set\label{Evas_8h_a1b148ef14ae2eb1fbde17179b66a0503}
+
+\begin{DoxyCompactList}\small\item\em Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align). \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_ac787ce1277b96bed04ff2b08449907c9}{evas\_\-object\_\-size\_\-hint\_\-fill\_\-get}~evas\_\-object\_\-size\_\-hint\_\-align\_\-get\label{Evas_8h_ac787ce1277b96bed04ff2b08449907c9}
+
+\begin{DoxyCompactList}\small\item\em Convenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align). \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_ab239e77a0e38a5a756acbb0604055ecf}{evas\_\-object\_\-size\_\-hint\_\-expand\_\-set}~evas\_\-object\_\-size\_\-hint\_\-weight\_\-set\label{Evas_8h_ab239e77a0e38a5a756acbb0604055ecf}
+
+\begin{DoxyCompactList}\small\item\em Convenience macro to make it easier to understand that weight is also used for expand properties. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{Evas_8h_a71adf20af9358d9d26b7c88b61d1fc8d}{evas\_\-object\_\-size\_\-hint\_\-expand\_\-get}~evas\_\-object\_\-size\_\-hint\_\-weight\_\-get\label{Evas_8h_a71adf20af9358d9d26b7c88b61d1fc8d}
+
+\begin{DoxyCompactList}\small\item\em Convenience macro to make it easier to understand that weight is also used for expand properties. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga1ca1514302a47188c921b232d6ce42db}{EVAS\_\-SMART\_\-CLASS\_\-VERSION}~4\label{group__Evas__Smart__Group_ga1ca1514302a47188c921b232d6ce42db}
+
+\begin{DoxyCompactList}\small\item\em The version you have to put into the version field in the smart class struct. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga223f5d420c1e22275cd6490cd77c85f0}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL}~\{NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Smart\_\-Class structure. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_gaaa610a135c79167162405b56cffe8562}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION}~\{NULL, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set version. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_gaff2bbd5bb79e51ad8d31f98106caff77}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION}(name)~\{name, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set name and version. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga653b7bf36c2c87bd38d8126e11a4671d}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT}(name, parent)~\{name, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set name, version and parent class. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga5ebe1775142621cc3b75a3c57085ec83}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS}(name, parent, callbacks)~\{name, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set name, version, parent class and callbacks definition. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga58dc94af6f064b39b2bf0155908fbe52}{EVAS\_\-SMART\_\-SUBCLASS\_\-NEW}(smart\_\-name, prefix, api\_\-type, parent\_\-type, parent\_\-func, cb\_\-desc)
+\begin{DoxyCompactList}\small\item\em Convenience macro to subclass a Smart Class. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga4aa4b72aafa0391144fb0171aeff2ccd}{EVAS\_\-SMART\_\-DATA\_\-ALLOC}(o, priv\_\-type)
+\begin{DoxyCompactList}\small\item\em Convenience macro to allocate smart data only if needed. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga6888875280ccf11f026e09c890650c95}{evas\_\-smart\_\-class\_\-inherit}(sc, parent\_\-sc)~evas\_\-smart\_\-class\_\-inherit\_\-full(sc, parent\_\-sc, sizeof($\ast$parent\_\-sc))
+\begin{DoxyCompactList}\small\item\em Easy to use version of \hyperlink{group__Evas__Smart__Group_ga21f5af32f724500c3380906d166fc49f}{evas\_\-smart\_\-class\_\-inherit\_\-full()}. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT}(smart\_\-class\_\-init)~\{smart\_\-class\_\-init, EVAS\_\-OBJECT\_\-BOX\_\-API\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer for whole Evas\_\-Object\_\-Box\_\-Api structure. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL}~EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT(EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL)
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Object\_\-Box\_\-Api structure. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION}~EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT(EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION)
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Object\_\-Box\_\-Api structure and set version. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION}(name)~EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT(EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION(name))
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Object\_\-Box\_\-Api structure and set name and version. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef enum \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8a}{\_\-Evas\_\-Callback\_\-Type} \hyperlink{Evas_8h_a076b2a9b2de2b2144a4193b1d12ed448}{Evas\_\-Callback\_\-Type}
+\begin{DoxyCompactList}\small\item\em Identifier of callbacks to be used with object or canvas. \item\end{DoxyCompactList}\item 
+typedef enum \hyperlink{Evas_8h_a9b61a9a46b5824fc358a5a8c82cda8b9}{\_\-Evas\_\-Button\_\-Flags} \hyperlink{Evas_8h_aae3a7dde94160cc18015784fb192bb2f}{Evas\_\-Button\_\-Flags}
+\begin{DoxyCompactList}\small\item\em Flags for Mouse Button events. \item\end{DoxyCompactList}\item 
+typedef enum \hyperlink{Evas_8h_a89ffbc5f4d2796994c8b07ef95ef3d1a}{\_\-Evas\_\-Event\_\-Flags} \hyperlink{Evas_8h_a9fda4d6d744ae16549b3765df7363f95}{Evas\_\-Event\_\-Flags}
+\begin{DoxyCompactList}\small\item\em Flags for Events. \item\end{DoxyCompactList}\item 
+typedef enum \hyperlink{group__Evas__Font__Group_ga49208864211c97ac1a09f03318aa253c}{\_\-Evas\_\-Font\_\-Hinting\_\-Flags} \hyperlink{group__Evas__Font__Group_gaaed9273c1705a3d2356470c60b2f5aa5}{Evas\_\-Font\_\-Hinting\_\-Flags}
+\begin{DoxyCompactList}\small\item\em Flags for Font Hinting. \item\end{DoxyCompactList}\item 
+typedef enum \hyperlink{group__Evas__Object__Image_ga84ff1db3d33d85c86d81dbe9046b54bb}{\_\-Evas\_\-Colorspace} \hyperlink{group__Evas__Object__Image_ga8c6e60db9c8b83b155ccea52957ff656}{Evas\_\-Colorspace}
+\begin{DoxyCompactList}\small\item\em Colorspaces for pixel data supported by Evas. \item\end{DoxyCompactList}\item 
+typedef enum \hyperlink{group__Evas__Object__Table_ga536e8e3c9e38ee6d82f918a341b053a8}{\_\-Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode} \hyperlink{group__Evas__Object__Table_ga04f33e792aea51d583c3e572a35ceebe}{Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode}
+\begin{DoxyCompactList}\small\item\em How to pack items into cells in a table. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Coord__Rectangle}{\_\-Evas\_\-Coord\_\-Rectangle} \hyperlink{Evas_8h_a23d14410ef9cd719fd61602ce68c4d42}{Evas\_\-Coord\_\-Rectangle}\label{Evas_8h_a23d14410ef9cd719fd61602ce68c4d42}
+
+\begin{DoxyCompactList}\small\item\em A generic rectangle handle. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Point \hyperlink{Evas_8h_adc20c4d74f28a08de32455f97946e6bd}{Evas\_\-Point}\label{Evas_8h_adc20c4d74f28a08de32455f97946e6bd}
+
+\begin{DoxyCompactList}\small\item\em integer point \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Coord\_\-Point \hyperlink{Evas_8h_a9d3aab92b5b0911efb7594b79e0d3f37}{Evas\_\-Coord\_\-Point}\label{Evas_8h_a9d3aab92b5b0911efb7594b79e0d3f37}
+
+\begin{DoxyCompactList}\small\item\em Evas\_\-Coord point. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Coord\_\-Precision\_\-Point \hyperlink{Evas_8h_a27d3d206dd0447c96df4385cee0c5df2}{Evas\_\-Coord\_\-Precision\_\-Point}\label{Evas_8h_a27d3d206dd0447c96df4385cee0c5df2}
+
+\begin{DoxyCompactList}\small\item\em Evas\_\-Coord point with sub-\/pixel precision. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Position \hyperlink{Evas_8h_a1fedb06548c63e95cdef58ae2578e494}{Evas\_\-Position}\label{Evas_8h_a1fedb06548c63e95cdef58ae2578e494}
+
+\begin{DoxyCompactList}\small\item\em associates given point in Canvas and Output \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Precision\_\-Position \hyperlink{Evas_8h_ae62b68e728184674ee011ec19c48fa25}{Evas\_\-Precision\_\-Position}\label{Evas_8h_ae62b68e728184674ee011ec19c48fa25}
+
+\begin{DoxyCompactList}\small\item\em associates given point in Canvas and Output, with sub-\/pixel precision \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Smart__Class}{\_\-Evas\_\-Smart\_\-Class} \hyperlink{group__Evas__Smart__Group_gaea15f67e901bf5380cdb67dc1bb43391}{Evas\_\-Smart\_\-Class}\label{group__Evas__Smart__Group_gaea15f67e901bf5380cdb67dc1bb43391}
+
+\begin{DoxyCompactList}\small\item\em A smart object base class. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Smart__Cb__Description}{\_\-Evas\_\-Smart\_\-Cb\_\-Description} \hyperlink{group__Evas__Smart__Group_ga0ad0e7d482d7660e756e275d355e3634}{Evas\_\-Smart\_\-Cb\_\-Description}\label{group__Evas__Smart__Group_ga0ad0e7d482d7660e756e275d355e3634}
+
+\begin{DoxyCompactList}\small\item\em A smart object callback description, used to provide introspection. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Map \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map}
+\begin{DoxyCompactList}\small\item\em An opaque handle to map points. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}
+\begin{DoxyCompactList}\small\item\em An Evas canvas handle. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Object \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object}\label{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}
+
+\begin{DoxyCompactList}\small\item\em An Evas Object handle. \item\end{DoxyCompactList}\item 
+typedef void \hyperlink{Evas_8h_a89d88a04f7684454960d465a1b9657c2}{Evas\_\-Performance}\label{Evas_8h_a89d88a04f7684454960d465a1b9657c2}
+
+\begin{DoxyCompactList}\small\item\em An Evas Performance handle. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Modifier \hyperlink{Evas_8h_a198d0b10861c1da456004688d3443e96}{Evas\_\-Modifier}\label{Evas_8h_a198d0b10861c1da456004688d3443e96}
+
+\begin{DoxyCompactList}\small\item\em An Evas Modifier. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Lock \hyperlink{Evas_8h_a791323b644ee831ead4c5d25552a0fd8}{Evas\_\-Lock}\label{Evas_8h_a791323b644ee831ead4c5d25552a0fd8}
+
+\begin{DoxyCompactList}\small\item\em An Evas Lock. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Smart \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart}\label{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}
+
+\begin{DoxyCompactList}\small\item\em An Evas Smart Object handle. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Native\_\-Surface \hyperlink{Evas_8h_ae35ae0b7b909a9e956836b92d63b493d}{Evas\_\-Native\_\-Surface}\label{Evas_8h_ae35ae0b7b909a9e956836b92d63b493d}
+
+\begin{DoxyCompactList}\small\item\em A generic datatype for engine specific native surface information. \item\end{DoxyCompactList}\item 
+typedef unsigned long long \hyperlink{Evas_8h_a111c7333a7d49e44698bd19dd5bc9059}{Evas\_\-Modifier\_\-Mask}\label{Evas_8h_a111c7333a7d49e44698bd19dd5bc9059}
+
+\begin{DoxyCompactList}\small\item\em An Evas modifier mask type. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Pixel\_\-Import\_\-Source \hyperlink{Evas_8h_abb01076af16fbb50a837b1893b776783}{Evas\_\-Pixel\_\-Import\_\-Source}\label{Evas_8h_abb01076af16fbb50a837b1893b776783}
+
+\begin{DoxyCompactList}\small\item\em A source description of pixels for importing pixels. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Engine__Info}{\_\-Evas\_\-Engine\_\-Info} \hyperlink{Evas_8h_a86d67b69014ab10fffe20b883685fa46}{Evas\_\-Engine\_\-Info}\label{Evas_8h_a86d67b69014ab10fffe20b883685fa46}
+
+\begin{DoxyCompactList}\small\item\em A generic Evas Engine information structure. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Device \hyperlink{Evas_8h_a430c2d9c773093d159437e35003df281}{Evas\_\-Device}\label{Evas_8h_a430c2d9c773093d159437e35003df281}
+
+\begin{DoxyCompactList}\small\item\em A source device handle -\/ where the event came from. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Mouse__Down}{\_\-Evas\_\-Event\_\-Mouse\_\-Down} \hyperlink{Evas_8h_a907df7a46177e7bac9928ea39fbcca50}{Evas\_\-Event\_\-Mouse\_\-Down}\label{Evas_8h_a907df7a46177e7bac9928ea39fbcca50}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f}{EVAS\_\-CALLBACK\_\-MOUSE\_\-DOWN} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Mouse__Up}{\_\-Evas\_\-Event\_\-Mouse\_\-Up} \hyperlink{Evas_8h_a337e8227780d38bdeae5c0ccd00d04b3}{Evas\_\-Event\_\-Mouse\_\-Up}\label{Evas_8h_a337e8227780d38bdeae5c0ccd00d04b3}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7}{EVAS\_\-CALLBACK\_\-MOUSE\_\-UP} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Mouse__In}{\_\-Evas\_\-Event\_\-Mouse\_\-In} \hyperlink{Evas_8h_a9b42da2562eb8390dd513d7337b1e018}{Evas\_\-Event\_\-Mouse\_\-In}\label{Evas_8h_a9b42da2562eb8390dd513d7337b1e018}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af}{EVAS\_\-CALLBACK\_\-MOUSE\_\-IN} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Mouse__Out}{\_\-Evas\_\-Event\_\-Mouse\_\-Out} \hyperlink{Evas_8h_a7a168fcb1c4b6bc53ac4e69f5424f317}{Evas\_\-Event\_\-Mouse\_\-Out}\label{Evas_8h_a7a168fcb1c4b6bc53ac4e69f5424f317}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25}{EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Mouse__Move}{\_\-Evas\_\-Event\_\-Mouse\_\-Move} \hyperlink{Evas_8h_a224de88869fe5315ca144ef8a2946827}{Evas\_\-Event\_\-Mouse\_\-Move}\label{Evas_8h_a224de88869fe5315ca144ef8a2946827}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a}{EVAS\_\-CALLBACK\_\-MOUSE\_\-MOVE} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Mouse__Wheel}{\_\-Evas\_\-Event\_\-Mouse\_\-Wheel} \hyperlink{Evas_8h_a54d0e99e450e158924b06746544bb4dc}{Evas\_\-Event\_\-Mouse\_\-Wheel}\label{Evas_8h_a54d0e99e450e158924b06746544bb4dc}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4}{EVAS\_\-CALLBACK\_\-MOUSE\_\-WHEEL} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Multi__Down}{\_\-Evas\_\-Event\_\-Multi\_\-Down} \hyperlink{Evas_8h_a0436550ffcc1e2eab730ef3c493b8c40}{Evas\_\-Event\_\-Multi\_\-Down}\label{Evas_8h_a0436550ffcc1e2eab730ef3c493b8c40}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80}{EVAS\_\-CALLBACK\_\-MULTI\_\-DOWN} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Multi__Up}{\_\-Evas\_\-Event\_\-Multi\_\-Up} \hyperlink{Evas_8h_a0f4d63b8673ee370e41e2c0bdc374212}{Evas\_\-Event\_\-Multi\_\-Up}\label{Evas_8h_a0f4d63b8673ee370e41e2c0bdc374212}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94}{EVAS\_\-CALLBACK\_\-MULTI\_\-UP} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Multi__Move}{\_\-Evas\_\-Event\_\-Multi\_\-Move} \hyperlink{Evas_8h_a8658f1e1a6801e219547b05e8728ebd2}{Evas\_\-Event\_\-Multi\_\-Move}\label{Evas_8h_a8658f1e1a6801e219547b05e8728ebd2}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f}{EVAS\_\-CALLBACK\_\-MULTI\_\-MOVE} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Key__Down}{\_\-Evas\_\-Event\_\-Key\_\-Down} \hyperlink{Evas_8h_a9a1bfd297b751119977f3c14c0004612}{Evas\_\-Event\_\-Key\_\-Down}\label{Evas_8h_a9a1bfd297b751119977f3c14c0004612}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584}{EVAS\_\-CALLBACK\_\-KEY\_\-DOWN} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Key__Up}{\_\-Evas\_\-Event\_\-Key\_\-Up} \hyperlink{Evas_8h_a92e77497752a3b100b3bfc4ee92daf09}{Evas\_\-Event\_\-Key\_\-Up}\label{Evas_8h_a92e77497752a3b100b3bfc4ee92daf09}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f}{EVAS\_\-CALLBACK\_\-KEY\_\-UP} event callbacks. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Event__Hold}{\_\-Evas\_\-Event\_\-Hold} \hyperlink{Evas_8h_a6fb6e5748f93fc24d62276e5421f9767}{Evas\_\-Event\_\-Hold}\label{Evas_8h_a6fb6e5748f93fc24d62276e5421f9767}
+
+\begin{DoxyCompactList}\small\item\em Event structure for \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85}{EVAS\_\-CALLBACK\_\-HOLD} event callbacks. \item\end{DoxyCompactList}\item 
+typedef enum \hyperlink{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5f}{\_\-Evas\_\-Load\_\-Error} \hyperlink{Evas_8h_aff351ae694a58aecd7834ef12bdf3d64}{Evas\_\-Load\_\-Error}\label{Evas_8h_aff351ae694a58aecd7834ef12bdf3d64}
+
+\begin{DoxyCompactList}\small\item\em Load error you can get from loading of files -\/ see \hyperlink{group__Evas__Utils_ga50bb423e88ce97cf82cca9b316fc7a1a}{evas\_\-load\_\-error\_\-str()} too. \item\end{DoxyCompactList}\item 
+typedef enum \hyperlink{Evas_8h_a1adf9f604f763f2a8db12a484ca199cb}{\_\-Evas\_\-Alloc\_\-Error} \hyperlink{Evas_8h_ae0181b78df8e248703a72a978d271208}{Evas\_\-Alloc\_\-Error}\label{Evas_8h_ae0181b78df8e248703a72a978d271208}
+
+\begin{DoxyCompactList}\small\item\em Possible allocation errors returned by \hyperlink{group__Evas__Group_ga1c782b4511e3b8678a2166c651053ac9}{evas\_\-alloc\_\-error()}. \item\end{DoxyCompactList}\item 
+typedef enum \hyperlink{Evas_8h_a830349cff0c676505905e79e1db0f738}{\_\-Evas\_\-Fill\_\-Spread} \hyperlink{Evas_8h_a693bc9123af8452d9771c2a849b8805c}{Evas\_\-Fill\_\-Spread}\label{Evas_8h_a693bc9123af8452d9771c2a849b8805c}
+
+\begin{DoxyCompactList}\small\item\em Fill types used for \hyperlink{group__Evas__Object__Image_ga0015a660507a5562e118a1777947f881}{evas\_\-object\_\-image\_\-fill\_\-spread\_\-set()}. \item\end{DoxyCompactList}\item 
+typedef enum \hyperlink{Evas_8h_a8f3b6286e8954884b903666f50e12b59}{\_\-Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format} \hyperlink{Evas_8h_ae609d856d391e1d65968a137313e0eb7}{Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format}
+\begin{DoxyCompactList}\small\item\em Pixel format for import call. \item\end{DoxyCompactList}\item 
+typedef enum \hyperlink{group__Evas__Object__Group__Extras_ga551375283a5e2b0abffd5f40582e9ce2}{\_\-Evas\_\-Render\_\-Op} \hyperlink{group__Evas__Object__Group__Extras_ga9c39a3ca795bbec3687fae9ee67d6056}{Evas\_\-Render\_\-Op}
+\item 
+typedef enum \hyperlink{group__Evas__Object__Group__Extras_ga822b2a69896ff21279debe2a417e3082}{\_\-Evas\_\-Object\_\-Pointer\_\-Mode} \hyperlink{group__Evas__Object__Group__Extras_ga27baac4c63b590de109e3e3f0d941483}{Evas\_\-Object\_\-Pointer\_\-Mode}
+\begin{DoxyCompactList}\small\item\em How mouse pointer should be handled by Evas. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Object\_\-Textblock\_\-Node\_\-Format \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format}\label{Evas_8h_adcd2409468741c89d607f06e17da1f64}
+
+\begin{DoxyCompactList}\small\item\em A format node. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Object\_\-Smart\_\-Clipped\_\-Data \hyperlink{Evas_8h_a65c1b2ed3578175e476998f7b55dfe34}{Evas\_\-Object\_\-Smart\_\-Clipped\_\-Data}\label{Evas_8h_a65c1b2ed3578175e476998f7b55dfe34}
+
+\begin{DoxyCompactList}\small\item\em Every subclass should provide this at the beginning of their own data set with \hyperlink{group__Evas__Smart__Object__Group_gae40928b2993cc169e606820ae21dbb6e}{evas\_\-object\_\-smart\_\-data\_\-set()}. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Object__Box__Api}{\_\-Evas\_\-Object\_\-Box\_\-Api} \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\_\-Object\_\-Box\_\-Api}\label{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}
+
+\begin{DoxyCompactList}\small\item\em Smart Class extension providing extra box requirements. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Object__Box__Data}{\_\-Evas\_\-Object\_\-Box\_\-Data} \hyperlink{group__Evas__Object__Box_gac9047b7cff95df59f61c7321967caf7b}{Evas\_\-Object\_\-Box\_\-Data}\label{group__Evas__Object__Box_gac9047b7cff95df59f61c7321967caf7b}
+
+\begin{DoxyCompactList}\small\item\em Smart instance data providing box requirements. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Object\_\-Box\_\-Option \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option}\label{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}
+
+\begin{DoxyCompactList}\small\item\em The base structure for a box option. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Enumerations}
+\begin{DoxyCompactItemize}
+\item 
+enum \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8a}{\_\-Evas\_\-Callback\_\-Type} \{ \par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af}{EVAS\_\-CALLBACK\_\-MOUSE\_\-IN}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25}{EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f}{EVAS\_\-CALLBACK\_\-MOUSE\_\-DOWN}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7}{EVAS\_\-CALLBACK\_\-MOUSE\_\-UP}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a}{EVAS\_\-CALLBACK\_\-MOUSE\_\-MOVE}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4}{EVAS\_\-CALLBACK\_\-MOUSE\_\-WHEEL}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80}{EVAS\_\-CALLBACK\_\-MULTI\_\-DOWN}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94}{EVAS\_\-CALLBACK\_\-MULTI\_\-UP}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f}{EVAS\_\-CALLBACK\_\-MULTI\_\-MOVE}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24}{EVAS\_\-CALLBACK\_\-FREE}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584}{EVAS\_\-CALLBACK\_\-KEY\_\-DOWN}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f}{EVAS\_\-CALLBACK\_\-KEY\_\-UP}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97}{EVAS\_\-CALLBACK\_\-FOCUS\_\-IN}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3}{EVAS\_\-CALLBACK\_\-FOCUS\_\-OUT}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540}{EVAS\_\-CALLBACK\_\-SHOW}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7}{EVAS\_\-CALLBACK\_\-HIDE}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0}{EVAS\_\-CALLBACK\_\-MOVE}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21}{EVAS\_\-CALLBACK\_\-RESIZE}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145}{EVAS\_\-CALLBACK\_\-RESTACK}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277}{EVAS\_\-CALLBACK\_\-DEL}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85}{EVAS\_\-CALLBACK\_\-HOLD}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae}{EVAS\_\-CALLBACK\_\-CHANGED\_\-SIZE\_\-HINTS}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e}{EVAS\_\-CALLBACK\_\-IMAGE\_\-PRELOADED}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1}{EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-IN}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f}{EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-OUT}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3}{EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-PRE}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1}{EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-POST}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5}{EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-IN}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070}{EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-OUT}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8}{EVAS\_\-CALLBACK\_\-IMAGE\_\-UNLOADED}, 
+\par
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529}{EVAS\_\-CALLBACK\_\-LAST}
+ \}
+\begin{DoxyCompactList}\small\item\em Identifier of callbacks to be used with object or canvas. \item\end{DoxyCompactList}\item 
+enum \hyperlink{Evas_8h_a9b61a9a46b5824fc358a5a8c82cda8b9}{\_\-Evas\_\-Button\_\-Flags} \{ \par
+\hyperlink{Evas_8h_a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd}{EVAS\_\-BUTTON\_\-NONE} =  0, 
+\par
+\hyperlink{Evas_8h_a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d}{EVAS\_\-BUTTON\_\-DOUBLE\_\-CLICK} =  (1 $<$$<$ 0), 
+\par
+\hyperlink{Evas_8h_a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87}{EVAS\_\-BUTTON\_\-TRIPLE\_\-CLICK} =  (1 $<$$<$ 1)
+ \}
+\begin{DoxyCompactList}\small\item\em Flags for Mouse Button events. \item\end{DoxyCompactList}\item 
+enum \hyperlink{Evas_8h_a89ffbc5f4d2796994c8b07ef95ef3d1a}{\_\-Evas\_\-Event\_\-Flags} \{ \par
+\hyperlink{Evas_8h_a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf}{EVAS\_\-EVENT\_\-FLAG\_\-NONE} =  0, 
+\par
+\hyperlink{Evas_8h_a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83}{EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-HOLD} =  (1 $<$$<$ 0), 
+\par
+\hyperlink{Evas_8h_a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311}{EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-SCROLL} =  (1 $<$$<$ 1)
+ \}
+\begin{DoxyCompactList}\small\item\em Flags for Events. \item\end{DoxyCompactList}\item 
+enum \hyperlink{group__Evas__Font__Group_ga49208864211c97ac1a09f03318aa253c}{\_\-Evas\_\-Font\_\-Hinting\_\-Flags} \{ \par
+\hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338}{EVAS\_\-FONT\_\-HINTING\_\-NONE}, 
+\par
+\hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440}{EVAS\_\-FONT\_\-HINTING\_\-AUTO}, 
+\par
+\hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e}{EVAS\_\-FONT\_\-HINTING\_\-BYTECODE}
+ \}
+\begin{DoxyCompactList}\small\item\em Flags for Font Hinting. \item\end{DoxyCompactList}\item 
+enum \hyperlink{group__Evas__Object__Image_ga84ff1db3d33d85c86d81dbe9046b54bb}{\_\-Evas\_\-Colorspace} \{ \par
+\hyperlink{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254}{EVAS\_\-COLORSPACE\_\-ARGB8888}, 
+\par
+\hyperlink{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636}{EVAS\_\-COLORSPACE\_\-YCBCR422P601\_\-PL}, 
+\par
+\hyperlink{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22}{EVAS\_\-COLORSPACE\_\-YCBCR422P709\_\-PL}, 
+\par
+\hyperlink{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729}{EVAS\_\-COLORSPACE\_\-RGB565\_\-A5P}, 
+\par
+\hyperlink{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0}{EVAS\_\-COLORSPACE\_\-GRY8}
+ \}
+\begin{DoxyCompactList}\small\item\em Colorspaces for pixel data supported by Evas. \item\end{DoxyCompactList}\item 
+enum \hyperlink{group__Evas__Object__Table_ga536e8e3c9e38ee6d82f918a341b053a8}{\_\-Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode} 
+\begin{DoxyCompactList}\small\item\em How to pack items into cells in a table. \item\end{DoxyCompactList}\item 
+enum \hyperlink{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5f}{\_\-Evas\_\-Load\_\-Error} \{ \par
+\hyperlink{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac}{EVAS\_\-LOAD\_\-ERROR\_\-NONE} =  0, 
+\par
+\hyperlink{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d}{EVAS\_\-LOAD\_\-ERROR\_\-GENERIC} =  1, 
+\par
+\hyperlink{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529}{EVAS\_\-LOAD\_\-ERROR\_\-DOES\_\-NOT\_\-EXIST} =  2, 
+\par
+\hyperlink{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200}{EVAS\_\-LOAD\_\-ERROR\_\-PERMISSION\_\-DENIED} =  3, 
+\par
+\hyperlink{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4}{EVAS\_\-LOAD\_\-ERROR\_\-RESOURCE\_\-ALLOCATION\_\-FAILED} =  4, 
+\par
+\hyperlink{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75}{EVAS\_\-LOAD\_\-ERROR\_\-CORRUPT\_\-FILE} =  5, 
+\par
+\hyperlink{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80}{EVAS\_\-LOAD\_\-ERROR\_\-UNKNOWN\_\-FORMAT} =  6
+ \}
+\item 
+enum \hyperlink{Evas_8h_a1adf9f604f763f2a8db12a484ca199cb}{\_\-Evas\_\-Alloc\_\-Error} \{ \par
+\hyperlink{Evas_8h_a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8}{EVAS\_\-ALLOC\_\-ERROR\_\-NONE} =  0, 
+\par
+\hyperlink{Evas_8h_a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e}{EVAS\_\-ALLOC\_\-ERROR\_\-FATAL} =  1, 
+\par
+\hyperlink{Evas_8h_a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e}{EVAS\_\-ALLOC\_\-ERROR\_\-RECOVERED} =  2
+ \}
+\item 
+enum \hyperlink{Evas_8h_a830349cff0c676505905e79e1db0f738}{\_\-Evas\_\-Fill\_\-Spread} \{ \par
+\hyperlink{Evas_8h_a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760}{EVAS\_\-TEXTURE\_\-REFLECT} =  0, 
+\par
+\hyperlink{Evas_8h_a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2}{EVAS\_\-TEXTURE\_\-REPEAT} =  1, 
+\par
+\hyperlink{Evas_8h_a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136}{EVAS\_\-TEXTURE\_\-RESTRICT} =  2, 
+\par
+\hyperlink{Evas_8h_a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85}{EVAS\_\-TEXTURE\_\-RESTRICT\_\-REFLECT} =  3, 
+\par
+\hyperlink{Evas_8h_a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43}{EVAS\_\-TEXTURE\_\-RESTRICT\_\-REPEAT} =  4, 
+\par
+\hyperlink{Evas_8h_a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7}{EVAS\_\-TEXTURE\_\-PAD} =  5
+ \}
+\item 
+enum \hyperlink{Evas_8h_a8f3b6286e8954884b903666f50e12b59}{\_\-Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format} \{ \par
+\hyperlink{Evas_8h_a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2}{EVAS\_\-PIXEL\_\-FORMAT\_\-NONE} =  0, 
+\par
+\hyperlink{Evas_8h_a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a}{EVAS\_\-PIXEL\_\-FORMAT\_\-ARGB32} =  1, 
+\par
+\hyperlink{Evas_8h_a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8}{EVAS\_\-PIXEL\_\-FORMAT\_\-YUV420P\_\-601} =  2
+ \}
+\item 
+enum \hyperlink{group__Evas__Object__Group__Extras_ga551375283a5e2b0abffd5f40582e9ce2}{\_\-Evas\_\-Render\_\-Op} \{ \par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e}{EVAS\_\-RENDER\_\-BLEND} =  0, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7}{EVAS\_\-RENDER\_\-BLEND\_\-REL} =  1, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd}{EVAS\_\-RENDER\_\-COPY} =  2, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea}{EVAS\_\-RENDER\_\-COPY\_\-REL} =  3, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926}{EVAS\_\-RENDER\_\-ADD} =  4, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc}{EVAS\_\-RENDER\_\-ADD\_\-REL} =  5, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27}{EVAS\_\-RENDER\_\-SUB} =  6, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c}{EVAS\_\-RENDER\_\-SUB\_\-REL} =  7, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9}{EVAS\_\-RENDER\_\-TINT} =  8, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6}{EVAS\_\-RENDER\_\-TINT\_\-REL} =  9, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f}{EVAS\_\-RENDER\_\-MASK} =  10, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294}{EVAS\_\-RENDER\_\-MUL} =  11
+ \}
+\begin{DoxyCompactList}\small\item\em How the object should be rendered to output. \item\end{DoxyCompactList}\item 
+enum \hyperlink{group__Evas__Object__Group__Extras_ga822b2a69896ff21279debe2a417e3082}{\_\-Evas\_\-Object\_\-Pointer\_\-Mode} \{ \hyperlink{group__Evas__Object__Group__Extras_gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28}{EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB}
+ \}
+\begin{DoxyCompactList}\small\item\em How mouse pointer should be handled by Evas. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI int \hyperlink{group__Evas__Group_ga939a904ec53bf80796a8ad763cbb4c3c}{evas\_\-init} (void)
+\begin{DoxyCompactList}\small\item\em Initialize Evas. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Group_ga3170193ec2e0ce4d7f0eb55de71060ed}{evas\_\-shutdown} (void)
+\begin{DoxyCompactList}\small\item\em Shutdown Evas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_ae0181b78df8e248703a72a978d271208}{Evas\_\-Alloc\_\-Error} \hyperlink{group__Evas__Group_ga1c782b4511e3b8678a2166c651053ac9}{evas\_\-alloc\_\-error} (void)
+\begin{DoxyCompactList}\small\item\em Return if any allocation errors have occurred during the prior function. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Group_ga7e59dbbc6b37d4ce63bea067851ceedd}{evas\_\-async\_\-events\_\-fd\_\-get} (void) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get evas' internal asynchronous events read file descriptor. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Group_ga9f99c6cd0bf0621bdd61d1085999ef47}{evas\_\-async\_\-events\_\-process} (void)
+\begin{DoxyCompactList}\small\item\em Trigger the processing of all events waiting on the file descriptor returned by \hyperlink{group__Evas__Group_ga7e59dbbc6b37d4ce63bea067851ceedd}{evas\_\-async\_\-events\_\-fd\_\-get()}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$ \hyperlink{group__Evas__Canvas_ga9280ee6564c889348b142b8bcd723f87}{evas\_\-new} (void) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Creates a new empty evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga45ab1883cc0b145bc3af130d3c00a21f}{evas\_\-free} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Frees the given evas and any objects created on it. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_gad4e5f592d23e74868f1e135c714a1acb}{evas\_\-focus\_\-in} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Inform to the evas that it got the focus. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga438b8a00339af4b25c84c4ef57d6b3ff}{evas\_\-focus\_\-out} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Inform to the evas that it lost the focus. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Canvas_gab4822a733c10760b293006b77c4fc6d8}{evas\_\-focus\_\-state\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the focus state known by the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga6e49e2a2b27c306c265433ac7d3b5dbe}{evas\_\-nochange\_\-push} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Push the nochange flag up 1. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_gaa001b49fa2aa654ba0b116c6667b0fac}{evas\_\-nochange\_\-pop} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Pop the nochange flag down 1. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_gadbf3e81c6db5396d3c6415f3cd34e8c8}{evas\_\-data\_\-attach\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Attaches a specific pointer to the evas for fetching later. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Canvas_ga4244b77b68937ab060bc7d8c3bf77fdc}{evas\_\-data\_\-attach\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Returns the pointer attached by \hyperlink{group__Evas__Canvas_gadbf3e81c6db5396d3c6415f3cd34e8c8}{evas\_\-data\_\-attach\_\-set()}. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga91b68cf4090201f16aede8e4c124986d}{evas\_\-damage\_\-rectangle\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int x, int y, int w, int h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Add a damage rectangle. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_gab731e13487e7a2bf6c39d1c1dc69ccc4}{evas\_\-obscured\_\-rectangle\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int x, int y, int w, int h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Add an obscured region. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga76dbc1ce160666ffde45901346cfe876}{evas\_\-obscured\_\-clear} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Remove all obscured region rectangles from the canvas. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Canvas_ga49650dcc731a151d4881106b56f7a5ca}{evas\_\-render\_\-updates} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Force immediate renderization of the given canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_gae4889bb5ec0e6e4f6ce5d6ef99f8737b}{evas\_\-render\_\-updates\_\-free} (Eina\_\-List $\ast$updates)
+\begin{DoxyCompactList}\small\item\em Free the rectangles returned by \hyperlink{group__Evas__Canvas_ga49650dcc731a151d4881106b56f7a5ca}{evas\_\-render\_\-updates()}. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga241869ebb085b8ab11ff6af26e1aeaaf}{evas\_\-render} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Force renderization of the given canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga5c7761185381376e2d97497625a7bbe1}{evas\_\-norender} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Update the canvas internal objects but not triggering immediate renderization. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga84a691e253bf4239691b3f3adca3c7b1}{evas\_\-render\_\-idle\_\-flush} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Make the canvas discard internally cached data used for rendering. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Output__Method_gad8a701a8d4a2acbb2ce4b741ae55ce6b}{evas\_\-render\_\-method\_\-lookup} (const char $\ast$name) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Look up a numeric ID from a string name of a rendering engine. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Output__Method_ga23d8fc2c859f5dfcc9f50f441b96d285}{evas\_\-render\_\-method\_\-list} (void) EINA\_\-WARN\_\-UNUSED\_\-RESULT
+\begin{DoxyCompactList}\small\item\em List all the rendering engines compiled into the copy of the Evas library. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Output__Method_gab7f4a90e3082364eca04b39d3c1c2693}{evas\_\-render\_\-method\_\-list\_\-free} (Eina\_\-List $\ast$list)
+\begin{DoxyCompactList}\small\item\em This function should be called to free a list of engine names. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Output__Method_gab6cca6c7a5edabef057790889d560b11}{evas\_\-output\_\-method\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int render\_\-method) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the output engine for the given evas. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Output__Method_gac4127a10231f1851cc3443a84fb0b059}{evas\_\-output\_\-method\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the number of the output engine used for the given evas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{struct__Evas__Engine__Info}{Evas\_\-Engine\_\-Info} $\ast$ \hyperlink{group__Evas__Output__Method_ga882d5f9411b5556719bdf28a134ee713}{evas\_\-engine\_\-info\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the current render engine info struct from the given evas. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Output__Method_gafeff04b89b4498eedf99c89e0a06e604}{evas\_\-engine\_\-info\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, \hyperlink{struct__Evas__Engine__Info}{Evas\_\-Engine\_\-Info} $\ast$info) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Applies the engine settings for the given evas from the given {\ttfamily Evas\_\-Engine\_\-Info} structure. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Output__Size_gaaf571f18f97f4067f554ab7713f01063}{evas\_\-output\_\-size\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int w, int h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the output size of the render engine of the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Output__Size_ga1f3497644d526ff5ded49b19c1ec732a}{evas\_\-output\_\-size\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int $\ast$w, int $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieve the output size of the render engine of the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Output__Size_ga1d39edcaff429d884d4a70aa1fca0c08}{evas\_\-output\_\-viewport\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord w, Evas\_\-Coord h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the output viewport of the given evas in evas units. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Output__Size_gab94e38ef64004f0ead8cd8f7a8f69fee}{evas\_\-output\_\-viewport\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord $\ast$x, Evas\_\-Coord $\ast$y, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Get the render engine's output viewport co-\/ordinates in canvas units. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Coord__Mapping__Group_gab435c4e98554a4c6b934840a38d96051}{evas\_\-coord\_\-screen\_\-x\_\-to\_\-world} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int x) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Convert/scale an ouput screen co-\/ordinate into canvas co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Coord__Mapping__Group_gac69db230ec0bd06f683e62665abe5df2}{evas\_\-coord\_\-screen\_\-y\_\-to\_\-world} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int y) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Convert/scale an ouput screen co-\/ordinate into canvas co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Coord__Mapping__Group_ga3e4f9f6af852df00de8c180f2e3919e9}{evas\_\-coord\_\-world\_\-x\_\-to\_\-screen} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Convert/scale a canvas co-\/ordinate into output screen co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Coord__Mapping__Group_ga6c80c5dd33180044bcd200bb4739a2b8}{evas\_\-coord\_\-world\_\-y\_\-to\_\-screen} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord y) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Convert/scale a canvas co-\/ordinate into output screen co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Pointer__Group_gad8e78aded475fe26ea14b7410f510a98}{evas\_\-pointer\_\-output\_\-xy\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int $\ast$x, int $\ast$y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em This function returns the current known pointer co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Pointer__Group_ga2f7bf87c9b1268e68c85d4bb8b9e4b15}{evas\_\-pointer\_\-canvas\_\-xy\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord $\ast$x, Evas\_\-Coord $\ast$y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em This function returns the current known pointer co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Pointer__Group_gaae658f627d7f31b051345e45377c3580}{evas\_\-pointer\_\-button\_\-down\_\-mask\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns a bitmask with the mouse buttons currently pressed, set to 1. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Pointer__Group_ga39a1840fd43442c20f321437bd5f427a}{evas\_\-pointer\_\-inside\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns whether the mouse pointer is logically inside the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Freezing__Group_ga45fee3a26820b56527e434f6173c345e}{evas\_\-event\_\-freeze} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Freeze all event processing. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Freezing__Group_ga4f08e6b3eece51bf285f1226629924e1}{evas\_\-event\_\-thaw} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Thaw a canvas out after freezing. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Event__Feeding__Group_gabc15f5115b4baaeafd2d144f307b6b64}{evas\_\-event\_\-freeze\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Return the freeze count of a given canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga5c9811b87406a96ff573b83d1efd52f2}{evas\_\-event\_\-feed\_\-mouse\_\-down} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int b, \hyperlink{Evas_8h_aae3a7dde94160cc18015784fb192bb2f}{Evas\_\-Button\_\-Flags} flags, unsigned int timestamp, const void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Mouse down event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_gacb400569d04ecfd2b89eb0f39856581c}{evas\_\-event\_\-feed\_\-mouse\_\-up} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int b, \hyperlink{Evas_8h_aae3a7dde94160cc18015784fb192bb2f}{Evas\_\-Button\_\-Flags} flags, unsigned int timestamp, const void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Mouse up event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga480017cad2b8982bee7a894433aff2f7}{evas\_\-event\_\-feed\_\-mouse\_\-move} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int x, int y, unsigned int timestamp, const void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Mouse move event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_gac9c7fada70cfee1f8124ab5446cc59ed}{evas\_\-event\_\-feed\_\-mouse\_\-in} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, unsigned int timestamp, const void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Mouse in event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga64f5f2d26a018f4e6154b91251e6bb13}{evas\_\-event\_\-feed\_\-mouse\_\-out} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, unsigned int timestamp, const void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Mouse out event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga5c300cdca8551fd49d5341ef19c8f385}{evas\_\-event\_\-feed\_\-mouse\_\-cancel} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, unsigned int timestamp, const void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Mouse cancel event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga393156722bbe1ce384f0ab33ab76a1f2}{evas\_\-event\_\-feed\_\-mouse\_\-wheel} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int direction, int z, unsigned int timestamp, const void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Mouse wheel event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga096e2ef05bfa471d2773729bd24732a0}{evas\_\-event\_\-feed\_\-key\_\-down} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname, const char $\ast$key, const char $\ast$string, const char $\ast$compose, unsigned int timestamp, const void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Key down event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_gaebe7d4f8b6423aff1ffe67c724d4590d}{evas\_\-event\_\-feed\_\-key\_\-up} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname, const char $\ast$key, const char $\ast$string, const char $\ast$compose, unsigned int timestamp, const void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Key up event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_gaedc3a956cd753acdd2a58ad0d2865d04}{evas\_\-event\_\-feed\_\-hold} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int hold, unsigned int timestamp, const void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Hold event feed. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void $\ast$EAPI void $\ast$EAPI void \hyperlink{group__Evas__Canvas__Events_ga8f8a2686dbbe3c55e091decf3f29d42a}{evas\_\-post\_\-event\_\-callback\_\-push} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Object\_\-Event\_\-Post\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Push a callback on the post-\/event callback stack. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas__Events_ga59f159113fe24fdb5e33e7df3e333516}{evas\_\-post\_\-event\_\-callback\_\-remove} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Object\_\-Event\_\-Post\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em Remove a callback from the post-\/event callback stack. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas__Events_ga3c76c419125c3cad9095f1fdae5f3ac9}{evas\_\-post\_\-event\_\-callback\_\-remove\_\-full} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Object\_\-Event\_\-Post\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Remove a callback from the post-\/event callback stack. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Image__Group_gab236c9384f6fc7a3e1563839720a8214}{evas\_\-image\_\-cache\_\-flush} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Flush the image cache of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Image__Group_gaec7f0a6cd5e39ebc6f0a80e945127981}{evas\_\-image\_\-cache\_\-reload} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Reload the image cache. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Image__Group_gab28271aad78206e5ee9bed62e0decfa7}{evas\_\-image\_\-cache\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int size) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the image cache. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Image__Group_gad7ee7f4627d198c0de0ff197fe2f9ed0}{evas\_\-image\_\-cache\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Set the image cache. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Font__Group_gaf39062952fc420ff32fbacfb8c27bd7d}{evas\_\-font\_\-hinting\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, \hyperlink{group__Evas__Font__Group_gaaed9273c1705a3d2356470c60b2f5aa5}{Evas\_\-Font\_\-Hinting\_\-Flags} hinting) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Changes the font hinting for the given evas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Font__Group_gaaed9273c1705a3d2356470c60b2f5aa5}{Evas\_\-Font\_\-Hinting\_\-Flags} \hyperlink{group__Evas__Font__Group_gafe785a87743b72d8064f0562fd79cc75}{evas\_\-font\_\-hinting\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the font hinting used by the given evas. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Font__Group_gaa4210fa6661330e67ec4c9cbde775b4b}{evas\_\-font\_\-hinting\_\-can\_\-hint} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, \hyperlink{group__Evas__Font__Group_gaaed9273c1705a3d2356470c60b2f5aa5}{Evas\_\-Font\_\-Hinting\_\-Flags} hinting) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Checks if the font hinting is supported by the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Font__Group_gad75ac8ed0c921e774f1c519a66f05a2f}{evas\_\-font\_\-cache\_\-flush} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Force the given evas and associated engine to flush its font cache. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Font__Group_ga5582cfcdb08f6253225bb8cede49033a}{evas\_\-font\_\-cache\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int size) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Changes the size of font cache of the given evas. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Font__Group_ga9cf39aae3074cac05c4aafa3ff24c32f}{evas\_\-font\_\-cache\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Changes the size of font cache of the given evas. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Font__Group_ga9d51a2efecf89a81a2990db252f3dc6c}{evas\_\-font\_\-available\_\-list} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em List of available font descriptions known or found by this evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Font__Group_gadde47be1a7d61f416bfa365a5a1e1467}{evas\_\-font\_\-available\_\-list\_\-free} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Eina\_\-List $\ast$available) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Free list of font descriptions returned by evas\_\-font\_\-dir\_\-available\_\-list(). \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Font__Path__Group_gad565539bda0fc124e4a0865fa29a8463}{evas\_\-font\_\-path\_\-clear} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Removes all font paths loaded into memory for the given evas. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void EAPI const Eina\_\-List $\ast$ \hyperlink{group__Evas__Font__Path__Group_ga06fc80b3e4c27237a571404fc6aa3aeb}{evas\_\-font\_\-path\_\-list} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the list of font paths used by the given evas. \item\end{DoxyCompactList}\item 
+EAPI void EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gadd9e5c165ff2129dd902f43c669a0c1a}{evas\_\-object\_\-clip\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the object clipping this one (if any). \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_gaa7fcd13f310444d7c1541b4fd31fa7f8}{evas\_\-object\_\-clip\_\-unset} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Disable clipping for an object. \item\end{DoxyCompactList}\item 
+EAPI const Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gaa73ed804aa051d0aa5faa1743e113887}{evas\_\-object\_\-clipees\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Return a list of objects currently clipped by a specific object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga5f1530901a9e94e3f35b987101009cf5}{evas\_\-object\_\-focus\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool focus) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets focus to the given object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Basic_ga7dc71b30e4caaaf60076a5990173d654}{evas\_\-object\_\-focus\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Test if the object has focus. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_gab48bd3ad20b6663aa5756823edb02038}{evas\_\-object\_\-layer\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, short l) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the layer of the evas that the given object will be part of. \item\end{DoxyCompactList}\item 
+EAPI short \hyperlink{group__Evas__Object__Group__Basic_ga13cb52d23911b6c701dbb5f1ee3f65f4}{evas\_\-object\_\-layer\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the layer of the evas that the given object is part of. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga4b6eee1edde61389b5ca9df911de60d8}{evas\_\-object\_\-name\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$name) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the name of the given evas object to the given name. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gac34b593d79bfd9284787ddbb43486edd}{evas\_\-object\_\-name\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the name of the given evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_gaa22895e88e2cb157b9c38a6d3ce10723}{evas\_\-object\_\-ref} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Increments object reference count to defer deletion. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga956f8793fd2897945d90bda2d4d08089}{evas\_\-object\_\-unref} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Decrements object reference count to defer deletion. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga6d840e8d5670db3ae32e00c4ecbb6abd}{evas\_\-object\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Deletes the given evas object and frees its memory. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga78fa8858c51707f1a557b720014b71cc}{evas\_\-object\_\-move} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x, Evas\_\-Coord y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Moves the given evas object to the given location. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga34df8b33704deafd2a25f40e3c09d149}{evas\_\-object\_\-resize} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord w, Evas\_\-Coord h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Changes the size of the given evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga5fa60c701af13dac5dd31071167309d2}{evas\_\-object\_\-geometry\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$x, Evas\_\-Coord $\ast$y, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the position and rectangular size of the given evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga769ad9a3e3daecb7a828196a2c86332f}{evas\_\-object\_\-show} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Makes the given evas object visible. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga495807707f06f9acd4de8590a8c92148}{evas\_\-object\_\-hide} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Makes the given evas object invisible. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Basic_ga9cf743b5d87b622c84ba591494445b49}{evas\_\-object\_\-visible\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves whether or not the given evas object is visible. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga6b2dfe01eb955cebf734f4e10ac9ce7f}{evas\_\-object\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int r, int g, int b, int a) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the general colour of the given evas object to the given colour. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga3856f8b88d158ffa9783b44340ef343d}{evas\_\-object\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the general colour of the given evas object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$ \hyperlink{group__Evas__Object__Group__Basic_ga678e810edc3e2ee8b1080186bfa12247}{evas\_\-object\_\-evas\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the evas that the given evas object is on. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gaebc12590e689bfcbfede10eca37f80ff}{evas\_\-object\_\-type\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the name of the type of the given evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga7a99128189105d042cf6b4fefca9b60e}{evas\_\-object\_\-raise} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Raise {\ttfamily obj} to the top of its layer. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_gae5ede5671799a140e3d3f7bb7ea7f14f}{evas\_\-object\_\-lower} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Lower {\ttfamily obj} to the bottom of its layer. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gab78867a46ecc2e35ac90bf40bae1689f}{evas\_\-object\_\-above\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the evas object above {\ttfamily obj}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gaff15b0dacac065bc84e6124c0c4920c5}{evas\_\-object\_\-below\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the evas object below {\ttfamily obj}. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void $\ast$EAPI void $\ast$EAPI void \hyperlink{group__Evas__Object__Group__Events_ga5622d84abe1bd303de71f8ddbdcd0665}{evas\_\-object\_\-pass\_\-events\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool pass) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set an object's pass events state. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Events_ga019458a8697c55dc3d5e3fe525c535e0}{evas\_\-object\_\-pass\_\-events\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Determine whether an object is set to pass events. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Events_gaacd5e00427f3c98ecfb72f630ff7aa46}{evas\_\-object\_\-repeat\_\-events\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool repeat) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set an object's repeat events state. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Events_ga2c7ca0c2c33ec1e12da64f60a5742582}{evas\_\-object\_\-repeat\_\-events\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Determine whether an object is set to repeat events. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Events_gaca523e82bd3e590f92e8bbda29c1607d}{evas\_\-object\_\-propagate\_\-events\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool prop) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set whether events on a smart member object should propagate to its parent. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Events_gadc40db6c861c8e57a2229783f0e9ac7f}{evas\_\-object\_\-propagate\_\-events\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Determine whether an object is set to propagate events. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_acee7a5f7bbb804b406405e9199d5a900}{evas\_\-object\_\-map\_\-enable\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool enabled)
+\begin{DoxyCompactList}\small\item\em Enable or disable the map that is set. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{Evas_8h_a9fe49ea6c0508408d3f0c4bc6b790084}{evas\_\-object\_\-map\_\-enable\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the map enabled state. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_aa0daae782c23c5624ab0fc3e4f63c8f9}{evas\_\-object\_\-map\_\-source\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$src)
+\begin{DoxyCompactList}\small\item\em Set the map source object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{Evas_8h_abb0578635393c514b1c228ebb7b2eed0}{evas\_\-object\_\-map\_\-source\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the map source object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_a4c06097f01adc414be05470a3528adca}{evas\_\-object\_\-map\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$map)
+\begin{DoxyCompactList}\small\item\em Set current object transformation map. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$ \hyperlink{Evas_8h_aa1d3f8febc923e8225f727afc08d21f2}{evas\_\-object\_\-map\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get current object transformation map. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_af71ab80fefb757aea040eaae33fd06e6}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord z)
+\begin{DoxyCompactList}\small\item\em Populate source and destination map points to match exactly object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_ac2d35f2242ce06afe5b9aff79ed33487}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Populate source and destination map points to match exactly object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_adb28b64c445931d92eeeab2c3fb52286}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-geometry} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord w, Evas\_\-Coord h, Evas\_\-Coord z)
+\begin{DoxyCompactList}\small\item\em Populate source and destination map points to match given geometry. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_a1ea4919339773a113dece07f1335d6ac}{evas\_\-map\_\-util\_\-points\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, int r, int g, int b, int a)
+\begin{DoxyCompactList}\small\item\em Set color of all points to given color. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_ad5bceb379d28374c62579b1969ce5080}{evas\_\-map\_\-util\_\-rotate} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, double degrees, Evas\_\-Coord cx, Evas\_\-Coord cy)
+\begin{DoxyCompactList}\small\item\em Change the map to apply the given rotation. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_a986dd1010c757910b4520527f229d3b5}{evas\_\-map\_\-util\_\-zoom} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, double zoomx, double zoomy, Evas\_\-Coord cx, Evas\_\-Coord cy)
+\begin{DoxyCompactList}\small\item\em Change the map to apply the given zooming. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_a4118dedc011bd94a35d03251c7bef5ed}{evas\_\-map\_\-util\_\-3d\_\-rotate} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, double dx, double dy, double dz, Evas\_\-Coord cx, Evas\_\-Coord cy, Evas\_\-Coord cz)
+\begin{DoxyCompactList}\small\item\em Rotate the map around 3 axes in 3D. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_a4dd3a3cf9091afaa87bc042b12a5685d}{evas\_\-map\_\-util\_\-3d\_\-lighting} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, Evas\_\-Coord lx, Evas\_\-Coord ly, Evas\_\-Coord lz, int lr, int lg, int lb, int ar, int ag, int ab)
+\begin{DoxyCompactList}\small\item\em Perform lighting calculations on the given Map. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_a14c467420d169d666865cdb31746728d}{evas\_\-map\_\-util\_\-3d\_\-perspective} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, Evas\_\-Coord px, Evas\_\-Coord py, Evas\_\-Coord z0, Evas\_\-Coord foc)
+\begin{DoxyCompactList}\small\item\em Apply a perspective transform to the map. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{Evas_8h_a4e7cd972cac5507838c9827ef04b2607}{evas\_\-map\_\-util\_\-clockwise\_\-get} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m)
+\begin{DoxyCompactList}\small\item\em Get the clockwise state of a map. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$ \hyperlink{Evas_8h_a719acc4f4792236f7031664ec450b399}{evas\_\-map\_\-new} (int count)
+\begin{DoxyCompactList}\small\item\em Create map of transformation points to be later used with an evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_ae851a2ebf0c272cf0bcb97168b625d23}{evas\_\-map\_\-smooth\_\-set} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, Eina\_\-Bool enabled)
+\begin{DoxyCompactList}\small\item\em Set the smoothing for map rendering. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{Evas_8h_ac7693cff90eddde9f1cd5fd99d6df695}{evas\_\-map\_\-smooth\_\-get} (const \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m)
+\begin{DoxyCompactList}\small\item\em get the smoothing for map rendering \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_ae1cbf087e2182e01d07979975baa9065}{evas\_\-map\_\-alpha\_\-set} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, Eina\_\-Bool enabled)
+\begin{DoxyCompactList}\small\item\em Set the alpha flag for map rendering. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{Evas_8h_ae7de42394f26fa1e5bfc315f7d114ac3}{evas\_\-map\_\-alpha\_\-get} (const \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m)
+\begin{DoxyCompactList}\small\item\em get the alpha flag for map rendering \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$ \hyperlink{Evas_8h_a25ffe0dd36fed0c9c492d636b163390a}{evas\_\-map\_\-dup} (const \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m)
+\begin{DoxyCompactList}\small\item\em Copy a previously allocated map. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_a78ecdf799f326e1c17aae6770c06058a}{evas\_\-map\_\-free} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m)
+\begin{DoxyCompactList}\small\item\em Free a previously allocated map. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{Evas_8h_acb6da0be6c78ebf89a5b25d9a0fa44fa}{evas\_\-map\_\-count\_\-get} (const \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m) EINA\_\-CONST
+\begin{DoxyCompactList}\small\item\em Get a maps size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, int idx, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord z)
+\begin{DoxyCompactList}\small\item\em Change the map point's coordinate. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_ab8640a9b915b7c6f33f96782bb23e939}{evas\_\-map\_\-point\_\-coord\_\-get} (const \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, int idx, Evas\_\-Coord $\ast$x, Evas\_\-Coord $\ast$y, Evas\_\-Coord $\ast$z)
+\begin{DoxyCompactList}\small\item\em Get the map point's coordinate. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_a1ce926660d27e788b469f8a202dfb84a}{evas\_\-map\_\-point\_\-image\_\-uv\_\-set} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, int idx, double u, double v)
+\begin{DoxyCompactList}\small\item\em Change the map point's U and V texture source point. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_ab993d154039532e6105d2c1ea23133fc}{evas\_\-map\_\-point\_\-image\_\-uv\_\-get} (const \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, int idx, double $\ast$u, double $\ast$v)
+\begin{DoxyCompactList}\small\item\em Get the map point's U and V texture source points. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_ae569741d778974e2825dc05cc3e68f9f}{evas\_\-map\_\-point\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, int idx, int r, int g, int b, int a)
+\begin{DoxyCompactList}\small\item\em Set the color of a vertex in the map. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{Evas_8h_a40ae28dc015c5dad8a09ce5c6d764422}{evas\_\-map\_\-point\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map} $\ast$m, int idx, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a)
+\begin{DoxyCompactList}\small\item\em Get the color set on a vertex in the map. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga8f1430ec1cce66ee7763fbac7927f55e}{evas\_\-object\_\-size\_\-hint\_\-min\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the size hint for the minimum size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga373fc149848dd782ac942e4b5751eb4b}{evas\_\-object\_\-size\_\-hint\_\-min\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord w, Evas\_\-Coord h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the size hint for the minimum size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga868180db80ed59bfd7ebdc3dd71bb59a}{evas\_\-object\_\-size\_\-hint\_\-max\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the size hint for the maximum size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga2a224fd6c4fc231af281af59c5a604b2}{evas\_\-object\_\-size\_\-hint\_\-max\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord w, Evas\_\-Coord h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the size hint for the maximum size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga6a7de6942258ab03a6e85b37f569895d}{evas\_\-object\_\-size\_\-hint\_\-request\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the size request hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_gace0177af29ccbf1a60415f2c4c85c1f4}{evas\_\-object\_\-size\_\-hint\_\-request\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord w, Evas\_\-Coord h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the requested size hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga7b31c73dcbf60cdafe6ad7ffae42a54c}{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Aspect\_\-Control $\ast$aspect, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the size aspect control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_gadb36ccc851e48ae2a11a6e2cb7fcb273}{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Aspect\_\-Control aspect, Evas\_\-Coord w, Evas\_\-Coord h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the size aspect control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_gaff2802d3169b29a786f9b39be3f474bb}{evas\_\-object\_\-size\_\-hint\_\-align\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double $\ast$x, double $\ast$y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the size align control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga156cf1921d0be0d7dcf4d6f93daf010f}{evas\_\-object\_\-size\_\-hint\_\-align\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double x, double y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the size align control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga66f88dc981e7c0af05822c583e03fabb}{evas\_\-object\_\-size\_\-hint\_\-weight\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double $\ast$x, double $\ast$y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the size weight control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_gabb010d4e7a8772b1785185d89a1a6b98}{evas\_\-object\_\-size\_\-hint\_\-weight\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double x, double y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the size weight control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga81b821793f451c648052cf7d6cfe6dd4}{evas\_\-object\_\-size\_\-hint\_\-padding\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$l, Evas\_\-Coord $\ast$r, Evas\_\-Coord $\ast$t, Evas\_\-Coord $\ast$b) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the size padding control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga0014a3016d34071d41d76785a963fcb1}{evas\_\-object\_\-size\_\-hint\_\-padding\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord l, Evas\_\-Coord r, Evas\_\-Coord t, Evas\_\-Coord b) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the size padding control hint. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$EAPI void \hyperlink{group__Evas__Object__Group__Extras_ga5504e39f8d0cc41af3663fed15ec06e5}{evas\_\-object\_\-pointer\_\-mode\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group__Extras_ga27baac4c63b590de109e3e3f0d941483}{Evas\_\-Object\_\-Pointer\_\-Mode} setting) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set pointer behavior. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group__Extras_ga27baac4c63b590de109e3e3f0d941483}{Evas\_\-Object\_\-Pointer\_\-Mode} \hyperlink{group__Evas__Object__Group__Extras_ga80faa9ce3b9ab59fe7b4bf6924b293ac}{evas\_\-object\_\-pointer\_\-mode\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Determine how pointer will behave. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_gaf0c7d4c49695749fa616d0abdbd5ddeb}{evas\_\-object\_\-anti\_\-alias\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool antialias) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets whether or not the given evas object is to be drawn anti-\/aliased. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Extras_ga3308cb65716beb4ce826b9701e23159a}{evas\_\-object\_\-anti\_\-alias\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves whether or not the given evas object is to be drawn anti\_\-aliased. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_gaf010777fa1b58bd1c9c8093d2edc62e9}{evas\_\-object\_\-scale\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double scale) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the scaling factor for an evas object. \item\end{DoxyCompactList}\item 
+EAPI double \hyperlink{group__Evas__Object__Group__Extras_ga1c0aca3af434f0bc0fa8732248b197ba}{evas\_\-object\_\-scale\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the scaling factor for the given evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_ga86ef8d1f039bff1a60595688f93a7990}{evas\_\-object\_\-render\_\-op\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group__Extras_ga9c39a3ca795bbec3687fae9ee67d6056}{Evas\_\-Render\_\-Op} op) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the render\_\-op to be used for rendering the evas object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group__Extras_ga9c39a3ca795bbec3687fae9ee67d6056}{Evas\_\-Render\_\-Op} \hyperlink{group__Evas__Object__Group__Extras_gaa157afa6f23cdf4b344d95531bb7d508}{evas\_\-object\_\-render\_\-op\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the current value of the operation used for rendering the evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_gac9ce9802afd7d4cba580fbcbe92c28b2}{evas\_\-object\_\-precise\_\-is\_\-inside\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool precise) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set whether to use a precise (usually expensive) point collision detection. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Extras_ga8483a3c855f466a5dca480fcfd07b52b}{evas\_\-object\_\-precise\_\-is\_\-inside\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Determine whether an object is set to use a precise point collision detection. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_ga8697b24251c2209c60aabb1a5de860a8}{evas\_\-object\_\-static\_\-clip\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool is\_\-static\_\-clip) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set a hint flag on the object that this is used as a static \char`\"{}clipper\char`\"{}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Extras_gafda644be2d6e6360959853c9d6195ec8}{evas\_\-object\_\-static\_\-clip\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get static \char`\"{}clipper\char`\"{} hint flag. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gaafc05ec22375400b9f0cfc8bcfc83bf5}{evas\_\-focus\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieve the object that currently has focus. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gad3214c89581f068934c57ac71dc6a52f}{evas\_\-object\_\-name\_\-find} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$name) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the object on the given evas with the given name. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga6028b55f1ec538feb45aa004ba916a54}{evas\_\-object\_\-top\_\-at\_\-xy\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x, Evas\_\-Coord y, Eina\_\-Bool include\_\-pass\_\-events\_\-objects, Eina\_\-Bool include\_\-hidden\_\-objects) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the top object at the given position (x,y). \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga6382adb2279892eb01029cef46988448}{evas\_\-object\_\-top\_\-at\_\-pointer\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the top object at mouse pointer position. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gaf072ec206768d96c6f73a590e6af39c9}{evas\_\-object\_\-top\_\-in\_\-rectangle\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord w, Evas\_\-Coord h, Eina\_\-Bool include\_\-pass\_\-events\_\-objects, Eina\_\-Bool include\_\-hidden\_\-objects) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the top object in the given rectangle region. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga473d00deb431d0869484474153e47c04}{evas\_\-objects\_\-at\_\-xy\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x, Evas\_\-Coord y, Eina\_\-Bool include\_\-pass\_\-events\_\-objects, Eina\_\-Bool include\_\-hidden\_\-objects) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the objects at the given position. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Group__Find_gae5d4af2f915c2efe4e5cfc22644b8c53}{evas\_\-objects\_\-in\_\-rectangle\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord w, Evas\_\-Coord h, Eina\_\-Bool include\_\-pass\_\-events\_\-objects, Eina\_\-Bool include\_\-hidden\_\-objects) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga3e06dcd04da8cd9d64e106f7ede8db9e}{evas\_\-object\_\-bottom\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the lowest evas object on the Evas {\ttfamily e}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga2acf1e026d576ba355ca1b1ea24e0736}{evas\_\-object\_\-top\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the highest evas object on the Evas {\ttfamily e}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Rectangle_gaa08a28171d59c43d106e1ea4f986fefa}{evas\_\-object\_\-rectangle\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Adds a rectangle to the given evas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Image_gae2bf7d73874a8b11ac4d7cb3bf2476ce}{evas\_\-object\_\-image\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Creates a new image object on the given evas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Image_ga2e4275b1aee95e338ffa8b39e81f4eee}{evas\_\-object\_\-image\_\-filled\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Creates a new image object that automatically scales on the given evas. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void \hyperlink{group__Evas__Object__Image_ga70f63c055b2e248089e761f5c0f78a0f}{evas\_\-object\_\-image\_\-file\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$file, const char $\ast$key) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the filename and key of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void \hyperlink{group__Evas__Object__Image_ga6283aace5be077433bee45ec23ad072d}{evas\_\-object\_\-image\_\-border\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int l, int r, int t, int b) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets how much of each border of the given image object is not to be scaled. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gab666a37cbae8ee846cdeb518e7fd495c}{evas\_\-object\_\-image\_\-border\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$l, int $\ast$r, int $\ast$t, int $\ast$b) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves how much of each border of the given image object is not to be scaled. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga4caf736585ad602e6748e434ac1f5fc6}{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Border\_\-Fill\_\-Mode fill) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets if the center part of the given image object (not the border) should be drawn. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Border\_\-Fill\_\-Mode \hyperlink{group__Evas__Object__Image_ga04f8a4f69c5ad37d9229e4c39bb7c010}{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves if the center of the given image object is to be drawn or not. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gae304964ee6769e559ca452c788f5aae4}{evas\_\-object\_\-image\_\-filled\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool setting) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets if image fill property should track object size. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_ga3fbe9f33ccc93a5c45ffa3b26019694e}{evas\_\-object\_\-image\_\-filled\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves if image fill property is tracking object size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gaba00498563648d2d3934e7e75449abd0}{evas\_\-object\_\-image\_\-border\_\-scale\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double scale)
+\begin{DoxyCompactList}\small\item\em Sets a scale factor (multiplier) for the borders of an image. \item\end{DoxyCompactList}\item 
+EAPI double \hyperlink{group__Evas__Object__Image_ga7cc1bf948a8a5d61c703211f0bd5d2dc}{evas\_\-object\_\-image\_\-border\_\-scale\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the border scale factor. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}{evas\_\-object\_\-image\_\-fill\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord w, Evas\_\-Coord h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the rectangle of the given image object that the image will be drawn to. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gaf1a7d6b8cf914234abdd5d3d3312f85e}{evas\_\-object\_\-image\_\-fill\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$x, Evas\_\-Coord $\ast$y, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the dimensions of the rectangle of the given image object that the image will be drawn to. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga0015a660507a5562e118a1777947f881}{evas\_\-object\_\-image\_\-fill\_\-spread\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{Evas_8h_a693bc9123af8452d9771c2a849b8805c}{Evas\_\-Fill\_\-Spread} spread) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the tiling mode for the given evas image object's fill. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_a693bc9123af8452d9771c2a849b8805c}{Evas\_\-Fill\_\-Spread} \hyperlink{group__Evas__Object__Image_gae86928005f983627c74dbaef6c0fbb0e}{evas\_\-object\_\-image\_\-fill\_\-spread\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the spread (tiling mode) for the given image object's fill. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gaf85031267b5fab16874ebbf944dded22}{evas\_\-object\_\-image\_\-size\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int w, int h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the size of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga43e6f1b16ebe859826e6901cb36995ad}{evas\_\-object\_\-image\_\-size\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$w, int $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieves the size of the given image object. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Image_gab72175381532640c620dd032e56c590b}{evas\_\-object\_\-image\_\-stride\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the row stride of the given image object,. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_aff351ae694a58aecd7834ef12bdf3d64}{Evas\_\-Load\_\-Error} \hyperlink{group__Evas__Object__Image_ga46e4a0b2b916d28694ad054549f88e24}{evas\_\-object\_\-image\_\-load\_\-error\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves a number representing any error that occurred during the last load of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gabdd65e4c69f422ddcf0d3c8720859a92}{evas\_\-object\_\-image\_\-data\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the raw image data of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Image_ga3072cf7c31cf33057abd8ae8876218cd}{evas\_\-object\_\-image\_\-data\_\-convert} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Image_ga8c6e60db9c8b83b155ccea52957ff656}{Evas\_\-Colorspace} to\_\-cspace) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Converts the raw image data of the given image object to the specified colorspace. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Image_gabe5883e22418071463f4ae97ca8885b2}{evas\_\-object\_\-image\_\-data\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool for\_\-writing) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get a pointer to the raw image data of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga97d17b8d95f0ca01a264a6c303d00c27}{evas\_\-object\_\-image\_\-data\_\-copy\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Replaces the raw image data of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gab6b763271781a2ab35f5849f6564e165}{evas\_\-object\_\-image\_\-data\_\-update\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int x, int y, int w, int h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Mark a sub-\/region of the given image object to be redrawn. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gadf2df4027a211db3f9a1fb21f248d7fb}{evas\_\-object\_\-image\_\-alpha\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool has\_\-alpha) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Enable or disable alpha channel of the given image object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_gac136f7f65d8529427b1f6da055b47a30}{evas\_\-object\_\-image\_\-alpha\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the alpha channel setting of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga670a0cf9176882f0ad339ccb4f37f510}{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool smooth\_\-scale) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets whether to use of high-\/quality image scaling algorithm of the given image object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_gae4acc1da719cb38122b92527df24388c}{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves whether the given image object is using use a high-\/quality image scaling algorithm. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gad6383022c4013008d11827b32bf63d59}{evas\_\-object\_\-image\_\-preload} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool cancel) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Preload image in the background. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga764bec190c0812f61f5a18f38c9c6a4e}{evas\_\-object\_\-image\_\-reload} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Reload a image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool EAPI Eina\_\-Bool EAPI void EAPI void \hyperlink{group__Evas__Object__Image_gad230eeeb0c6ba49eafd32b20afa314cb}{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool dirty) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Mark whether the given image object is dirty (needs to be redrawn). \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_ga1d9e82da12f7831552fca02b9b313551}{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves whether the given image object is dirty (needs to be redrawn). \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga88a20331cef0267ddc1d00419841580b}{evas\_\-object\_\-image\_\-load\_\-dpi\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double dpi) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the dpi resolution of a loaded image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI double \hyperlink{group__Evas__Object__Image_ga92a5503085a5c0731bb9c299e7b42f78}{evas\_\-object\_\-image\_\-load\_\-dpi\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the dpi resolution of a loaded image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga1811fb73c1e138b5221cf4b25148111a}{evas\_\-object\_\-image\_\-load\_\-size\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int w, int h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the size of a loaded image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gae8047183e894e1e1245f1f3aaf78f218}{evas\_\-object\_\-image\_\-load\_\-size\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$w, int $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Get the size of a loaded image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga59796713b88c217ce5869cb003e404c0}{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int scale\_\-down) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the scale down of a loaded image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Image_ga259c48b3e2a4009e8a10f8e9874d3847}{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the scale down value of given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gac352f7b110d7e527bf2d36fba5507d0c}{evas\_\-object\_\-image\_\-colorspace\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Image_ga8c6e60db9c8b83b155ccea52957ff656}{Evas\_\-Colorspace} cspace) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the colorspace of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Image_ga8c6e60db9c8b83b155ccea52957ff656}{Evas\_\-Colorspace} \hyperlink{group__Evas__Object__Image_gaa59339b6adb32081383fa5540641eb42}{evas\_\-object\_\-image\_\-colorspace\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the colorspace of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void EAPI \hyperlink{Evas_8h_ae35ae0b7b909a9e956836b92d63b493d}{Evas\_\-Native\_\-Surface} $\ast$ \hyperlink{group__Evas__Object__Image_gabd3effabde6da00dfcac7cf0cfa22280}{evas\_\-object\_\-image\_\-native\_\-surface\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the native surface of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gad13d32b74c2cd82c95b85fa9640ae529}{evas\_\-object\_\-image\_\-scale\_\-hint\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Image\_\-Scale\_\-Hint hint) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the scale hint of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Image\_\-Scale\_\-Hint \hyperlink{group__Evas__Object__Image_ga8cce0086819196768915e5f2c2ed0cb2}{evas\_\-object\_\-image\_\-scale\_\-hint\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the scale hint of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gaf6cc0faf39773e12eb496116afd67c6f}{evas\_\-object\_\-image\_\-content\_\-hint\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Image\_\-Content\_\-Hint hint) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the content hint of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Image\_\-Content\_\-Hint \hyperlink{group__Evas__Object__Image_ga28881040682dbbf00937948124e9f3fb}{evas\_\-object\_\-image\_\-content\_\-hint\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the content hint of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga154d8315842f4602878704951705e6cb}{evas\_\-object\_\-image\_\-alpha\_\-mask\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool ismask) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Enable an image to be used as an alpha mask. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_ga8f3b7eb8efaa3d77b9908a080b3d4c55}{evas\_\-object\_\-image\_\-source\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$src) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the source object on a proxy object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Image_ga95a96ced932d6e7e17ee019654d9d901}{evas\_\-object\_\-image\_\-source\_\-get} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Get the current source object of an image. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_gad667fc9de032eb39bf07e33ef0f4d81b}{evas\_\-object\_\-image\_\-source\_\-unset} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Clear the source on a proxy image. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Text_ga2da9ad20aec514dfeecb97c715e7f539}{evas\_\-object\_\-text\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Creates a new text {\ttfamily Evas\_\-Object} on the provided {\ttfamily Evas} canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga6f503ac55e126bebbadf96a152f5d02b}{evas\_\-object\_\-text\_\-font\_\-source\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$font) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Text_gaa48bece59070032504a2c78ad8a66577}{evas\_\-object\_\-text\_\-font\_\-source\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga6c7fc38657a876997ad91ebd177669a6}{evas\_\-object\_\-text\_\-font\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$font, Evas\_\-Font\_\-Size size) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void \hyperlink{group__Evas__Object__Text_ga11d37807b5506e6cca746ebb91236532}{evas\_\-object\_\-text\_\-text\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$text) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the text to be displayed by the given evas text object. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Text_gaef3b0b12eb63b9cd7574c1cf05afb7a8}{evas\_\-object\_\-text\_\-text\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the text currently being displayed by the given evas text object. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga4aaf7a903228927fa0adac885304e43e}{evas\_\-object\_\-text\_\-ascent\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga71f9d96c6dfc8ec33cf0a97e614228a0}{evas\_\-object\_\-text\_\-descent\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga1a0bdf57c3ca6e7fb7833ddfbe23b735}{evas\_\-object\_\-text\_\-max\_\-ascent\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga28ee3eb5e199c23a14ac47e07ac49205}{evas\_\-object\_\-text\_\-max\_\-descent\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga972494bd4b9d807ea5f98404a82d8eab}{evas\_\-object\_\-text\_\-horiz\_\-advance\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_gaec17348b4fa02b15162ef96abdbfbf41}{evas\_\-object\_\-text\_\-vert\_\-advance\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga6c5f45ff6e1be091d0382db0ccfb919d}{evas\_\-object\_\-text\_\-inset\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Text_ga823b09a9d05a1650e63970e329cd7b72}{evas\_\-object\_\-text\_\-char\_\-pos\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int pos, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Retrieve position and dimension information of a character within a text {\ttfamily Evas\_\-Object}. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Text_gab37f85358bd7d333cd6e8c7cf62b5daa}{evas\_\-object\_\-text\_\-char\_\-coords\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Text_ga464d40578e2fdc2ad8890556e0b97268}{evas\_\-object\_\-text\_\-last\_\-up\_\-to\_\-pos} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x, Evas\_\-Coord y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns the logical position of the last char in the text up to the pos given. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Text\_\-Style\_\-Type \hyperlink{group__Evas__Object__Text_gaf08d4a9630d23ebdbf79cc8c2c91b2c6}{evas\_\-object\_\-text\_\-style\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_gae7896521b9861d4bd3efc04ef1e8e91e}{evas\_\-object\_\-text\_\-style\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Text\_\-Style\_\-Type type) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga58f0bb7acf2c1d24e9ae5e4a391d19bc}{evas\_\-object\_\-text\_\-shadow\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int r, int g, int b, int a) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga7cf7432965327a571d413dbaeca66822}{evas\_\-object\_\-text\_\-shadow\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga74c4ea0f0befd6213f48163ee70041e6}{evas\_\-object\_\-text\_\-glow\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int r, int g, int b, int a) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga76bcc6322241875990b572f37d754266}{evas\_\-object\_\-text\_\-glow\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga7dabe4ce0120cdf0c4e60a8f7a7e3659}{evas\_\-object\_\-text\_\-glow2\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int r, int g, int b, int a) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga264a8425d8dab176a1b15e17a528d56d}{evas\_\-object\_\-text\_\-glow2\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga1c1cf05c6b31f06a4c79486d19ddaece}{evas\_\-object\_\-text\_\-outline\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int r, int g, int b, int a) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga16485a0062a397faed21fad732ad16ba}{evas\_\-object\_\-text\_\-outline\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_gafd638ae91c10d4139e41e6245c0712e1}{evas\_\-object\_\-text\_\-style\_\-pad\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$l, int $\ast$r, int $\ast$t, int $\ast$b) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Gets the text style pad of a text object. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-BiDi\_\-Direction \hyperlink{group__Evas__Object__Text_ga2fdb3ff0318cd4b45d642ae317b19589}{evas\_\-object\_\-text\_\-direction\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1) EINA\_\-WARN\_\-UNUSED\_\-RESULT
+\begin{DoxyCompactList}\small\item\em Retrieves the direction of the text currently being displayed in the text object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Textblock_gac43a253bc767da912ee1818a8dfa5713}{evas\_\-object\_\-textblock\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Adds a textblock to the given evas. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_gac165d57003e552fa6739158dc2ed73f5}{evas\_\-textblock\_\-escape\_\-string\_\-get} (const char $\ast$escape) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Returns the unescaped version of escape. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga70b3680a8691c70bab39bd1c127424a5}{evas\_\-textblock\_\-string\_\-escape\_\-get} (const char $\ast$string, int $\ast$len\_\-ret) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Returns the escaped version of the string. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Textblock\_\-Style $\ast$ \hyperlink{group__Evas__Object__Textblock_ga00cc8baec308c583ac801811dd381d4c}{evas\_\-textblock\_\-style\_\-new} (void) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Creates a new textblock style. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaf527de9ea652e4435a0eaa6cda09585f}{evas\_\-textblock\_\-style\_\-free} (Evas\_\-Textblock\_\-Style $\ast$ts) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Destroys a textblock style. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gac239e4649b0893284ea962a2183c3f14}{evas\_\-textblock\_\-style\_\-set} (Evas\_\-Textblock\_\-Style $\ast$ts, const char $\ast$text) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the style ts to the style passed as text by text. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_gae106e0cfb957f1916eb3833c1214394c}{evas\_\-textblock\_\-style\_\-get} (const Evas\_\-Textblock\_\-Style $\ast$ts) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Return the text of the style ts. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaf581b9400cb7176a137451ab6193e3c0}{evas\_\-object\_\-textblock\_\-style\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Textblock\_\-Style $\ast$ts) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the objects style to ts. \item\end{DoxyCompactList}\item 
+EAPI const Evas\_\-Textblock\_\-Style $\ast$ \hyperlink{group__Evas__Object__Textblock_ga9f3164f28981c6d6188a8de202848197}{evas\_\-object\_\-textblock\_\-style\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Return the style of an object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gab5d3958f4d73b2d9e3cccd828816b672}{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$ch) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the \char`\"{}replacement character\char`\"{} to use for the given textblock object. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga61f6c6ea8c0ce2028424396eb2ff4a81}{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-get} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the \char`\"{}replacement character\char`\"{} for given textblock object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga5f08b5b6222ed341574ec8167a86c9a0}{evas\_\-object\_\-textblock\_\-valign\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double align)
+\begin{DoxyCompactList}\small\item\em Sets the vertical alignment of text within the textblock object as a whole. \item\end{DoxyCompactList}\item 
+EAPI double \hyperlink{group__Evas__Object__Textblock_ga431ec30179fc3d7bcd98f508453e41bb}{evas\_\-object\_\-textblock\_\-valign\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Gets the vertical alignment of a textblock. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gae637041b07efe438e3539bb549a915e3}{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool mode) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets newline mode. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga0832ab9fd2820efee68bec6d1d80e427}{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Gets newline mode. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gadaed9758086de4545aa6fb561445816f}{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$text) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the tetxblock's text to the markup text. \item\end{DoxyCompactList}\item 
+EAPI void EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga0896326ca8d9ca1dd194f322d0bc87b2}{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Return the markup of the object. \item\end{DoxyCompactList}\item 
+EAPI const Evas\_\-Textblock\_\-Cursor $\ast$ \hyperlink{group__Evas__Object__Textblock_ga2bbd5e4e1cc36e18790dc09fbd2a6c18}{evas\_\-object\_\-textblock\_\-cursor\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Return the object's main cursor. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Textblock\_\-Cursor $\ast$ \hyperlink{group__Evas__Object__Textblock_ga6f6242cc087a6cc65196b09e813e2c45}{evas\_\-object\_\-textblock\_\-cursor\_\-new} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Create a new cursor, associate it to the obj and init it to point to the start of the textblock. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaec3e250258e2f587381bcd1539469137}{evas\_\-textblock\_\-cursor\_\-free} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Free the cursor and unassociate it from the object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga445a498191535460cf6de442cb2b3a41}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-first} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the cursor to the start of the first text node. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga2654bf905bdd0fe98402abe105c815d0}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-last} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em sets the cursor to the end of the last text node. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga85773221b22e6d042cc6b581de08c87a}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-next} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Advances to the the start of the next text node. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gabe9fa26c799408129f013440e518f699}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-prev} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Advances to the the end of the previous text node. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$ \hyperlink{group__Evas__Object__Textblock_ga56e9057e5845fe785710ba6c5d07ab3e}{evas\_\-textblock\_\-node\_\-format\_\-first\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns the first format node. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$ \hyperlink{group__Evas__Object__Textblock_ga091521044b95190c75c57ca1661bcc83}{evas\_\-textblock\_\-node\_\-format\_\-last\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns the last format node. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$ \hyperlink{group__Evas__Object__Textblock_ga341e85b5bb0c9b2c82db4eb5a2432a9d}{evas\_\-textblock\_\-node\_\-format\_\-next\_\-get} (const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$n) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns the next format node (after n). \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$ \hyperlink{group__Evas__Object__Textblock_ga8566bfff8ca71cc89cf704c9a082780c}{evas\_\-textblock\_\-node\_\-format\_\-prev\_\-get} (const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$n) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns the prev format node (after n). \item\end{DoxyCompactList}\item 
+EAPI void EAPI void EAPI const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$ \hyperlink{group__Evas__Object__Textblock_gad4abd947509949e9b683003018481aa3}{evas\_\-textblock\_\-cursor\_\-format\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Return the format node at the position pointed by cur. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_gae386e3627175b7d20a14ad58ddd5aaa8}{evas\_\-textblock\_\-node\_\-format\_\-text\_\-get} (const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$cur) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Get the text format representation of the format node. \item\end{DoxyCompactList}\item 
+EAPI void EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga8a85968d8fe24bcb92738df510993d8c}{evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Check if the current cursor position is a visible format. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gaedae64aa95805f0c3480cf6001297ae9}{evas\_\-textblock\_\-cursor\_\-format\_\-next} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Advances to the next format node. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga560593895b7ba6e3d309463c921ad9ec}{evas\_\-textblock\_\-cursor\_\-format\_\-prev} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Advances to the previous format node. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gaf389372f80b4cd3f2fc1fd8b99637367}{evas\_\-textblock\_\-cursor\_\-is\_\-format} (const Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns true if the cursor points to a format. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga8f3fba0d1d853db5694b3803db73d9cd}{evas\_\-textblock\_\-cursor\_\-char\_\-next} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Advances 1 char forward. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gace122729e6764dc54bfee83b9865efc9}{evas\_\-textblock\_\-cursor\_\-char\_\-prev} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Advances 1 char backward. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga14a0a29c79eeb378c73f1383bb09424d}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-first} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Go to the first char in the node the cursor is pointing on. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaf504e62cf0b498631ec8154c14b2efb4}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Go to the last char in a text node. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga6da9c7bff6073756a619f9b8a00d0e0b}{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-first} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Go to the start of the current line. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaf96505739a5a805922f86b0e9c577afe}{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-last} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Go to the end of the current line. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga7f74459b59870c258bd312ff114778bc}{evas\_\-textblock\_\-cursor\_\-pos\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Return the current cursor pos. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gacde95e638bba6858b73f316afe2cfef0}{evas\_\-textblock\_\-cursor\_\-pos\_\-set} (Evas\_\-Textblock\_\-Cursor $\ast$cur, int pos) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the cursor pos. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gaa1992968fd64630687b18a5f9d632edf}{evas\_\-textblock\_\-cursor\_\-line\_\-set} (Evas\_\-Textblock\_\-Cursor $\ast$cur, int line) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Go to the start of the line passed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaf9cd7ffa37008c0d6f61413703a0670e}{evas\_\-textblock\_\-cursor\_\-char\_\-delete} (Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Delete the character at the location of the cursor. \item\end{DoxyCompactList}\item 
+EAPI void EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga2369c2b14e0a58379e28327870a57f23}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Return the text of the paragraph cur points to -\/ returns the text in markup. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga57b2e7d853306c435946e0db83080db5}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-length\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Return the length of the paragraph, cheaper the eina\_\-unicode\_\-strlen(). \item\end{DoxyCompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga77a5f2b742f74110aad4f0b2af6a91aa}{evas\_\-textblock\_\-cursor\_\-content\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Return the content of the cursor. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga53de4d5aa108014959e6eef6cc09e463}{evas\_\-textblock\_\-cursor\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch, Evas\_\-BiDi\_\-Direction $\ast$dir, Evas\_\-Textblock\_\-Cursor\_\-Type ctype) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns the geometry of the cursor. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga47950e666e252bbf0ad9d46b59e74269}{evas\_\-textblock\_\-cursor\_\-char\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns the geometry of the char at cur. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga07130c3e5323cc4aab5740e926221105}{evas\_\-textblock\_\-cursor\_\-pen\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord $\ast$cpen\_\-x, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cadv, Evas\_\-Coord $\ast$ch) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns the geometry of the pen at cur. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_gaa49a0235809d49fb5f988253050dd101}{evas\_\-textblock\_\-cursor\_\-line\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Returns the geometry of the line at cur. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga216d7d74aae2d58f0cc42bf1a0291b00}{evas\_\-textblock\_\-cursor\_\-char\_\-coord\_\-set} (Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord x, Evas\_\-Coord y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the position of the cursor according to the X and Y coordinates. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_gab730b9223f43f4bf255f7b3bd44f3ddb}{evas\_\-textblock\_\-cursor\_\-line\_\-coord\_\-set} (Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the cursor position according to the y coord. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga6938413ee2c12497dfa517c3575e0311}{evas\_\-textblock\_\-cursor\_\-format\_\-item\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em to be documented. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gad5c9c6526512b13fe53aa763778aa6f8}{evas\_\-textblock\_\-cursor\_\-eol\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Checks if the cursor points to the end of the line. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga77d99df8bcb139f2a499a0dda4c5dca1}{evas\_\-object\_\-textblock\_\-line\_\-number\_\-geometry\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int line, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Get the geometry of a line number. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gad5ee9184f370f602d2005ea8091a2c29}{evas\_\-object\_\-textblock\_\-clear} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Clear the textblock object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga5b77e11b6e478b81ed13d469cb8e21db}{evas\_\-object\_\-textblock\_\-size\_\-formatted\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Get the formatted width and height. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga9a956c2712537a1e1f83e997c79a4c1e}{evas\_\-object\_\-textblock\_\-size\_\-native\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Get the native width and height. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga851cb385b547a958790a0d60d386a1d8}{evas\_\-object\_\-textblock\_\-style\_\-insets\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$l, Evas\_\-Coord $\ast$r, Evas\_\-Coord $\ast$t, Evas\_\-Coord $\ast$b) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em to be documented. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Line__Group_ga896f1beaea24379495af4cbc5efcebfe}{evas\_\-object\_\-line\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Adds a new evas line object to the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Line__Group_gaa43185929e6e41e9c7315d2230665174}{evas\_\-object\_\-line\_\-xy\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x1, Evas\_\-Coord y1, Evas\_\-Coord x2, Evas\_\-Coord y2)
+\begin{DoxyCompactList}\small\item\em Sets the coordinates of the end points of the given evas line object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Line__Group_ga3fa674863aa41d655caa103f546a9092}{evas\_\-object\_\-line\_\-xy\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$x1, Evas\_\-Coord $\ast$y1, Evas\_\-Coord $\ast$x2, Evas\_\-Coord $\ast$y2)
+\begin{DoxyCompactList}\small\item\em Retrieves the coordinates of the end points of the given evas line object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Polygon_gab6beb5b98de57a0f47707cac90f96bc9}{evas\_\-object\_\-polygon\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Adds a new evas polygon object to the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Polygon_ga92cb2d99c88404307e30eed74688da76}{evas\_\-object\_\-polygon\_\-point\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x, Evas\_\-Coord y) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Adds the given point to the given evas polygon object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Polygon_ga6d559daf3a5eea36a275aaf3c76c8be2}{evas\_\-object\_\-polygon\_\-points\_\-clear} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Removes all of the points from the given evas polygon object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Group_ga3501ae449533ae15eee9cbf65811cad2}{evas\_\-smart\_\-free} (\hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$s) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Free an Evas\_\-Smart. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$ \hyperlink{group__Evas__Smart__Group_ga25a97a07a32a460c8c2d55916481dd1a}{evas\_\-smart\_\-class\_\-new} (const \hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$sc) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Creates an Evas\_\-Smart from an Evas\_\-Smart\_\-Class. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$ \hyperlink{group__Evas__Smart__Group_gac41799a0e334d515fa8e07313b88c611}{evas\_\-smart\_\-class\_\-get} (const \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$s) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the Evas\_\-Smart\_\-Class of an Evas\_\-Smart. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Smart__Group_gaa88f3f98a71031573b8dfc4bfeac2f64}{evas\_\-smart\_\-data\_\-get} (const \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$s) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the data pointer set on an Evas\_\-Smart. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void \hyperlink{group__Evas__Smart__Object__Group_gaffa3573bd0f16f3eb21c3da8122194f7}{evas\_\-object\_\-smart\_\-member\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Removes a member object from a smart object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Smart__Object__Group_gaee8228f86a2a896112b3dbfe09d83511}{evas\_\-object\_\-smart\_\-parent\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Gets the smart parent of an Evas\_\-Object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{Evas_8h_afa903e37a9f98f80f1d73996cf5354cc}{evas\_\-object\_\-smart\_\-members\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Gets the list of the member objects of an Evas\_\-Object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$ \hyperlink{group__Evas__Smart__Object__Group_gab1423d63011d7f3679c95ea1638fa714}{evas\_\-object\_\-smart\_\-smart\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the Evas\_\-Smart from which {\ttfamily obj} was created. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Smart__Object__Group_gad77ac4b3dcb2929ff7d02e76a26e272a}{evas\_\-object\_\-smart\_\-data\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieve user data stored on a smart object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_gae40928b2993cc169e606820ae21dbb6e}{evas\_\-object\_\-smart\_\-data\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, void $\ast$data) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Store a pointer to user data for a smart object. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void EAPI void EAPI Eina\_\-Bool \hyperlink{group__Evas__Smart__Object__Group_gaf724dbb075cdaf2b4b44dd883b792dc3}{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const \hyperlink{struct__Evas__Smart__Cb__Description}{Evas\_\-Smart\_\-Cb\_\-Description} $\ast$descriptions) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set smart object instance callbacks descriptions. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_gaf58d78bc21229defb9eafd541063391d}{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const \hyperlink{struct__Evas__Smart__Cb__Description}{Evas\_\-Smart\_\-Cb\_\-Description} $\ast$$\ast$$\ast$class\_\-descriptions, unsigned int $\ast$class\_\-count, const \hyperlink{struct__Evas__Smart__Cb__Description}{Evas\_\-Smart\_\-Cb\_\-Description} $\ast$$\ast$$\ast$instance\_\-descriptions, unsigned int $\ast$instance\_\-count) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Get the callbacks descriptions known by this smart object. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void \hyperlink{group__Evas__Smart__Object__Group_ga20b3bce805c272f3d11f4ba0ae952dc6}{evas\_\-object\_\-smart\_\-changed} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Mark smart object as changed, dirty. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_ga58c34092eac9bfe6878b8e6ebc026de1}{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool value) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the need\_\-recalculate flag of given smart object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Smart__Object__Group_ga38be19a4f09b071b3d984996b8f9b3ee}{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the current value of need\_\-recalculate flag. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_ga8013936b96d99d2ff375ca2b0b287f39}{evas\_\-object\_\-smart\_\-calculate} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Call user provided calculate() and unset need\_\-calculate. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_gaa30fa648297b723a73f28632d1dbec62}{evas\_\-smart\_\-objects\_\-calculate} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Call user provided calculate() and unset need\_\-calculate on all objects. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Smart__Object__Clipped_ga27b74fdbecd5d915c9ec832199048907}{evas\_\-object\_\-smart\_\-clipped\_\-clipper\_\-get} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the clipper object for the given clipped smart object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Clipped_ga3725ce3a781c93120637ad6a58f6e628}{evas\_\-object\_\-smart\_\-clipped\_\-smart\_\-set} (\hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$sc) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set smart class callbacks so it implements the \char`\"{}Clipped Smart Object\char`\"{}. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$ \hyperlink{group__Evas__Smart__Object__Clipped_ga83e064112f527be0c2156c425562a57c}{evas\_\-object\_\-smart\_\-clipped\_\-class\_\-get} (void) EINA\_\-CONST\label{group__Evas__Smart__Object__Clipped_ga83e064112f527be0c2156c425562a57c}
+
+\begin{DoxyCompactList}\small\item\em Get a pointer to the Clipped Smart Class to use for proper inheritance. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Clipped_ga1e051786da49a712512430fcb6360c12}{evas\_\-object\_\-smart\_\-move\_\-children\_\-relative} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord dx, Evas\_\-Coord dy) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Moves all children objects relative to given offset. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_ga19c407e45de527d9400823fb1c85d0fe}{evas\_\-object\_\-box\_\-smart\_\-set} (\hyperlink{struct__Evas__Object__Box__Api}{Evas\_\-Object\_\-Box\_\-Api} $\ast$api) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set the default box {\itshape api\/} struct (Evas\_\-Object\_\-Box\_\-Api) with the default values. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{struct__Evas__Object__Box__Api}{Evas\_\-Object\_\-Box\_\-Api} $\ast$ \hyperlink{group__Evas__Object__Box_ga58da2c7328e5c8a01a8817f934d083ff}{evas\_\-object\_\-box\_\-smart\_\-class\_\-get} (void) EINA\_\-CONST\label{group__Evas__Object__Box_ga58da2c7328e5c8a01a8817f934d083ff}
+
+\begin{DoxyCompactList}\small\item\em Get Box Smart Class for inheritance purposes. \item\end{DoxyCompactList}\item 
+EAPI void EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Box_ga84e87534e6a45a725d59c0366f4e6544}{evas\_\-object\_\-box\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$evas) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Create a new box. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Box_gaf332313478211a06a09038755cf139bf}{evas\_\-object\_\-box\_\-add\_\-to} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$parent) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Create a box that is child of a given element {\itshape parent\/}. \item\end{DoxyCompactList}\item 
+EAPI void EAPI void EAPI void EAPI void EAPI void EAPI void EAPI void EAPI void EAPI void EAPI void \hyperlink{group__Evas__Object__Box_gae66fe763591e62621cf6352528d97e10}{evas\_\-object\_\-box\_\-align\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, double horizontal, double vertical) EINA\_\-ARG\_\-NONNULL(1)\label{group__Evas__Object__Box_gae66fe763591e62621cf6352528d97e10}
+
+\begin{DoxyCompactList}\small\item\em Set the alignment of the whole bounding box of contents. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gad87e3a868b14d1a28da7511f95b59673}{evas\_\-object\_\-box\_\-align\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, double $\ast$horizontal, double $\ast$vertical) EINA\_\-ARG\_\-NONNULL(1)\label{group__Evas__Object__Box_gad87e3a868b14d1a28da7511f95b59673}
+
+\begin{DoxyCompactList}\small\item\em Get alignment of the whole bounding box of contents. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_ga75ab3d2f84c328010c26a6b8d89c9c67}{evas\_\-object\_\-box\_\-padding\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Evas\_\-Coord horizontal, Evas\_\-Coord vertical) EINA\_\-ARG\_\-NONNULL(1)\label{group__Evas__Object__Box_ga75ab3d2f84c328010c26a6b8d89c9c67}
+
+\begin{DoxyCompactList}\small\item\em Set the space (padding) between cells. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gab24383f3b29c8bc78c98cd0b0f16902d}{evas\_\-object\_\-box\_\-padding\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Evas\_\-Coord $\ast$horizontal, Evas\_\-Coord $\ast$vertical) EINA\_\-ARG\_\-NONNULL(1)\label{group__Evas__Object__Box_gab24383f3b29c8bc78c98cd0b0f16902d}
+
+\begin{DoxyCompactList}\small\item\em Get the (space) padding between cells. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$EAPI \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$EAPI \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} EAPI \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} EAPI \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$EAPI Eina\_\-Bool EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Box_ga7d6a7321327f1398790d1f12cccd38f3}{evas\_\-object\_\-box\_\-remove\_\-at} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, unsigned int pos) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Remove an object from the box {\itshape o\/} which occupies position {\itshape pos\/}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Box_ga6c114f237f66c0208f0669783f671318}{evas\_\-object\_\-box\_\-remove\_\-all} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Eina\_\-Bool clear) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Remove all child objects. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Iterator $\ast$ \hyperlink{group__Evas__Object__Box_ga2a3ceff4f02512fa7f85618252eacbdc}{evas\_\-object\_\-box\_\-iterator\_\-new} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Get an iterator to walk the list of children for the box. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Accessor $\ast$ \hyperlink{group__Evas__Object__Box_gad5c5837393bd163f6cde72bde073333b}{evas\_\-object\_\-box\_\-accessor\_\-new} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Get an accessor to get random access to the list of children for the box. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Box_ga542294a74645829cd5531a8ddec32d9c}{evas\_\-object\_\-box\_\-children\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Get the list of children for the box. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Box_gad6b908faeca8fb7e16c002509a86ffab}{evas\_\-object\_\-box\_\-option\_\-property\_\-name\_\-get} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, int property) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the name of the property of the child elements of the box {\itshape o\/} whose id is {\itshape property\/}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Table_gaa8950ef1784409f64fc02345b839768d}{evas\_\-object\_\-table\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$evas) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Create a new table. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Table_gab5789072764ac24f48368182bd35d297}{evas\_\-object\_\-table\_\-add\_\-to} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$parent) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Create a table that is child of a given element {\itshape parent\/}. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga85462a0cbafd4ee4ceface6f3f69b413}{evas\_\-object\_\-table\_\-homogeneous\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Table_ga04f33e792aea51d583c3e572a35ceebe}{Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode} homogeneous) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Set how this table should layout children. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Table_ga04f33e792aea51d583c3e572a35ceebe}{Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode} \hyperlink{group__Evas__Object__Table_ga1b96719d71cb4ca89a31eb59635df387}{evas\_\-object\_\-table\_\-homogeneous\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the current layout homogeneous mode. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga6ea229f05036a9c5d30010ad40a30c66}{evas\_\-object\_\-table\_\-padding\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Evas\_\-Coord horizontal, Evas\_\-Coord vertical) EINA\_\-ARG\_\-NONNULL(1)\label{group__Evas__Object__Table_ga6ea229f05036a9c5d30010ad40a30c66}
+
+\begin{DoxyCompactList}\small\item\em Set padding between cells. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_gabe1af40fbd5e03068bc577e71939934a}{evas\_\-object\_\-table\_\-padding\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Evas\_\-Coord $\ast$horizontal, Evas\_\-Coord $\ast$vertical) EINA\_\-ARG\_\-NONNULL(1)\label{group__Evas__Object__Table_gabe1af40fbd5e03068bc577e71939934a}
+
+\begin{DoxyCompactList}\small\item\em Get padding between cells. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga7299bcee8de1f9304fa31fff43347a45}{evas\_\-object\_\-table\_\-align\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, double horizontal, double vertical) EINA\_\-ARG\_\-NONNULL(1)\label{group__Evas__Object__Table_ga7299bcee8de1f9304fa31fff43347a45}
+
+\begin{DoxyCompactList}\small\item\em Set the alignment of the whole bounding box of contents. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga7a1ff64522920c2723675ca11d723d47}{evas\_\-object\_\-table\_\-align\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, double $\ast$horizontal, double $\ast$vertical) EINA\_\-ARG\_\-NONNULL(1)\label{group__Evas__Object__Table_ga7a1ff64522920c2723675ca11d723d47}
+
+\begin{DoxyCompactList}\small\item\em Get alignment of the whole bounding box of contents. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga8f775fb97bf5da5e8a0005a89027044b}{evas\_\-object\_\-table\_\-mirrored\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Eina\_\-Bool mirrored) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Sets the mirrored mode of the table. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Table_gac008b924a1ba3b0133d0ac11b3e6af06}{evas\_\-object\_\-table\_\-mirrored\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Gets the mirrored mode of the table. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool EAPI Eina\_\-Bool EAPI void \hyperlink{group__Evas__Object__Table_gaec5a10416b76102f7e22c7b799bfac04}{evas\_\-object\_\-table\_\-clear} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Eina\_\-Bool clear) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Faster way to remove all child objects from a table object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga007c88dba9eb3b326aa67a10c143f3a9}{evas\_\-object\_\-table\_\-col\_\-row\_\-size\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, int $\ast$cols, int $\ast$rows) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Get the number of columns and rows this table takes. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Iterator $\ast$ \hyperlink{group__Evas__Object__Table_ga07d18d5708745143c4b12280a7359e71}{evas\_\-object\_\-table\_\-iterator\_\-new} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Get an iterator to walk the list of children for the table. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Accessor $\ast$ \hyperlink{group__Evas__Object__Table_gaaa6c5242faad0906b1fbf4bbc1088543}{evas\_\-object\_\-table\_\-accessor\_\-new} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Get an accessor to get random access to the list of children for the table. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Table_ga1afb562131cd3a74a130c374fcea0632}{evas\_\-object\_\-table\_\-children\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-MALLOC
+\begin{DoxyCompactList}\small\item\em Get the list of children for the table. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Table_gaeb4a9d107dde8a4c7bc60d6f97b5ec46}{evas\_\-object\_\-table\_\-child\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, unsigned short col, unsigned short row) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Get a child from the table using its coordinates. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Cserve_gab039ccd04ab2e8857a0df629b4ac0901}{evas\_\-cserve\_\-want\_\-get} (void) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves if the system wants to share bitmaps using the server. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Cserve_gab88ee4c01dbdf01fea4d8acf4a07b25f}{evas\_\-cserve\_\-connected\_\-get} (void) EINA\_\-WARN\_\-UNUSED\_\-RESULT
+\begin{DoxyCompactList}\small\item\em Retrieves if the system is connected to the server used to shae bitmaps. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Cserve_ga82fec634eb97f664e9cb3ed08358b1a2}{evas\_\-cserve\_\-stats\_\-get} (\hyperlink{struct__Evas__Cserve__Stats}{Evas\_\-Cserve\_\-Stats} $\ast$stats) EINA\_\-WARN\_\-UNUSED\_\-RESULT
+\begin{DoxyCompactList}\small\item\em Retrieves if the system wants to share bitmaps using the server. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Cserve_ga9bb7fbd93f4bc9310707549ff9427b47}{evas\_\-cserve\_\-config\_\-get} (\hyperlink{struct__Evas__Cserve__Config}{Evas\_\-Cserve\_\-Config} $\ast$config) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Retrieves the current configuration of the server. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Cserve_ga10c38a7bfb59423c2a96447b42c2aa15}{evas\_\-cserve\_\-config\_\-set} (const \hyperlink{struct__Evas__Cserve__Config}{Evas\_\-Cserve\_\-Config} $\ast$config) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Changes the configuration of the server. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Cserve_ga3129abb4410e7d6967072f14ac327daf}{evas\_\-cserve\_\-disconnect} (void)\label{group__Evas__Cserve_ga3129abb4410e7d6967072f14ac327daf}
+
+\begin{DoxyCompactList}\small\item\em Force system to disconnect from cache server. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Utils_ga50bb423e88ce97cf82cca9b316fc7a1a}{evas\_\-load\_\-error\_\-str} (\hyperlink{Evas_8h_aff351ae694a58aecd7834ef12bdf3d64}{Evas\_\-Load\_\-Error} error)
+\begin{DoxyCompactList}\small\item\em Converts the given error code into a string describing it in english. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_ga2a28c2e6ecdc72189040ae3f5bd829d0}{evas\_\-color\_\-hsv\_\-to\_\-rgb} (float h, float s, float v, int $\ast$r, int $\ast$g, int $\ast$b)
+\begin{DoxyCompactList}\small\item\em Convert a given color from HSV to RGB format. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_ga4054acb14873d5923306ddde5537171d}{evas\_\-color\_\-rgb\_\-to\_\-hsv} (int r, int g, int b, float $\ast$h, float $\ast$s, float $\ast$v)
+\begin{DoxyCompactList}\small\item\em Convert a given color from RGB to HSV format. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_ga892ffc2ac011e24a141816e0c72f7dfa}{evas\_\-color\_\-argb\_\-premul} (int a, int $\ast$r, int $\ast$g, int $\ast$b)
+\begin{DoxyCompactList}\small\item\em Pre-\/multiplies a rgb triplet by an alpha factor. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_ga520b64aa41b81e13bf7fc9f16fd2f3e5}{evas\_\-color\_\-argb\_\-unpremul} (int a, int $\ast$r, int $\ast$g, int $\ast$b)
+\begin{DoxyCompactList}\small\item\em Undo pre-\/multiplication of a rgb triplet by an alpha factor. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_gad61423a02fa7c3cb0293c3bdd5516216}{evas\_\-data\_\-argb\_\-premul} (unsigned int $\ast$data, unsigned int len)
+\begin{DoxyCompactList}\small\item\em Pre-\/multiplies data by an alpha factor. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_ga6794135ce6545bd5e16f6563043a8f18}{evas\_\-data\_\-argb\_\-unpremul} (unsigned int $\ast$data, unsigned int len)
+\begin{DoxyCompactList}\small\item\em Undo pre-\/multiplication data by an alpha factor. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Utils_ga31161605cf449d16e0ea0183509a1e3b}{evas\_\-string\_\-char\_\-next\_\-get} (const char $\ast$str, int pos, int $\ast$decoded) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Gets the next character in the string. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Utils_ga20119def41aa1f24aea7961b3fa0fd72}{evas\_\-string\_\-char\_\-prev\_\-get} (const char $\ast$str, int pos, int $\ast$decoded) EINA\_\-ARG\_\-NONNULL(1)
+\begin{DoxyCompactList}\small\item\em Gets the previous character in the string. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Utils_gaf9edd726590b1f56ca3e566ba1a2dbb2}{evas\_\-string\_\-char\_\-len\_\-get} (const char $\ast$str) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Get the length in characters of the string. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_a198d0b10861c1da456004688d3443e96}{Evas\_\-Modifier} $\ast$ \hyperlink{Evas_8h_a5c233a1e9eea970c1db0de87ff343e77}{evas\_\-key\_\-modifier\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em TO BE DOCUMENTED: \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_a791323b644ee831ead4c5d25552a0fd8}{Evas\_\-Lock} $\ast$ \hyperlink{Evas_8h_aa8af6d3610b4e937e79e761c8c4c7819}{evas\_\-key\_\-lock\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE
+\begin{DoxyCompactList}\small\item\em Returns a handle to the locks available in the system. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+These routines are used for Evas library interaction. \begin{Desc}
+\item[\hyperlink{todo__todo000005}{Todo}]check boolean return values and convert to Eina\_\-Bool 
+
+change all api to use EINA\_\-SAFETY\_\-$\ast$ 
+
+finish api documentation \end{Desc}
+
+
+\subsection{Typedef Documentation}
+\index{Evas.h@{Evas.h}!Evas\_\-Button\_\-Flags@{Evas\_\-Button\_\-Flags}}
+\index{Evas\_\-Button\_\-Flags@{Evas\_\-Button\_\-Flags}!Evas.h@{Evas.h}}
+\subsubsection[{Evas\_\-Button\_\-Flags}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf \_\-Evas\_\-Button\_\-Flags}  {\bf Evas\_\-Button\_\-Flags}}\label{Evas_8h_aae3a7dde94160cc18015784fb192bb2f}
+
+
+Flags for Mouse Button events. 
+
+Flags for Mouse Button events \index{Evas.h@{Evas.h}!Evas\_\-Callback\_\-Type@{Evas\_\-Callback\_\-Type}}
+\index{Evas\_\-Callback\_\-Type@{Evas\_\-Callback\_\-Type}!Evas.h@{Evas.h}}
+\subsubsection[{Evas\_\-Callback\_\-Type}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf \_\-Evas\_\-Callback\_\-Type}  {\bf Evas\_\-Callback\_\-Type}}\label{Evas_8h_a076b2a9b2de2b2144a4193b1d12ed448}
+
+
+Identifier of callbacks to be used with object or canvas. 
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Events_ga0147a80fc21895dc40165f208ec8cf55}{evas\_\-object\_\-event\_\-callback\_\-add()} 
+
+\hyperlink{group__Evas__Canvas__Events_ga0388995a80e8951a532fbdc63ba26c71}{evas\_\-event\_\-callback\_\-add()} The type of event to trigger the callback 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!Evas\_\-Event\_\-Flags@{Evas\_\-Event\_\-Flags}}
+\index{Evas\_\-Event\_\-Flags@{Evas\_\-Event\_\-Flags}!Evas.h@{Evas.h}}
+\subsubsection[{Evas\_\-Event\_\-Flags}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf \_\-Evas\_\-Event\_\-Flags}  {\bf Evas\_\-Event\_\-Flags}}\label{Evas_8h_a9fda4d6d744ae16549b3765df7363f95}
+
+
+Flags for Events. 
+
+Flags for Events \index{Evas.h@{Evas.h}!Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format@{Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format}}
+\index{Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format@{Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format}!Evas.h@{Evas.h}}
+\subsubsection[{Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf \_\-Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format}  {\bf Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format}}\label{Evas_8h_ae609d856d391e1d65968a137313e0eb7}
+
+
+Pixel format for import call. 
+
+See \hyperlink{group__Evas__Object__Image_gad87ced373138180afff4756fded5a4f3}{evas\_\-object\_\-image\_\-pixels\_\-import()} 
+
+\subsection{Enumeration Type Documentation}
+\index{Evas.h@{Evas.h}!\_\-Evas\_\-Alloc\_\-Error@{\_\-Evas\_\-Alloc\_\-Error}}
+\index{\_\-Evas\_\-Alloc\_\-Error@{\_\-Evas\_\-Alloc\_\-Error}!Evas.h@{Evas.h}}
+\subsubsection[{\_\-Evas\_\-Alloc\_\-Error}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Alloc\_\-Error}}\label{Evas_8h_a1adf9f604f763f2a8db12a484ca199cb}
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-ALLOC\_\-ERROR\_\-NONE@{EVAS\_\-ALLOC\_\-ERROR\_\-NONE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-ALLOC\_\-ERROR\_\-NONE@{EVAS\_\-ALLOC\_\-ERROR\_\-NONE}}\item[{\em 
+EVAS\_\-ALLOC\_\-ERROR\_\-NONE\label{Evas_8h_a1adf9f604f763f2a8db12a484ca199cba22bbdd0a96a670bbddd6789f91921af8}
+}]No allocation error. \index{EVAS\_\-ALLOC\_\-ERROR\_\-FATAL@{EVAS\_\-ALLOC\_\-ERROR\_\-FATAL}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-ALLOC\_\-ERROR\_\-FATAL@{EVAS\_\-ALLOC\_\-ERROR\_\-FATAL}}\item[{\em 
+EVAS\_\-ALLOC\_\-ERROR\_\-FATAL\label{Evas_8h_a1adf9f604f763f2a8db12a484ca199cbaba4052a7c95452ff5c6f2b615a655d8e}
+}]Allocation failed despite attempts to free up memory. \index{EVAS\_\-ALLOC\_\-ERROR\_\-RECOVERED@{EVAS\_\-ALLOC\_\-ERROR\_\-RECOVERED}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-ALLOC\_\-ERROR\_\-RECOVERED@{EVAS\_\-ALLOC\_\-ERROR\_\-RECOVERED}}\item[{\em 
+EVAS\_\-ALLOC\_\-ERROR\_\-RECOVERED\label{Evas_8h_a1adf9f604f763f2a8db12a484ca199cba5c6259613c3d063813f3b094f9d5bf8e}
+}]Allocation succeeded, but extra memory had to be found by freeing up speculative resources. \end{description}
+\end{Desc}
+
+\index{Evas.h@{Evas.h}!\_\-Evas\_\-Button\_\-Flags@{\_\-Evas\_\-Button\_\-Flags}}
+\index{\_\-Evas\_\-Button\_\-Flags@{\_\-Evas\_\-Button\_\-Flags}!Evas.h@{Evas.h}}
+\subsubsection[{\_\-Evas\_\-Button\_\-Flags}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Button\_\-Flags}}\label{Evas_8h_a9b61a9a46b5824fc358a5a8c82cda8b9}
+
+
+Flags for Mouse Button events. 
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-BUTTON\_\-NONE@{EVAS\_\-BUTTON\_\-NONE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-BUTTON\_\-NONE@{EVAS\_\-BUTTON\_\-NONE}}\item[{\em 
+EVAS\_\-BUTTON\_\-NONE\label{Evas_8h_a9b61a9a46b5824fc358a5a8c82cda8b9a9aa240f9fc1551d374f470750aa3cfbd}
+}]No extra mouse button data. \index{EVAS\_\-BUTTON\_\-DOUBLE\_\-CLICK@{EVAS\_\-BUTTON\_\-DOUBLE\_\-CLICK}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-BUTTON\_\-DOUBLE\_\-CLICK@{EVAS\_\-BUTTON\_\-DOUBLE\_\-CLICK}}\item[{\em 
+EVAS\_\-BUTTON\_\-DOUBLE\_\-CLICK\label{Evas_8h_a9b61a9a46b5824fc358a5a8c82cda8b9ad73b8998592f86a575c9722cfa3bc46d}
+}]This mouse button press was the 2nd press of a double click. \index{EVAS\_\-BUTTON\_\-TRIPLE\_\-CLICK@{EVAS\_\-BUTTON\_\-TRIPLE\_\-CLICK}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-BUTTON\_\-TRIPLE\_\-CLICK@{EVAS\_\-BUTTON\_\-TRIPLE\_\-CLICK}}\item[{\em 
+EVAS\_\-BUTTON\_\-TRIPLE\_\-CLICK\label{Evas_8h_a9b61a9a46b5824fc358a5a8c82cda8b9a530a626ac94996257011a8e2ba080a87}
+}]This mouse button press was the 3rd press of a triple click. \end{description}
+\end{Desc}
+
+\index{Evas.h@{Evas.h}!\_\-Evas\_\-Callback\_\-Type@{\_\-Evas\_\-Callback\_\-Type}}
+\index{\_\-Evas\_\-Callback\_\-Type@{\_\-Evas\_\-Callback\_\-Type}!Evas.h@{Evas.h}}
+\subsubsection[{\_\-Evas\_\-Callback\_\-Type}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Callback\_\-Type}}\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8a}
+
+
+Identifier of callbacks to be used with object or canvas. 
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Events_ga0147a80fc21895dc40165f208ec8cf55}{evas\_\-object\_\-event\_\-callback\_\-add()} 
+
+\hyperlink{group__Evas__Canvas__Events_ga0388995a80e8951a532fbdc63ba26c71}{evas\_\-event\_\-callback\_\-add()} 
+\end{DoxySeeAlso}
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-CALLBACK\_\-MOUSE\_\-IN@{EVAS\_\-CALLBACK\_\-MOUSE\_\-IN}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-MOUSE\_\-IN@{EVAS\_\-CALLBACK\_\-MOUSE\_\-IN}}\item[{\em 
+EVAS\_\-CALLBACK\_\-MOUSE\_\-IN\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af}
+}]Mouse In Event. \index{EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT@{EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT@{EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT}}\item[{\em 
+EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25}
+}]Mouse Out Event. \index{EVAS\_\-CALLBACK\_\-MOUSE\_\-DOWN@{EVAS\_\-CALLBACK\_\-MOUSE\_\-DOWN}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-MOUSE\_\-DOWN@{EVAS\_\-CALLBACK\_\-MOUSE\_\-DOWN}}\item[{\em 
+EVAS\_\-CALLBACK\_\-MOUSE\_\-DOWN\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f}
+}]Mouse Button Down Event. \index{EVAS\_\-CALLBACK\_\-MOUSE\_\-UP@{EVAS\_\-CALLBACK\_\-MOUSE\_\-UP}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-MOUSE\_\-UP@{EVAS\_\-CALLBACK\_\-MOUSE\_\-UP}}\item[{\em 
+EVAS\_\-CALLBACK\_\-MOUSE\_\-UP\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7}
+}]Mouse Button Up Event. \index{EVAS\_\-CALLBACK\_\-MOUSE\_\-MOVE@{EVAS\_\-CALLBACK\_\-MOUSE\_\-MOVE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-MOUSE\_\-MOVE@{EVAS\_\-CALLBACK\_\-MOUSE\_\-MOVE}}\item[{\em 
+EVAS\_\-CALLBACK\_\-MOUSE\_\-MOVE\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a}
+}]Mouse Move Event. \index{EVAS\_\-CALLBACK\_\-MOUSE\_\-WHEEL@{EVAS\_\-CALLBACK\_\-MOUSE\_\-WHEEL}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-MOUSE\_\-WHEEL@{EVAS\_\-CALLBACK\_\-MOUSE\_\-WHEEL}}\item[{\em 
+EVAS\_\-CALLBACK\_\-MOUSE\_\-WHEEL\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4}
+}]Mouse Wheel Event. \index{EVAS\_\-CALLBACK\_\-MULTI\_\-DOWN@{EVAS\_\-CALLBACK\_\-MULTI\_\-DOWN}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-MULTI\_\-DOWN@{EVAS\_\-CALLBACK\_\-MULTI\_\-DOWN}}\item[{\em 
+EVAS\_\-CALLBACK\_\-MULTI\_\-DOWN\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab5bb0de31eaeed655255e71ffe518b80}
+}]Multi-\/touch Down Event. \index{EVAS\_\-CALLBACK\_\-MULTI\_\-UP@{EVAS\_\-CALLBACK\_\-MULTI\_\-UP}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-MULTI\_\-UP@{EVAS\_\-CALLBACK\_\-MULTI\_\-UP}}\item[{\em 
+EVAS\_\-CALLBACK\_\-MULTI\_\-UP\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa4328f52cfb700b5c705edf7173afdd94}
+}]Multi-\/touch Up Event. \index{EVAS\_\-CALLBACK\_\-MULTI\_\-MOVE@{EVAS\_\-CALLBACK\_\-MULTI\_\-MOVE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-MULTI\_\-MOVE@{EVAS\_\-CALLBACK\_\-MULTI\_\-MOVE}}\item[{\em 
+EVAS\_\-CALLBACK\_\-MULTI\_\-MOVE\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa6d0ade7e69dc62f728fa2e29168e923f}
+}]Multi-\/touch Move Event. \index{EVAS\_\-CALLBACK\_\-FREE@{EVAS\_\-CALLBACK\_\-FREE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-FREE@{EVAS\_\-CALLBACK\_\-FREE}}\item[{\em 
+EVAS\_\-CALLBACK\_\-FREE\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24}
+}]Object Being Freed (Called after Del). \index{EVAS\_\-CALLBACK\_\-KEY\_\-DOWN@{EVAS\_\-CALLBACK\_\-KEY\_\-DOWN}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-KEY\_\-DOWN@{EVAS\_\-CALLBACK\_\-KEY\_\-DOWN}}\item[{\em 
+EVAS\_\-CALLBACK\_\-KEY\_\-DOWN\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584}
+}]Key Press Event. \index{EVAS\_\-CALLBACK\_\-KEY\_\-UP@{EVAS\_\-CALLBACK\_\-KEY\_\-UP}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-KEY\_\-UP@{EVAS\_\-CALLBACK\_\-KEY\_\-UP}}\item[{\em 
+EVAS\_\-CALLBACK\_\-KEY\_\-UP\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f}
+}]Key Release Event. \index{EVAS\_\-CALLBACK\_\-FOCUS\_\-IN@{EVAS\_\-CALLBACK\_\-FOCUS\_\-IN}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-FOCUS\_\-IN@{EVAS\_\-CALLBACK\_\-FOCUS\_\-IN}}\item[{\em 
+EVAS\_\-CALLBACK\_\-FOCUS\_\-IN\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97}
+}]Focus In Event. \index{EVAS\_\-CALLBACK\_\-FOCUS\_\-OUT@{EVAS\_\-CALLBACK\_\-FOCUS\_\-OUT}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-FOCUS\_\-OUT@{EVAS\_\-CALLBACK\_\-FOCUS\_\-OUT}}\item[{\em 
+EVAS\_\-CALLBACK\_\-FOCUS\_\-OUT\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3}
+}]Focus Out Event. \index{EVAS\_\-CALLBACK\_\-SHOW@{EVAS\_\-CALLBACK\_\-SHOW}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-SHOW@{EVAS\_\-CALLBACK\_\-SHOW}}\item[{\em 
+EVAS\_\-CALLBACK\_\-SHOW\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540}
+}]Show Event. \index{EVAS\_\-CALLBACK\_\-HIDE@{EVAS\_\-CALLBACK\_\-HIDE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-HIDE@{EVAS\_\-CALLBACK\_\-HIDE}}\item[{\em 
+EVAS\_\-CALLBACK\_\-HIDE\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7}
+}]Hide Event. \index{EVAS\_\-CALLBACK\_\-MOVE@{EVAS\_\-CALLBACK\_\-MOVE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-MOVE@{EVAS\_\-CALLBACK\_\-MOVE}}\item[{\em 
+EVAS\_\-CALLBACK\_\-MOVE\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0}
+}]Move Event. \index{EVAS\_\-CALLBACK\_\-RESIZE@{EVAS\_\-CALLBACK\_\-RESIZE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-RESIZE@{EVAS\_\-CALLBACK\_\-RESIZE}}\item[{\em 
+EVAS\_\-CALLBACK\_\-RESIZE\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21}
+}]Resize Event. \index{EVAS\_\-CALLBACK\_\-RESTACK@{EVAS\_\-CALLBACK\_\-RESTACK}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-RESTACK@{EVAS\_\-CALLBACK\_\-RESTACK}}\item[{\em 
+EVAS\_\-CALLBACK\_\-RESTACK\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145}
+}]Restack Event. \index{EVAS\_\-CALLBACK\_\-DEL@{EVAS\_\-CALLBACK\_\-DEL}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-DEL@{EVAS\_\-CALLBACK\_\-DEL}}\item[{\em 
+EVAS\_\-CALLBACK\_\-DEL\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa4471afbcbb4a754b7b0bbde00fb9a277}
+}]Object Being Deleted (called before Free). \index{EVAS\_\-CALLBACK\_\-HOLD@{EVAS\_\-CALLBACK\_\-HOLD}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-HOLD@{EVAS\_\-CALLBACK\_\-HOLD}}\item[{\em 
+EVAS\_\-CALLBACK\_\-HOLD\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa585e05307b99c361e54df68a4f341a85}
+}]Events go on/off hold. \index{EVAS\_\-CALLBACK\_\-CHANGED\_\-SIZE\_\-HINTS@{EVAS\_\-CALLBACK\_\-CHANGED\_\-SIZE\_\-HINTS}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-CHANGED\_\-SIZE\_\-HINTS@{EVAS\_\-CALLBACK\_\-CHANGED\_\-SIZE\_\-HINTS}}\item[{\em 
+EVAS\_\-CALLBACK\_\-CHANGED\_\-SIZE\_\-HINTS\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa49764394376bb2128446fe7b2bb2ccae}
+}]Size hints changed event. \index{EVAS\_\-CALLBACK\_\-IMAGE\_\-PRELOADED@{EVAS\_\-CALLBACK\_\-IMAGE\_\-PRELOADED}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-IMAGE\_\-PRELOADED@{EVAS\_\-CALLBACK\_\-IMAGE\_\-PRELOADED}}\item[{\em 
+EVAS\_\-CALLBACK\_\-IMAGE\_\-PRELOADED\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa5cd5ca5f4dcd51dd2429f020cb2dfa9e}
+}]Image as been preloaded. \index{EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-IN@{EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-IN}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-IN@{EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-IN}}\item[{\em 
+EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-IN\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1}
+}]Canvas got focus as a whole. \index{EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-OUT@{EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-OUT}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-OUT@{EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-OUT}}\item[{\em 
+EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-OUT\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f}
+}]Canvas lost focus as a whole. \index{EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-PRE@{EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-PRE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-PRE@{EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-PRE}}\item[{\em 
+EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-PRE\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3}
+}]Called just before rendering is updated on the canvas target. \index{EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-POST@{EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-POST}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-POST@{EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-POST}}\item[{\em 
+EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-POST\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1}
+}]Called just after rendering is updated on the canvas target. \index{EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-IN@{EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-IN}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-IN@{EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-IN}}\item[{\em 
+EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-IN\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa7380ca16bf87762e96309473d3d306c5}
+}]Canvas object got focus. \index{EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-OUT@{EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-OUT}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-OUT@{EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-OUT}}\item[{\em 
+EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-OUT\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa974f3364f1cee80e98bc5ff3e01d3070}
+}]Canvas object lost focus. \index{EVAS\_\-CALLBACK\_\-IMAGE\_\-UNLOADED@{EVAS\_\-CALLBACK\_\-IMAGE\_\-UNLOADED}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-IMAGE\_\-UNLOADED@{EVAS\_\-CALLBACK\_\-IMAGE\_\-UNLOADED}}\item[{\em 
+EVAS\_\-CALLBACK\_\-IMAGE\_\-UNLOADED\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aaf0a0bdf43416c9c2a80dab7d052ac3f8}
+}]Image data has been unloaded (by some mechanims in evas that throws out original image data). \index{EVAS\_\-CALLBACK\_\-LAST@{EVAS\_\-CALLBACK\_\-LAST}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-CALLBACK\_\-LAST@{EVAS\_\-CALLBACK\_\-LAST}}\item[{\em 
+EVAS\_\-CALLBACK\_\-LAST\label{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab36d452d3fcb36aa19becaf700bde529}
+}]keep as last element/sentinel -\/-\/ not really an event \end{description}
+\end{Desc}
+
+\index{Evas.h@{Evas.h}!\_\-Evas\_\-Event\_\-Flags@{\_\-Evas\_\-Event\_\-Flags}}
+\index{\_\-Evas\_\-Event\_\-Flags@{\_\-Evas\_\-Event\_\-Flags}!Evas.h@{Evas.h}}
+\subsubsection[{\_\-Evas\_\-Event\_\-Flags}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Event\_\-Flags}}\label{Evas_8h_a89ffbc5f4d2796994c8b07ef95ef3d1a}
+
+
+Flags for Events. 
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-EVENT\_\-FLAG\_\-NONE@{EVAS\_\-EVENT\_\-FLAG\_\-NONE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-EVENT\_\-FLAG\_\-NONE@{EVAS\_\-EVENT\_\-FLAG\_\-NONE}}\item[{\em 
+EVAS\_\-EVENT\_\-FLAG\_\-NONE\label{Evas_8h_a89ffbc5f4d2796994c8b07ef95ef3d1aa8c38841674b14dc2b2baec5d97d1f1cf}
+}]No fancy flags set. \index{EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-HOLD@{EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-HOLD}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-HOLD@{EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-HOLD}}\item[{\em 
+EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-HOLD\label{Evas_8h_a89ffbc5f4d2796994c8b07ef95ef3d1aa2370cbd360270536042b7cfd8c7fcd83}
+}]This event is being delivered but should be put \char`\"{}on hold\char`\"{} until the on hold flag is unset. the event should be used for informational purposes and maybe some indications visually, but not actually perform anything \index{EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-SCROLL@{EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-SCROLL}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-SCROLL@{EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-SCROLL}}\item[{\em 
+EVAS\_\-EVENT\_\-FLAG\_\-ON\_\-SCROLL\label{Evas_8h_a89ffbc5f4d2796994c8b07ef95ef3d1aa327728e91b3a2c6aa7a3fd9985bee311}
+}]This event flag indicates the event occurs while scrolling; for exameple, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything. \end{description}
+\end{Desc}
+
+\index{Evas.h@{Evas.h}!\_\-Evas\_\-Fill\_\-Spread@{\_\-Evas\_\-Fill\_\-Spread}}
+\index{\_\-Evas\_\-Fill\_\-Spread@{\_\-Evas\_\-Fill\_\-Spread}!Evas.h@{Evas.h}}
+\subsubsection[{\_\-Evas\_\-Fill\_\-Spread}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Fill\_\-Spread}}\label{Evas_8h_a830349cff0c676505905e79e1db0f738}
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-TEXTURE\_\-REFLECT@{EVAS\_\-TEXTURE\_\-REFLECT}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-TEXTURE\_\-REFLECT@{EVAS\_\-TEXTURE\_\-REFLECT}}\item[{\em 
+EVAS\_\-TEXTURE\_\-REFLECT\label{Evas_8h_a830349cff0c676505905e79e1db0f738a31a744eacb64fea060a008aafc7ff760}
+}]image fill tiling mode -\/ tiling reflects \index{EVAS\_\-TEXTURE\_\-REPEAT@{EVAS\_\-TEXTURE\_\-REPEAT}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-TEXTURE\_\-REPEAT@{EVAS\_\-TEXTURE\_\-REPEAT}}\item[{\em 
+EVAS\_\-TEXTURE\_\-REPEAT\label{Evas_8h_a830349cff0c676505905e79e1db0f738ab47a8ad83b953d575eeb18d94626d5e2}
+}]tiling repeats \index{EVAS\_\-TEXTURE\_\-RESTRICT@{EVAS\_\-TEXTURE\_\-RESTRICT}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-TEXTURE\_\-RESTRICT@{EVAS\_\-TEXTURE\_\-RESTRICT}}\item[{\em 
+EVAS\_\-TEXTURE\_\-RESTRICT\label{Evas_8h_a830349cff0c676505905e79e1db0f738a78f264dbe65169a29f4c08e62cc57136}
+}]tiling clamps -\/ range offset ignored \index{EVAS\_\-TEXTURE\_\-RESTRICT\_\-REFLECT@{EVAS\_\-TEXTURE\_\-RESTRICT\_\-REFLECT}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-TEXTURE\_\-RESTRICT\_\-REFLECT@{EVAS\_\-TEXTURE\_\-RESTRICT\_\-REFLECT}}\item[{\em 
+EVAS\_\-TEXTURE\_\-RESTRICT\_\-REFLECT\label{Evas_8h_a830349cff0c676505905e79e1db0f738a34c9c1dc969b6a96aa9d38dbf8243f85}
+}]tiling clamps and any range offset reflects \index{EVAS\_\-TEXTURE\_\-RESTRICT\_\-REPEAT@{EVAS\_\-TEXTURE\_\-RESTRICT\_\-REPEAT}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-TEXTURE\_\-RESTRICT\_\-REPEAT@{EVAS\_\-TEXTURE\_\-RESTRICT\_\-REPEAT}}\item[{\em 
+EVAS\_\-TEXTURE\_\-RESTRICT\_\-REPEAT\label{Evas_8h_a830349cff0c676505905e79e1db0f738aa837b70d06a327c423456b5344163f43}
+}]tiling clamps and any range offset repeats \index{EVAS\_\-TEXTURE\_\-PAD@{EVAS\_\-TEXTURE\_\-PAD}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-TEXTURE\_\-PAD@{EVAS\_\-TEXTURE\_\-PAD}}\item[{\em 
+EVAS\_\-TEXTURE\_\-PAD\label{Evas_8h_a830349cff0c676505905e79e1db0f738ac27f6480a50fbbc564741b6bc6423ee7}
+}]tiling extends with end values \end{description}
+\end{Desc}
+
+\index{Evas.h@{Evas.h}!\_\-Evas\_\-Load\_\-Error@{\_\-Evas\_\-Load\_\-Error}}
+\index{\_\-Evas\_\-Load\_\-Error@{\_\-Evas\_\-Load\_\-Error}!Evas.h@{Evas.h}}
+\subsubsection[{\_\-Evas\_\-Load\_\-Error}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Load\_\-Error}}\label{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5f}
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-LOAD\_\-ERROR\_\-NONE@{EVAS\_\-LOAD\_\-ERROR\_\-NONE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-LOAD\_\-ERROR\_\-NONE@{EVAS\_\-LOAD\_\-ERROR\_\-NONE}}\item[{\em 
+EVAS\_\-LOAD\_\-ERROR\_\-NONE\label{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa016233a6ae27765a3aa2759753c112ac}
+}]No error on load. \index{EVAS\_\-LOAD\_\-ERROR\_\-GENERIC@{EVAS\_\-LOAD\_\-ERROR\_\-GENERIC}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-LOAD\_\-ERROR\_\-GENERIC@{EVAS\_\-LOAD\_\-ERROR\_\-GENERIC}}\item[{\em 
+EVAS\_\-LOAD\_\-ERROR\_\-GENERIC\label{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fab9e5061c8c74bcd8a283fb7598a8b81d}
+}]A non-\/specific error occurred. \index{EVAS\_\-LOAD\_\-ERROR\_\-DOES\_\-NOT\_\-EXIST@{EVAS\_\-LOAD\_\-ERROR\_\-DOES\_\-NOT\_\-EXIST}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-LOAD\_\-ERROR\_\-DOES\_\-NOT\_\-EXIST@{EVAS\_\-LOAD\_\-ERROR\_\-DOES\_\-NOT\_\-EXIST}}\item[{\em 
+EVAS\_\-LOAD\_\-ERROR\_\-DOES\_\-NOT\_\-EXIST\label{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa0230814bb1fe9cb194e253e840aa8529}
+}]File (or file path) does not exist. \index{EVAS\_\-LOAD\_\-ERROR\_\-PERMISSION\_\-DENIED@{EVAS\_\-LOAD\_\-ERROR\_\-PERMISSION\_\-DENIED}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-LOAD\_\-ERROR\_\-PERMISSION\_\-DENIED@{EVAS\_\-LOAD\_\-ERROR\_\-PERMISSION\_\-DENIED}}\item[{\em 
+EVAS\_\-LOAD\_\-ERROR\_\-PERMISSION\_\-DENIED\label{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa17e04ec01edcabf21f33537872fb7200}
+}]Permission deinied to an existing file (or path). \index{EVAS\_\-LOAD\_\-ERROR\_\-RESOURCE\_\-ALLOCATION\_\-FAILED@{EVAS\_\-LOAD\_\-ERROR\_\-RESOURCE\_\-ALLOCATION\_\-FAILED}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-LOAD\_\-ERROR\_\-RESOURCE\_\-ALLOCATION\_\-FAILED@{EVAS\_\-LOAD\_\-ERROR\_\-RESOURCE\_\-ALLOCATION\_\-FAILED}}\item[{\em 
+EVAS\_\-LOAD\_\-ERROR\_\-RESOURCE\_\-ALLOCATION\_\-FAILED\label{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa22a36ddde85a5fd1c1f2e68d7052f6f4}
+}]Allocation of resources failure prevented load. \index{EVAS\_\-LOAD\_\-ERROR\_\-CORRUPT\_\-FILE@{EVAS\_\-LOAD\_\-ERROR\_\-CORRUPT\_\-FILE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-LOAD\_\-ERROR\_\-CORRUPT\_\-FILE@{EVAS\_\-LOAD\_\-ERROR\_\-CORRUPT\_\-FILE}}\item[{\em 
+EVAS\_\-LOAD\_\-ERROR\_\-CORRUPT\_\-FILE\label{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa7ba46c8865335ca085213b7dbf039a75}
+}]File corrupt (but was detected as a known format). \index{EVAS\_\-LOAD\_\-ERROR\_\-UNKNOWN\_\-FORMAT@{EVAS\_\-LOAD\_\-ERROR\_\-UNKNOWN\_\-FORMAT}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-LOAD\_\-ERROR\_\-UNKNOWN\_\-FORMAT@{EVAS\_\-LOAD\_\-ERROR\_\-UNKNOWN\_\-FORMAT}}\item[{\em 
+EVAS\_\-LOAD\_\-ERROR\_\-UNKNOWN\_\-FORMAT\label{Evas_8h_ac6e5fe4a54ab26d2d9ceaefff0962b5fa604b6c7bf6345c773d3083707d9f0a80}
+}]File is not a known format. \end{description}
+\end{Desc}
+
+\index{Evas.h@{Evas.h}!\_\-Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format@{\_\-Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format}}
+\index{\_\-Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format@{\_\-Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format}!Evas.h@{Evas.h}}
+\subsubsection[{\_\-Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Pixel\_\-Import\_\-Pixel\_\-Format}}\label{Evas_8h_a8f3b6286e8954884b903666f50e12b59}
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-PIXEL\_\-FORMAT\_\-NONE@{EVAS\_\-PIXEL\_\-FORMAT\_\-NONE}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-PIXEL\_\-FORMAT\_\-NONE@{EVAS\_\-PIXEL\_\-FORMAT\_\-NONE}}\item[{\em 
+EVAS\_\-PIXEL\_\-FORMAT\_\-NONE\label{Evas_8h_a8f3b6286e8954884b903666f50e12b59a38b6e0b8714c725eefee0555ec8fc8d2}
+}]No pixel format. \index{EVAS\_\-PIXEL\_\-FORMAT\_\-ARGB32@{EVAS\_\-PIXEL\_\-FORMAT\_\-ARGB32}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-PIXEL\_\-FORMAT\_\-ARGB32@{EVAS\_\-PIXEL\_\-FORMAT\_\-ARGB32}}\item[{\em 
+EVAS\_\-PIXEL\_\-FORMAT\_\-ARGB32\label{Evas_8h_a8f3b6286e8954884b903666f50e12b59a3da18654718f56c1fd90701297b4e78a}
+}]ARGB 32bit pixel format with A in the high byte per 32bit pixel word. \index{EVAS\_\-PIXEL\_\-FORMAT\_\-YUV420P\_\-601@{EVAS\_\-PIXEL\_\-FORMAT\_\-YUV420P\_\-601}!Evas.h@{Evas.h}}\index{Evas.h@{Evas.h}!EVAS\_\-PIXEL\_\-FORMAT\_\-YUV420P\_\-601@{EVAS\_\-PIXEL\_\-FORMAT\_\-YUV420P\_\-601}}\item[{\em 
+EVAS\_\-PIXEL\_\-FORMAT\_\-YUV420P\_\-601\label{Evas_8h_a8f3b6286e8954884b903666f50e12b59a42a1c5ed38b3356bb3dbbfe6ddc593b8}
+}]YUV 420 Planar format with CCIR 601 color encoding wuth contiguous planes in the order Y, U and V. \end{description}
+\end{Desc}
+
+
+
+\subsection{Function Documentation}
+\index{Evas.h@{Evas.h}!evas\_\-key\_\-lock\_\-get@{evas\_\-key\_\-lock\_\-get}}
+\index{evas\_\-key\_\-lock\_\-get@{evas\_\-key\_\-lock\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-key\_\-lock\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Lock}$\ast$ evas\_\-key\_\-lock\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_aa8af6d3610b4e937e79e761c8c4c7819}
+
+
+Returns a handle to the locks available in the system. 
+
+This is required to check for locks with the evas\_\-key\_\-lock\_\-is\_\-set function.
+
+\begin{DoxySeeAlso}{See also}
+evas\_\-key\_\-lock\_\-add 
+
+evas\_\-key\_\-lock\_\-del 
+
+evas\_\-key\_\-lock\_\-on 
+
+evas\_\-key\_\-lock\_\-off
+
+evas\_\-key\_\-lock\_\-is\_\-set 
+\end{DoxySeeAlso}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An Evas\_\-Lock handle to query the lock subsystem with evas\_\-key\_\-lock\_\-is\_\-set, or NULL on error. 
+\end{DoxyReturn}
+\index{Evas.h@{Evas.h}!evas\_\-key\_\-modifier\_\-get@{evas\_\-key\_\-modifier\_\-get}}
+\index{evas\_\-key\_\-modifier\_\-get@{evas\_\-key\_\-modifier\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-key\_\-modifier\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Modifier}$\ast$ evas\_\-key\_\-modifier\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a5c233a1e9eea970c1db0de87ff343e77}
+
+
+TO BE DOCUMENTED: 
+
+\begin{Desc}
+\item[\hyperlink{todo__todo000007}{Todo}]document key modifiers.\end{Desc}
+
+
+TO BE DOCUMENTED:
+
+This is required to check for modifiers with the evas\_\-key\_\-modifier\_\-is\_\-set function.
+
+\begin{DoxySeeAlso}{See also}
+evas\_\-key\_\-modifier\_\-add 
+
+evas\_\-key\_\-modifier\_\-del 
+
+evas\_\-key\_\-modifier\_\-on 
+
+evas\_\-key\_\-modifier\_\-off 
+
+evas\_\-key\_\-modifier\_\-is\_\-set
+\end{DoxySeeAlso}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An Evas\_\-Modifier handle to query the modifier subsystem with evas\_\-key\_\-modifier\_\-is\_\-set, or NULL on error. 
+\end{DoxyReturn}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-alpha\_\-get@{evas\_\-map\_\-alpha\_\-get}}
+\index{evas\_\-map\_\-alpha\_\-get@{evas\_\-map\_\-alpha\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-alpha\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-map\_\-alpha\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Map} $\ast$}]{ m}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_ae7de42394f26fa1e5bfc315f7d114ac3}
+
+
+get the alpha flag for map rendering 
+
+This gets the alph flag for map rendering.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to get the alpha from. Must not be NULL. \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-alpha\_\-set@{evas\_\-map\_\-alpha\_\-set}}
+\index{evas\_\-map\_\-alpha\_\-set@{evas\_\-map\_\-alpha\_\-set}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-alpha\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-alpha\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{Eina\_\-Bool}]{ enabled}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_ae1cbf087e2182e01d07979975baa9065}
+
+
+Set the alpha flag for map rendering. 
+
+This sets alpha flag for map rendering. If the object is a type that has its own alpha settings, then this will take precedence. Only image objects have this currently. Fits stops alpha blending of the map area, and is useful if you know the object and/or all sub-\/objects is 100\% solid.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to modify. Must not be NULL. \item[{\em enabled}]enable or disable alpha map rendering \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-count\_\-get@{evas\_\-map\_\-count\_\-get}}
+\index{evas\_\-map\_\-count\_\-get@{evas\_\-map\_\-count\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-count\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-map\_\-count\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Map} $\ast$}]{ m}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_acb6da0be6c78ebf89a5b25d9a0fa44fa}
+
+
+Get a maps size. 
+
+Returns the number of points in a map. Should be at least 4.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to get size. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+-\/1 on error, points otherwise. 
+\end{DoxyReturn}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-dup@{evas\_\-map\_\-dup}}
+\index{evas\_\-map\_\-dup@{evas\_\-map\_\-dup}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-dup}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Map}$\ast$ evas\_\-map\_\-dup (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Map} $\ast$}]{ m}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a25ffe0dd36fed0c9c492d636b163390a}
+
+
+Copy a previously allocated map. 
+
+This makes a duplicate of the {\ttfamily m} object and returns it.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to copy. Must not be NULL. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+newly allocated map with the same count and contents as {\ttfamily m}. 
+\end{DoxyReturn}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-free@{evas\_\-map\_\-free}}
+\index{evas\_\-map\_\-free@{evas\_\-map\_\-free}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-free (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a78ecdf799f326e1c17aae6770c06058a}
+
+
+Free a previously allocated map. 
+
+This frees a givem map {\ttfamily m} and all memory associated with it. You must NOT free a map returned by \hyperlink{Evas_8h_aa1d3f8febc923e8225f727afc08d21f2}{evas\_\-object\_\-map\_\-get()} as this is internal.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to free. \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-new@{evas\_\-map\_\-new}}
+\index{evas\_\-map\_\-new@{evas\_\-map\_\-new}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Map}$\ast$ evas\_\-map\_\-new (
+\begin{DoxyParamCaption}
+\item[{int}]{ count}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a719acc4f4792236f7031664ec450b399}
+
+
+Create map of transformation points to be later used with an evas object. 
+
+This creates a set of points (currently only 4 is supported. no other number for {\ttfamily count} will work). That is empty and ready to be modified with evas\_\-map calls.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em count}]number of points in the map. $\ast$ \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+a newly allocated map or NULL on errors.
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_a78ecdf799f326e1c17aae6770c06058a}{evas\_\-map\_\-free()} 
+
+\hyperlink{Evas_8h_a25ffe0dd36fed0c9c492d636b163390a}{evas\_\-map\_\-dup()} 
+
+\hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set()} 
+
+\hyperlink{Evas_8h_a1ce926660d27e788b469f8a202dfb84a}{evas\_\-map\_\-point\_\-image\_\-uv\_\-set()} 
+
+\hyperlink{Evas_8h_af71ab80fefb757aea040eaae33fd06e6}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full()} 
+
+\hyperlink{Evas_8h_ac2d35f2242ce06afe5b9aff79ed33487}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object()}
+
+\hyperlink{Evas_8h_a4c06097f01adc414be05470a3528adca}{evas\_\-object\_\-map\_\-set()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-point\_\-color\_\-get@{evas\_\-map\_\-point\_\-color\_\-get}}
+\index{evas\_\-map\_\-point\_\-color\_\-get@{evas\_\-map\_\-point\_\-color\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-point\_\-color\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-point\_\-color\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{int}]{ idx, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ g, }
+\item[{int $\ast$}]{ b, }
+\item[{int $\ast$}]{ a}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a40ae28dc015c5dad8a09ce5c6d764422}
+
+
+Get the color set on a vertex in the map. 
+
+This gets the color set by \hyperlink{Evas_8h_ae569741d778974e2825dc05cc3e68f9f}{evas\_\-map\_\-point\_\-color\_\-set()} on the given vertex of the map.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to get the color of the vertex from. \item[{\em idx}]index of point get. Must be smaller than map size. \item[{\em r}]pointer to red return \item[{\em g}]pointer to green return \item[{\em b}]pointer to blue return \item[{\em a}]pointer to alpha return (0 -\/ 255)\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set()} 
+
+\hyperlink{Evas_8h_a4c06097f01adc414be05470a3528adca}{evas\_\-object\_\-map\_\-set()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-point\_\-color\_\-set@{evas\_\-map\_\-point\_\-color\_\-set}}
+\index{evas\_\-map\_\-point\_\-color\_\-set@{evas\_\-map\_\-point\_\-color\_\-set}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-point\_\-color\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-point\_\-color\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{int}]{ idx, }
+\item[{int}]{ r, }
+\item[{int}]{ g, }
+\item[{int}]{ b, }
+\item[{int}]{ a}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_ae569741d778974e2825dc05cc3e68f9f}
+
+
+Set the color of a vertex in the map. 
+
+This sets the color of the vertex in the map. Colors will be linearly interpolated between vertex points through the map. Color will multiply the \char`\"{}texture\char`\"{} pixels (like GL\_\-MODULATE in OpenGL). The default color of a vertex in a map is white solid (255, 255, 255, 255) which means it will have no affect on modifying the texture pixels.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change the color of. \item[{\em idx}]index of point to change. Must be smaller than map size. \item[{\em r}]red (0 -\/ 255) \item[{\em g}]green (0 -\/ 255) \item[{\em b}]blue (0 -\/ 255) \item[{\em a}]alpha (0 -\/ 255)\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_a1ea4919339773a113dece07f1335d6ac}{evas\_\-map\_\-util\_\-points\_\-color\_\-set()} 
+
+\hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set()} 
+
+\hyperlink{Evas_8h_a4c06097f01adc414be05470a3528adca}{evas\_\-object\_\-map\_\-set()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-point\_\-coord\_\-get@{evas\_\-map\_\-point\_\-coord\_\-get}}
+\index{evas\_\-map\_\-point\_\-coord\_\-get@{evas\_\-map\_\-point\_\-coord\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-point\_\-coord\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-point\_\-coord\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{int}]{ idx, }
+\item[{Evas\_\-Coord $\ast$}]{ x, }
+\item[{Evas\_\-Coord $\ast$}]{ y, }
+\item[{Evas\_\-Coord $\ast$}]{ z}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_ab8640a9b915b7c6f33f96782bb23e939}
+
+
+Get the map point's coordinate. 
+
+This returns the coordinates of the given point in the map.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to query point. \item[{\em idx}]index of point to query. Must be smaller than map size. \item[{\em x}]where to return the X coordinate. \item[{\em y}]where to return the Y coordinate. \item[{\em z}]where to return the Z coordinate. \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-point\_\-coord\_\-set@{evas\_\-map\_\-point\_\-coord\_\-set}}
+\index{evas\_\-map\_\-point\_\-coord\_\-set@{evas\_\-map\_\-point\_\-coord\_\-set}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-point\_\-coord\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-point\_\-coord\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{int}]{ idx, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y, }
+\item[{Evas\_\-Coord}]{ z}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}
+
+
+Change the map point's coordinate. 
+
+This sets the fixen point's coordinate in the map. Note that points describe the outline of a quadrangle and are ordered either clockwise or anit-\/clock-\/wise. It is suggested to keep your quadrangles concave and non-\/complex, though these polygon modes may work, they may not render a desired set of output. The quadrangle will use points 0 and 1 , 1 and 2, 2 and 3, and 3 and 0 to describe the edges of the quandrangle.
+
+The X and Y and Z coordinates are in canvas units. Z is optional and may or may not be honored in drawing. Z is a hint and does not affect the X and Y rendered coordinates. It may be used for calculating fills with perspective correct rendering.
+
+Remember all coordinates are canvas global ones like with move and reize in evas.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change point. Must not be {\ttfamily NULL}. \item[{\em idx}]index of point to change. Must be smaller than map size. \item[{\em x}]Point X Coordinate \item[{\em y}]Point Y Coordinate \item[{\em z}]Point Z Coordinate hint (pre-\/perspective transform)\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_ad5bceb379d28374c62579b1969ce5080}{evas\_\-map\_\-util\_\-rotate()} 
+
+\hyperlink{Evas_8h_a986dd1010c757910b4520527f229d3b5}{evas\_\-map\_\-util\_\-zoom()} 
+
+\hyperlink{Evas_8h_af71ab80fefb757aea040eaae33fd06e6}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full()} 
+
+\hyperlink{Evas_8h_ac2d35f2242ce06afe5b9aff79ed33487}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-point\_\-image\_\-uv\_\-get@{evas\_\-map\_\-point\_\-image\_\-uv\_\-get}}
+\index{evas\_\-map\_\-point\_\-image\_\-uv\_\-get@{evas\_\-map\_\-point\_\-image\_\-uv\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-point\_\-image\_\-uv\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-point\_\-image\_\-uv\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{int}]{ idx, }
+\item[{double $\ast$}]{ u, }
+\item[{double $\ast$}]{ v}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_ab993d154039532e6105d2c1ea23133fc}
+
+
+Get the map point's U and V texture source points. 
+
+This returns the texture points set by \hyperlink{Evas_8h_a1ce926660d27e788b469f8a202dfb84a}{evas\_\-map\_\-point\_\-image\_\-uv\_\-set()}.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to query point. \item[{\em idx}]index of point to query. Must be smaller than map size. \item[{\em u}]where to write the X coordinate within the image/texture source \item[{\em v}]where to write the Y coordinate within the image/texture source \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-point\_\-image\_\-uv\_\-set@{evas\_\-map\_\-point\_\-image\_\-uv\_\-set}}
+\index{evas\_\-map\_\-point\_\-image\_\-uv\_\-set@{evas\_\-map\_\-point\_\-image\_\-uv\_\-set}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-point\_\-image\_\-uv\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-point\_\-image\_\-uv\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{int}]{ idx, }
+\item[{double}]{ u, }
+\item[{double}]{ v}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a1ce926660d27e788b469f8a202dfb84a}
+
+
+Change the map point's U and V texture source point. 
+
+This sets the U and V coordinates for the point. This determines which coordinate in the source image is mapped to the given point, much like OpenGL and textures. Notes that these points do select the pixel, but are double floating point values to allow for accuracy and sub-\/pixel selection.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change the point of. \item[{\em idx}]index of point to change. Must be smaller than map size. \item[{\em u}]the X coordinate within the image/texture source \item[{\em v}]the Y coordinate within the image/texture source\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set()} 
+
+\hyperlink{Evas_8h_a4c06097f01adc414be05470a3528adca}{evas\_\-object\_\-map\_\-set()} 
+
+\hyperlink{Evas_8h_af71ab80fefb757aea040eaae33fd06e6}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full()} 
+
+\hyperlink{Evas_8h_ac2d35f2242ce06afe5b9aff79ed33487}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-smooth\_\-get@{evas\_\-map\_\-smooth\_\-get}}
+\index{evas\_\-map\_\-smooth\_\-get@{evas\_\-map\_\-smooth\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-smooth\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-map\_\-smooth\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Map} $\ast$}]{ m}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_ac7693cff90eddde9f1cd5fd99d6df695}
+
+
+get the smoothing for map rendering 
+
+This gets smoothing for map rendering.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to get the smooth from. Must not be NULL. \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-smooth\_\-set@{evas\_\-map\_\-smooth\_\-set}}
+\index{evas\_\-map\_\-smooth\_\-set@{evas\_\-map\_\-smooth\_\-set}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-smooth\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-smooth\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{Eina\_\-Bool}]{ enabled}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_ae851a2ebf0c272cf0bcb97168b625d23}
+
+
+Set the smoothing for map rendering. 
+
+This sets smoothing for map rendering. If the object is a type that has its own smoothing settings, then both the smooth settings for this object and the map must be turned off. By default smooth maps are enabled.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to modify. Must not be NULL. \item[{\em enabled}]enable or disable smooth map rendering \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-util\_\-3d\_\-lighting@{evas\_\-map\_\-util\_\-3d\_\-lighting}}
+\index{evas\_\-map\_\-util\_\-3d\_\-lighting@{evas\_\-map\_\-util\_\-3d\_\-lighting}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-util\_\-3d\_\-lighting}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-util\_\-3d\_\-lighting (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{Evas\_\-Coord}]{ lx, }
+\item[{Evas\_\-Coord}]{ ly, }
+\item[{Evas\_\-Coord}]{ lz, }
+\item[{int}]{ lr, }
+\item[{int}]{ lg, }
+\item[{int}]{ lb, }
+\item[{int}]{ ar, }
+\item[{int}]{ ag, }
+\item[{int}]{ ab}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a4dd3a3cf9091afaa87bc042b12a5685d}
+
+
+Perform lighting calculations on the given Map. 
+
+This is used to apply lighting calculations (from a single light source) to a given map. The R, G and B values of each vertex will be modified to reflect the lighting based on the lixth point coordinates, the light color and the ambient color, and at what angle the map is facing the light source. A surface should have its points be declared in a clockwise fashion if the face is \char`\"{}facing\char`\"{} towards you (as opposed to away from you) as faces have a \char`\"{}logical\char`\"{} side for lighting.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change. \item[{\em lx}]X coordinate in space of light point \item[{\em ly}]Y coordinate in space of light point \item[{\em lz}]Z coordinate in space of light point \item[{\em lr}]light red value (0 -\/ 255) \item[{\em lg}]light green value (0 -\/ 255) \item[{\em lb}]light blue value (0 -\/ 255) \item[{\em ar}]ambient color red value (0 -\/ 255) \item[{\em ag}]ambient color green value (0 -\/ 255) \item[{\em ab}]ambient color blue value (0 -\/ 255) \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-util\_\-3d\_\-perspective@{evas\_\-map\_\-util\_\-3d\_\-perspective}}
+\index{evas\_\-map\_\-util\_\-3d\_\-perspective@{evas\_\-map\_\-util\_\-3d\_\-perspective}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-util\_\-3d\_\-perspective}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-util\_\-3d\_\-perspective (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{Evas\_\-Coord}]{ px, }
+\item[{Evas\_\-Coord}]{ py, }
+\item[{Evas\_\-Coord}]{ z0, }
+\item[{Evas\_\-Coord}]{ foc}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a14c467420d169d666865cdb31746728d}
+
+
+Apply a perspective transform to the map. 
+
+This applies a given perspective (3D) to the map coordinates. X, Y and Z values are used. The px and py points specify the \char`\"{}infinite distance\char`\"{} point in the 3D conversion (where all lines converge to like when artists draw 3D by hand). The {\ttfamily z0} value specifis the z value at which there is a 1:1 mapping between spatial coorinates and screen coordinates. Any points on this z value will not have their X and Y values modified in the transform. Those further away (Z value higher) will shrink into the distance, and those less than this value will expand and become bigger. The {\ttfamily foc} value determines the \char`\"{}focal length\char`\"{} of the camera. This is in reality the distance between the camera lens plane itself (at or closer than this rendering results are undefined) and the \char`\"{}z0\char`\"{} z value. This allows for some \char`\"{}depth\char`\"{} control and {\ttfamily foc} must be greater than 0.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change. \item[{\em px}]The pespective distance X coordinate \item[{\em py}]The pespective distance Y coordinate \item[{\em z0}]The \char`\"{}0\char`\"{} z plane value \item[{\em foc}]The focal distance \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-util\_\-3d\_\-rotate@{evas\_\-map\_\-util\_\-3d\_\-rotate}}
+\index{evas\_\-map\_\-util\_\-3d\_\-rotate@{evas\_\-map\_\-util\_\-3d\_\-rotate}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-util\_\-3d\_\-rotate}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-util\_\-3d\_\-rotate (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{double}]{ dx, }
+\item[{double}]{ dy, }
+\item[{double}]{ dz, }
+\item[{Evas\_\-Coord}]{ cx, }
+\item[{Evas\_\-Coord}]{ cy, }
+\item[{Evas\_\-Coord}]{ cz}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a4118dedc011bd94a35d03251c7bef5ed}
+
+
+Rotate the map around 3 axes in 3D. 
+
+This will rotate not just around the \char`\"{}Z\char`\"{} axis as in \hyperlink{Evas_8h_ad5bceb379d28374c62579b1969ce5080}{evas\_\-map\_\-util\_\-rotate()} (which is a convenience call for those only wanting 2D). This will rotate around the X, Y and Z axes. The Z axis points \char`\"{}into\char`\"{} the screen with low values at the screen and higher values further away. The X axis runs from left to right on the screen and the Y axis from top to bottom. Like with evas\_\-map\_\-util\_\-rotate(0 you provide a center point to rotate around (in 3D).
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change. \item[{\em dx}]amount of degrees from 0.0 to 360.0 to rotate arount X axis. \item[{\em dy}]amount of degrees from 0.0 to 360.0 to rotate arount Y axis. \item[{\em dz}]amount of degrees from 0.0 to 360.0 to rotate arount Z axis. \item[{\em cx}]rotation's center horizontal position. \item[{\em cy}]rotation's center vertical position. \item[{\em cz}]rotation's center vertical position. \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-util\_\-clockwise\_\-get@{evas\_\-map\_\-util\_\-clockwise\_\-get}}
+\index{evas\_\-map\_\-util\_\-clockwise\_\-get@{evas\_\-map\_\-util\_\-clockwise\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-util\_\-clockwise\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-map\_\-util\_\-clockwise\_\-get (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a4e7cd972cac5507838c9827ef04b2607}
+
+
+Get the clockwise state of a map. 
+
+This determines if the output points (X and Y. Z is not used) are clockwise or anti-\/clockwise. This can be used for \char`\"{}back-\/face culling\char`\"{}. This is where you hide objects that \char`\"{}face away\char`\"{} from you. In this case objects that are not clockwise.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to query. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+1 if clockwise, 0 otherwise 
+\end{DoxyReturn}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-util\_\-points\_\-color\_\-set@{evas\_\-map\_\-util\_\-points\_\-color\_\-set}}
+\index{evas\_\-map\_\-util\_\-points\_\-color\_\-set@{evas\_\-map\_\-util\_\-points\_\-color\_\-set}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-util\_\-points\_\-color\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-util\_\-points\_\-color\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{int}]{ r, }
+\item[{int}]{ g, }
+\item[{int}]{ b, }
+\item[{int}]{ a}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a1ea4919339773a113dece07f1335d6ac}
+
+
+Set color of all points to given color. 
+
+This call is useful to reuse maps after they had 3d lightning or any other colorization applied before.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change the color of. \item[{\em r}]red (0 -\/ 255) \item[{\em g}]green (0 -\/ 255) \item[{\em b}]blue (0 -\/ 255) \item[{\em a}]alpha (0 -\/ 255)\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_ae569741d778974e2825dc05cc3e68f9f}{evas\_\-map\_\-point\_\-color\_\-set()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-geometry@{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-geometry}}
+\index{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-geometry@{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-geometry}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-geometry}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-geometry (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y, }
+\item[{Evas\_\-Coord}]{ w, }
+\item[{Evas\_\-Coord}]{ h, }
+\item[{Evas\_\-Coord}]{ z}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_adb28b64c445931d92eeeab2c3fb52286}
+
+
+Populate source and destination map points to match given geometry. 
+
+Similar to \hyperlink{Evas_8h_af71ab80fefb757aea040eaae33fd06e6}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full()}, this call takes raw values instead of querying object's unmapped geometry. The given width will be used to calculate destination points (\hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set()}) and set the image uv (\hyperlink{Evas_8h_a1ce926660d27e788b469f8a202dfb84a}{evas\_\-map\_\-point\_\-image\_\-uv\_\-set()}).
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change all 4 points (must be of size 4). \item[{\em x}]Point X Coordinate \item[{\em y}]Point Y Coordinate \item[{\em w}]width to use to calculate second and third points. \item[{\em h}]height to use to calculate third and fourth points. \item[{\em z}]Point Z Coordinate hint (pre-\/perspective transform). This value will be used for all four points.\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_ac2d35f2242ce06afe5b9aff79ed33487}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object()} 
+
+\hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set()} 
+
+\hyperlink{Evas_8h_a1ce926660d27e788b469f8a202dfb84a}{evas\_\-map\_\-point\_\-image\_\-uv\_\-set()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object@{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object}}
+\index{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object@{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_ac2d35f2242ce06afe5b9aff79ed33487}
+
+
+Populate source and destination map points to match exactly object. 
+
+Usually one initialize map of an object to match it's original position and size, then transform these with evas\_\-map\_\-util\_\-$\ast$ functions, such as \hyperlink{Evas_8h_ad5bceb379d28374c62579b1969ce5080}{evas\_\-map\_\-util\_\-rotate()} or \hyperlink{Evas_8h_a4118dedc011bd94a35d03251c7bef5ed}{evas\_\-map\_\-util\_\-3d\_\-rotate()}. The original set is done by this function, avoiding code duplication all around.
+
+Z Point coordinate is assumed as 0 (zero).
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change all 4 points (must be of size 4). \item[{\em obj}]object to use unmapped geometry to populate map coordinates.\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_af71ab80fefb757aea040eaae33fd06e6}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full()} 
+
+\hyperlink{Evas_8h_adb28b64c445931d92eeeab2c3fb52286}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-geometry()} 
+
+\hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set()} 
+
+\hyperlink{Evas_8h_a1ce926660d27e788b469f8a202dfb84a}{evas\_\-map\_\-point\_\-image\_\-uv\_\-set()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full@{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full}}
+\index{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full@{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object\_\-full (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ z}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_af71ab80fefb757aea040eaae33fd06e6}
+
+
+Populate source and destination map points to match exactly object. 
+
+Usually one initialize map of an object to match it's original position and size, then transform these with evas\_\-map\_\-util\_\-$\ast$ functions, such as \hyperlink{Evas_8h_ad5bceb379d28374c62579b1969ce5080}{evas\_\-map\_\-util\_\-rotate()} or \hyperlink{Evas_8h_a4118dedc011bd94a35d03251c7bef5ed}{evas\_\-map\_\-util\_\-3d\_\-rotate()}. The original set is done by this function, avoiding code duplication all around.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change all 4 points (must be of size 4). \item[{\em obj}]object to use unmapped geometry to populate map coordinates. \item[{\em z}]Point Z Coordinate hint (pre-\/perspective transform). This value will be used for all four points.\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_ac2d35f2242ce06afe5b9aff79ed33487}{evas\_\-map\_\-util\_\-points\_\-populate\_\-from\_\-object()} 
+
+\hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set()} 
+
+\hyperlink{Evas_8h_a1ce926660d27e788b469f8a202dfb84a}{evas\_\-map\_\-point\_\-image\_\-uv\_\-set()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-util\_\-rotate@{evas\_\-map\_\-util\_\-rotate}}
+\index{evas\_\-map\_\-util\_\-rotate@{evas\_\-map\_\-util\_\-rotate}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-util\_\-rotate}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-util\_\-rotate (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{double}]{ degrees, }
+\item[{Evas\_\-Coord}]{ cx, }
+\item[{Evas\_\-Coord}]{ cy}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_ad5bceb379d28374c62579b1969ce5080}
+
+
+Change the map to apply the given rotation. 
+
+This rotates the indicated map's coordinates around the center coordinate given by {\ttfamily cx} and {\ttfamily cy} as the rotation center. The points will have their X and Y coordinates rotated clockwise by {\ttfamily degrees} degress (360.0 is a full rotation). Negative values for degrees will rotate counter-\/clockwise by that amount. All coordinates are canvas global coordinates.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change. \item[{\em degrees}]amount of degrees from 0.0 to 360.0 to rotate. \item[{\em cx}]rotation's center horizontal position. \item[{\em cy}]rotation's center vertical position.\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set()} 
+
+\hyperlink{Evas_8h_a986dd1010c757910b4520527f229d3b5}{evas\_\-map\_\-util\_\-zoom()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-map\_\-util\_\-zoom@{evas\_\-map\_\-util\_\-zoom}}
+\index{evas\_\-map\_\-util\_\-zoom@{evas\_\-map\_\-util\_\-zoom}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-map\_\-util\_\-zoom}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-map\_\-util\_\-zoom (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Map} $\ast$}]{ m, }
+\item[{double}]{ zoomx, }
+\item[{double}]{ zoomy, }
+\item[{Evas\_\-Coord}]{ cx, }
+\item[{Evas\_\-Coord}]{ cy}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a986dd1010c757910b4520527f229d3b5}
+
+
+Change the map to apply the given zooming. 
+
+Like \hyperlink{Evas_8h_ad5bceb379d28374c62579b1969ce5080}{evas\_\-map\_\-util\_\-rotate()}, this zooms the points of the map from a center point. That center is defined by {\ttfamily cx} and {\ttfamily cy}. The {\ttfamily zoomx} and {\ttfamily zoomy} parameters specific how much to zoom in the X and Y direction respectively. A value of 1.0 means \char`\"{}don't zoom\char`\"{}. 2.0 means \char`\"{}dobule the size\char`\"{}. 0.5 is \char`\"{}half the size\char`\"{} etc. All coordinates are canvas global coordinates.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em m}]map to change. \item[{\em zoomx}]horizontal zoom to use. \item[{\em zoomy}]vertical zoom to use. \item[{\em cx}]zooming center horizontal position. \item[{\em cy}]zooming center vertical position.\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_acc9bdfa50e0344928f070aef0cf7a8b7}{evas\_\-map\_\-point\_\-coord\_\-set()} 
+
+\hyperlink{Evas_8h_ad5bceb379d28374c62579b1969ce5080}{evas\_\-map\_\-util\_\-rotate()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-object\_\-map\_\-enable\_\-get@{evas\_\-object\_\-map\_\-enable\_\-get}}
+\index{evas\_\-object\_\-map\_\-enable\_\-get@{evas\_\-object\_\-map\_\-enable\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-object\_\-map\_\-enable\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-map\_\-enable\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a9fe49ea6c0508408d3f0c4bc6b790084}
+
+
+Get the map enabled state. 
+
+This returns the currently enabled state of the map on the object indicated. The default map enable state is off. You can enable and disable it with \hyperlink{Evas_8h_acee7a5f7bbb804b406405e9199d5a900}{evas\_\-object\_\-map\_\-enable\_\-set()}.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]object to get the map enabled state from \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the map enabled state 
+\end{DoxyReturn}
+\index{Evas.h@{Evas.h}!evas\_\-object\_\-map\_\-enable\_\-set@{evas\_\-object\_\-map\_\-enable\_\-set}}
+\index{evas\_\-object\_\-map\_\-enable\_\-set@{evas\_\-object\_\-map\_\-enable\_\-set}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-object\_\-map\_\-enable\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-map\_\-enable\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ enabled}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_acee7a5f7bbb804b406405e9199d5a900}
+
+
+Enable or disable the map that is set. 
+
+This enables the map that is set or disables it. On enable, the object geometry will be saved, and the new geometry will change (position and size) to reflect the map geometry set. If none is set yet, this may be an undefined geometry, unless you have already set the map with \hyperlink{Evas_8h_a4c06097f01adc414be05470a3528adca}{evas\_\-object\_\-map\_\-set()}. It is suggested you first set a map with \hyperlink{Evas_8h_a4c06097f01adc414be05470a3528adca}{evas\_\-object\_\-map\_\-set()} with valid useful coordinates then enable and disable the map with \hyperlink{Evas_8h_acee7a5f7bbb804b406405e9199d5a900}{evas\_\-object\_\-map\_\-enable\_\-set()} as needed.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]object to enable the map on \item[{\em enabled}]enabled state \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-object\_\-map\_\-get@{evas\_\-object\_\-map\_\-get}}
+\index{evas\_\-object\_\-map\_\-get@{evas\_\-object\_\-map\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-object\_\-map\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Map}$\ast$ evas\_\-object\_\-map\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_aa1d3f8febc923e8225f727afc08d21f2}
+
+
+Get current object transformation map. 
+
+This returns the current internal map set on the indicated object. It is intended for read-\/only acces and is only valid as long as the object is not deleted or the map on the object is not changed. If you wish to modify the map and set it back do the following:
+
+
+\begin{DoxyCode}
+ const Evas_Map *m = evas_object_map_get(obj);
+ Evas_Map *m2 = evas_map_dup(m);
+ evas_map_util_rotate(m2, 30.0, 0, 0);
+ evas_object_map_set(obj);
+ evas_map_free(m2);
+\end{DoxyCode}
+
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]object to query transformation map. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+map reference to map in use. This is an internal data structure, so do not modify it.
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_a4c06097f01adc414be05470a3528adca}{evas\_\-object\_\-map\_\-set()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-object\_\-map\_\-set@{evas\_\-object\_\-map\_\-set}}
+\index{evas\_\-object\_\-map\_\-set@{evas\_\-object\_\-map\_\-set}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-object\_\-map\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-map\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const {\bf Evas\_\-Map} $\ast$}]{ map}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_a4c06097f01adc414be05470a3528adca}
+
+
+Set current object transformation map. 
+
+This sets the map on a given object. It is copied from the {\ttfamily map} pointer, so there is no need to keep the {\ttfamily map} object if you don't need it anymore.
+
+A map is a set of 4 points which have canvas x, y coordinates per point, with an optional z point value as a hint for perspective correction, if it is available. As well each point has u and v coordinates. These are like \char`\"{}texture coordinates\char`\"{} in OpenGL in that they define a point in the source image that is mapped to that map vertex/point. The u corresponds to the x coordinate of this mapped point and v, the y coordinate. Note that these coordinates describe a bounding region to sample. If you have a 200x100 source image and want to display it at 200x100 with proper pixel precision, then do:
+
+
+\begin{DoxyCode}
+ Evas_Map *m = evas_map_new(4);
+ evas_map_point_coord_set(m, 0,   0,   0, 0);
+ evas_map_point_coord_set(m, 1, 200,   0, 0);
+ evas_map_point_coord_set(m, 2, 200, 100, 0);
+ evas_map_point_coord_set(m, 3,   0, 100, 0);
+ evas_map_point_image_uv_set(m, 0,   0,   0);
+ evas_map_point_image_uv_set(m, 1, 200,   0);
+ evas_map_point_image_uv_set(m, 2, 200, 100);
+ evas_map_point_image_uv_set(m, 3,   0, 100);
+ evas_object_map_set(obj, m);
+ evas_map_free(m);
+\end{DoxyCode}
+
+
+Note that the map points a uv coordinates match the image geometry. If the {\ttfamily map} parameter is NULL, the stored map will be freed and geometry prior to enabling/setting a map will be restored.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]object to change transformation map \item[{\em map}]new map to use\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_a719acc4f4792236f7031664ec450b399}{evas\_\-map\_\-new()} 
+\end{DoxySeeAlso}
+\index{Evas.h@{Evas.h}!evas\_\-object\_\-map\_\-source\_\-get@{evas\_\-object\_\-map\_\-source\_\-get}}
+\index{evas\_\-object\_\-map\_\-source\_\-get@{evas\_\-object\_\-map\_\-source\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-object\_\-map\_\-source\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-map\_\-source\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_abb0578635393c514b1c228ebb7b2eed0}
+
+
+Get the map source object. 
+
+See \hyperlink{Evas_8h_aa0daae782c23c5624ab0fc3e4f63c8f9}{evas\_\-object\_\-map\_\-source\_\-set()}
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]object to set the map source of \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the object set as the source 
+\end{DoxyReturn}
+\index{Evas.h@{Evas.h}!evas\_\-object\_\-map\_\-source\_\-set@{evas\_\-object\_\-map\_\-source\_\-set}}
+\index{evas\_\-object\_\-map\_\-source\_\-set@{evas\_\-object\_\-map\_\-source\_\-set}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-object\_\-map\_\-source\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-map\_\-source\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ src}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_aa0daae782c23c5624ab0fc3e4f63c8f9}
+
+
+Set the map source object. 
+
+This sets the object from which the map is taken -\/ can be any object that has map enabled on it.
+
+Currently not implemented. for future use.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]object to set the map source of \item[{\em src}]the source object from which the map is taken \end{DoxyParams}
+\index{Evas.h@{Evas.h}!evas\_\-object\_\-smart\_\-members\_\-get@{evas\_\-object\_\-smart\_\-members\_\-get}}
+\index{evas\_\-object\_\-smart\_\-members\_\-get@{evas\_\-object\_\-smart\_\-members\_\-get}!Evas.h@{Evas.h}}
+\subsubsection[{evas\_\-object\_\-smart\_\-members\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-List$\ast$ evas\_\-object\_\-smart\_\-members\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{Evas_8h_afa903e37a9f98f80f1d73996cf5354cc}
+
+
+Gets the list of the member objects of an Evas\_\-Object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the Evas\_\-Object you want to get the list of member objects \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns the list of the member objects of {\itshape obj\/}. The returned list should be freed with eina\_\-list\_\-free() when you no longer need it 
+\end{DoxyReturn}
diff --git a/doc/latex/annotated.tex b/doc/latex/annotated.tex
new file mode 100644 (file)
index 0000000..c414fad
--- /dev/null
@@ -0,0 +1,25 @@
+\section{Data Structures}
+Here are the data structures with brief descriptions:\begin{DoxyCompactList}
+\item\contentsline{section}{\hyperlink{struct__Evas__Coord__Rectangle}{\_\-Evas\_\-Coord\_\-Rectangle} ($<$ A rectangle in Evas\_\-Coord )}{\pageref{struct__Evas__Coord__Rectangle}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Cserve__Config}{\_\-Evas\_\-Cserve\_\-Config} (Configuration that controls the server that shares cached bitmaps )}{\pageref{struct__Evas__Cserve__Config}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Cserve__Image}{\_\-Evas\_\-Cserve\_\-Image} (An image shared by the server )}{\pageref{struct__Evas__Cserve__Image}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Cserve__Image__Cache}{\_\-Evas\_\-Cserve\_\-Image\_\-Cache} (Cache of images shared by server )}{\pageref{struct__Evas__Cserve__Image__Cache}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Cserve__Stats}{\_\-Evas\_\-Cserve\_\-Stats} (Statistics about server that shares cached bitmaps )}{\pageref{struct__Evas__Cserve__Stats}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Engine__Info}{\_\-Evas\_\-Engine\_\-Info} (Generic engine information )}{\pageref{struct__Evas__Engine__Info}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Hold}{\_\-Evas\_\-Event\_\-Hold} (Hold change event )}{\pageref{struct__Evas__Event__Hold}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Key__Down}{\_\-Evas\_\-Event\_\-Key\_\-Down} (Key press event )}{\pageref{struct__Evas__Event__Key__Down}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Key__Up}{\_\-Evas\_\-Event\_\-Key\_\-Up} (Key release event )}{\pageref{struct__Evas__Event__Key__Up}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Mouse__Down}{\_\-Evas\_\-Event\_\-Mouse\_\-Down} (Mouse button press event )}{\pageref{struct__Evas__Event__Mouse__Down}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Mouse__In}{\_\-Evas\_\-Event\_\-Mouse\_\-In} (Mouse enter event )}{\pageref{struct__Evas__Event__Mouse__In}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Mouse__Move}{\_\-Evas\_\-Event\_\-Mouse\_\-Move} (Mouse button down event )}{\pageref{struct__Evas__Event__Mouse__Move}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Mouse__Out}{\_\-Evas\_\-Event\_\-Mouse\_\-Out} (Mouse leave event )}{\pageref{struct__Evas__Event__Mouse__Out}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Mouse__Up}{\_\-Evas\_\-Event\_\-Mouse\_\-Up} (Mouse button release event )}{\pageref{struct__Evas__Event__Mouse__Up}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Mouse__Wheel}{\_\-Evas\_\-Event\_\-Mouse\_\-Wheel} (Wheel event )}{\pageref{struct__Evas__Event__Mouse__Wheel}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Multi__Down}{\_\-Evas\_\-Event\_\-Multi\_\-Down} (Multi button press event )}{\pageref{struct__Evas__Event__Multi__Down}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Multi__Move}{\_\-Evas\_\-Event\_\-Multi\_\-Move} (Multi button down event )}{\pageref{struct__Evas__Event__Multi__Move}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Event__Multi__Up}{\_\-Evas\_\-Event\_\-Multi\_\-Up} (Multi button release event )}{\pageref{struct__Evas__Event__Multi__Up}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Object__Box__Api}{\_\-Evas\_\-Object\_\-Box\_\-Api} (This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with \hyperlink{group__Evas__Object__Box_ga2116d23c11ab08d7c50cbcb588de5570}{evas\_\-object\_\-box\_\-layout\_\-set()} )}{\pageref{struct__Evas__Object__Box__Api}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Object__Box__Data}{\_\-Evas\_\-Object\_\-Box\_\-Data} (This structure augments clipped smart object's instance data, providing extra members required by generic box implementation )}{\pageref{struct__Evas__Object__Box__Data}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Smart__Cb__Description}{\_\-Evas\_\-Smart\_\-Cb\_\-Description} (Describes a callback used by a smart class \hyperlink{group__Evas__Smart__Object__Group_ga17bbe660f5bf9d8997913b08882f6f9e}{evas\_\-object\_\-smart\_\-callback\_\-call()}, particularly useful to explain to user and its code (ie: introspection) what the parameter {\ttfamily event\_\-info} will contain )}{\pageref{struct__Evas__Smart__Cb__Description}}{}
+\item\contentsline{section}{\hyperlink{struct__Evas__Smart__Class}{\_\-Evas\_\-Smart\_\-Class} (Smart object class )}{\pageref{struct__Evas__Smart__Class}}{}
+\end{DoxyCompactList}
diff --git a/doc/latex/doxygen.sty b/doc/latex/doxygen.sty
new file mode 100644 (file)
index 0000000..00db11f
--- /dev/null
@@ -0,0 +1,356 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{doxygen}
+
+% Packages used by this style file
+\RequirePackage{alltt}
+\RequirePackage{array}
+\RequirePackage{calc}
+\RequirePackage{color}
+\RequirePackage{fancyhdr}
+\RequirePackage{verbatim}
+
+% Setup fancy headings
+\pagestyle{fancyplain}
+\newcommand{\clearemptydoublepage}{%
+  \newpage{\pagestyle{empty}\cleardoublepage}%
+}
+\renewcommand{\chaptermark}[1]{%
+  \markboth{#1}{}%
+}
+\renewcommand{\sectionmark}[1]{%
+  \markright{\thesection\ #1}%
+}
+\lhead[\fancyplain{}{\bfseries\thepage}]{%
+  \fancyplain{}{\bfseries\rightmark}%
+}
+\rhead[\fancyplain{}{\bfseries\leftmark}]{%
+  \fancyplain{}{\bfseries\thepage}%
+}
+\rfoot[\fancyplain{}{\bfseries\scriptsize%
+  Generated on Tue Apr 19 2011 18:18:29 for Evas by Doxygen }]{}
+\lfoot[]{\fancyplain{}{\bfseries\scriptsize%
+  Generated on Tue Apr 19 2011 18:18:29 for Evas by Doxygen }}
+\cfoot{}
+
+%---------- Internal commands used in this style file ----------------
+
+% Generic environment used by all paragraph-based environments defined
+% below. Note that the command \title{...} needs to be defined inside
+% those environments!
+\newenvironment{DoxyDesc}[1]{%
+  \begin{list}{}%
+  {%
+    \settowidth{\labelwidth}{40pt}%
+    \setlength{\leftmargin}{\labelwidth}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\itemsep}{-4pt}%
+    \renewcommand{\makelabel}{\entrylabel}%
+  }%
+  \item[#1]%
+}{%
+  \end{list}%
+}
+
+%---------- Commands used by doxygen LaTeX output generator ----------
+
+% Used by <pre> ... </pre>
+\newenvironment{DoxyPre}{%
+  \small%
+  \begin{alltt}%
+}{%
+  \end{alltt}%
+  \normalsize%
+}
+
+% Used by @code ... @endcode
+\newenvironment{DoxyCode}{%
+  \footnotesize%
+  \verbatim%
+}{%
+  \endverbatim%
+  \normalsize%
+}
+
+% Used by @example, @include, @includelineno and @dontinclude
+\newenvironment{DoxyCodeInclude}{%
+  \DoxyCode%
+}{%
+  \endDoxyCode%
+}
+
+% Used by @verbatim ... @endverbatim
+\newenvironment{DoxyVerb}{%
+  \footnotesize%
+  \verbatim%
+}{%
+  \endverbatim%
+  \normalsize%
+}
+
+% Used by @verbinclude
+\newenvironment{DoxyVerbInclude}{%
+  \DoxyVerb%
+}{%
+  \endDoxyVerb%
+}
+
+% Used by numbered lists (using '-#' or <ol> ... </ol>)
+\newenvironment{DoxyEnumerate}{%
+  \enumerate%
+}{%
+  \endenumerate%
+}
+
+% Used by bullet lists (using '-', @li, @arg, or <ul> ... </ul>)
+\newenvironment{DoxyItemize}{%
+  \itemize%
+}{%
+  \enditemize%
+}
+
+% Used by description lists (using <dl> ... </dl>)
+\newenvironment{DoxyDescription}{%
+  \description%
+}{%
+  \enddescription%
+}
+
+% Used by @image, @dotfile, and @dot ... @enddot
+% (only if caption is specified)
+\newenvironment{DoxyImage}{%
+  \begin{figure}[H]%
+  \begin{center}%
+}{%
+  \end{center}%
+  \end{figure}%
+}
+
+% Used by @image, @dotfile, @dot ... @enddot, and @msc ... @endmsc
+% (only if no caption is specified)
+\newenvironment{DoxyImageNoCaption}{%
+}{%
+}
+
+% Used by @attention
+\newenvironment{DoxyAttention}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @author and @authors
+\newenvironment{DoxyAuthor}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @date
+\newenvironment{DoxyDate}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @invariant
+\newenvironment{DoxyInvariant}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @note
+\newenvironment{DoxyNote}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @post
+\newenvironment{DoxyPostcond}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @pre
+\newenvironment{DoxyPrecond}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @remark
+\newenvironment{DoxyRemark}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @return
+\newenvironment{DoxyReturn}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @since
+\newenvironment{DoxySince}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @see
+\newenvironment{DoxySeeAlso}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @version
+\newenvironment{DoxyVersion}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @warning
+\newenvironment{DoxyWarning}[1]{%
+  \begin{DoxyDesc}{#1}%
+}{%
+  \end{DoxyDesc}%
+}
+
+% Used by @internal
+\newenvironment{DoxyInternal}[1]{%
+  \paragraph*{#1}%
+}{%
+}
+
+% Used by @par and @paragraph
+\newenvironment{DoxyParagraph}[1]{%
+  \begin{list}{}%
+  {%
+    \settowidth{\labelwidth}{40pt}%
+    \setlength{\leftmargin}{\labelwidth}%
+    \setlength{\parsep}{0pt}%
+    \setlength{\itemsep}{-4pt}%
+    \renewcommand{\makelabel}{\entrylabel}%
+  }%
+  \item[#1]%
+}{%
+  \end{list}%
+}
+
+% Used by parameter lists
+\newenvironment{DoxyParams}[1]{%
+  \begin{DoxyDesc}{#1}%
+    \begin{description}%
+}{%
+    \end{description}%
+  \end{DoxyDesc}%
+}
+
+% is used for parameters within a detailed function description
+\newenvironment{DoxyParamCaption}{%
+  \renewcommand{\item}[2][]{##1 {\em ##2}}%
+  }{%
+}
+
+% Used by return value lists
+\newenvironment{DoxyRetVals}[1]{%
+  \begin{DoxyDesc}{#1}%
+    \begin{description}%
+}{%
+    \end{description}%
+  \end{DoxyDesc}%
+}
+
+% Used by exception lists
+\newenvironment{DoxyExceptions}[1]{%
+  \begin{DoxyDesc}{#1}%
+    \begin{description}%
+}{%
+    \end{description}%
+  \end{DoxyDesc}%
+}
+
+% Used by template parameter lists
+\newenvironment{DoxyTemplParams}[1]{%
+  \begin{DoxyDesc}{#1}%
+    \begin{description}%
+}{%
+    \end{description}%
+  \end{DoxyDesc}%
+}
+
+\newcommand{\doxyref}[3]{\textbf{#1} (\textnormal{#2}\,\pageref{#3})}
+\newenvironment{DoxyCompactList}
+{\begin{list}{}{
+  \setlength{\leftmargin}{0.5cm}
+  \setlength{\itemsep}{0pt}
+  \setlength{\parsep}{0pt}
+  \setlength{\topsep}{0pt}
+  \renewcommand{\makelabel}{\hfill}}}
+{\end{list}}
+\newenvironment{DoxyCompactItemize}
+{
+  \begin{itemize}
+  \setlength{\itemsep}{-3pt}
+  \setlength{\parsep}{0pt}
+  \setlength{\topsep}{0pt}
+  \setlength{\partopsep}{0pt}
+}
+{\end{itemize}}
+\newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp}
+\newlength{\tmplength}
+\newenvironment{TabularC}[1]
+{
+\setlength{\tmplength}
+     {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)}
+      \par\begin{tabular*}{\linewidth}
+             {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|}
+}
+{\end{tabular*}\par}
+\newcommand{\entrylabel}[1]{
+   {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\vspace{1.5\baselineskip}}}}
+\newenvironment{Desc}
+{\begin{list}{}
+  {
+    \settowidth{\labelwidth}{40pt}
+    \setlength{\leftmargin}{\labelwidth}
+    \setlength{\parsep}{0pt}
+    \setlength{\itemsep}{-4pt}
+    \renewcommand{\makelabel}{\entrylabel}
+  }
+}
+{\end{list}}
+\newenvironment{Indent}
+  {\begin{list}{}{\setlength{\leftmargin}{0.5cm}}
+      \item[]\ignorespaces}
+  {\unskip\end{list}}
+\setlength{\parindent}{0cm}
+\setlength{\parskip}{0.2cm}
+\addtocounter{secnumdepth}{1}
+\sloppy
+\usepackage[T1]{fontenc}
+\makeatletter
+\renewcommand{\paragraph}{\@startsection{paragraph}{4}{0ex}%
+   {-3.25ex plus -1ex minus -0.2ex}%
+   {1.5ex plus 0.2ex}%
+   {\normalfont\normalsize\bfseries}}
+\makeatother
+\stepcounter{secnumdepth}
+\stepcounter{tocdepth}
+\definecolor{comment}{rgb}{0.5,0.0,0.0}
+\definecolor{keyword}{rgb}{0.0,0.5,0.0}
+\definecolor{keywordtype}{rgb}{0.38,0.25,0.125}
+\definecolor{keywordflow}{rgb}{0.88,0.5,0.0}
+\definecolor{preprocessor}{rgb}{0.5,0.38,0.125}
+\definecolor{stringliteral}{rgb}{0.0,0.125,0.25}
+\definecolor{charliteral}{rgb}{0.0,0.5,0.5}
+\definecolor{vhdldigit}{rgb}{1.0,0.0,1.0}
+\definecolor{vhdlkeyword}{rgb}{0.43,0.0,0.43}
+\definecolor{vhdllogic}{rgb}{1.0,0.0,0.0}
+\definecolor{vhdlchar}{rgb}{0.0,0.0,0.0}
diff --git a/doc/latex/files.tex b/doc/latex/files.tex
new file mode 100644 (file)
index 0000000..39c999c
--- /dev/null
@@ -0,0 +1,4 @@
+\section{File List}
+Here is a list of all documented files with brief descriptions:\begin{DoxyCompactList}
+\item\contentsline{section}{\hyperlink{Evas_8h}{Evas.h} (These routines are used for Evas library interaction )}{\pageref{Evas_8h}}{}
+\end{DoxyCompactList}
diff --git a/doc/latex/group__Evas__Canvas.tex b/doc/latex/group__Evas__Canvas.tex
new file mode 100644 (file)
index 0000000..feb1aca
--- /dev/null
@@ -0,0 +1,427 @@
+\section{Canvas Functions}
+\label{group__Evas__Canvas}\index{Canvas Functions@{Canvas Functions}}
+
+
+Functions that deal with the basic evas object.  
+
+
+\subsection*{Modules}
+\begin{DoxyCompactItemize}
+\item 
+\hyperlink{group__Evas__Output__Method}{Render Engine Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that are used to set the render engine for a given function, and then get that engine working. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Output__Size}{Output and Viewport Resizing Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that set and retrieve the output and viewport size of an evas. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Coord__Mapping__Group}{Coordinate Mapping Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Pointer__Group}{Pointer (Mouse) Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that deal with the status of the pointer (mouse cursor). \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Event__Freezing__Group}{Event Freezing Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that deal with the freezing of event processing of an evas. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Event__Feeding__Group}{Event Feeding Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions to tell Evas that events happened and should be processed. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Canvas__Events}{Canvas Events}
+
+
+\begin{DoxyCompactList}\small\item\em Canvas generates some events. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Image__Group}{Image Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that deals with images at canvas level. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Font__Group}{Font Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that deals with fonts. \item\end{DoxyCompactList}
+
+\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef struct \_\-Evas \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas}
+\begin{DoxyCompactList}\small\item\em An Evas canvas handle. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$ \hyperlink{group__Evas__Canvas_ga9280ee6564c889348b142b8bcd723f87}{evas\_\-new} (void)
+\begin{DoxyCompactList}\small\item\em Creates a new empty evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga45ab1883cc0b145bc3af130d3c00a21f}{evas\_\-free} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Frees the given evas and any objects created on it. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_gadbf3e81c6db5396d3c6415f3cd34e8c8}{evas\_\-data\_\-attach\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Attaches a specific pointer to the evas for fetching later. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Canvas_ga4244b77b68937ab060bc7d8c3bf77fdc}{evas\_\-data\_\-attach\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Returns the pointer attached by \hyperlink{group__Evas__Canvas_gadbf3e81c6db5396d3c6415f3cd34e8c8}{evas\_\-data\_\-attach\_\-set()}. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_gad4e5f592d23e74868f1e135c714a1acb}{evas\_\-focus\_\-in} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Inform to the evas that it got the focus. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga438b8a00339af4b25c84c4ef57d6b3ff}{evas\_\-focus\_\-out} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Inform to the evas that it lost the focus. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Canvas_gab4822a733c10760b293006b77c4fc6d8}{evas\_\-focus\_\-state\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Get the focus state known by the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga6e49e2a2b27c306c265433ac7d3b5dbe}{evas\_\-nochange\_\-push} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Push the nochange flag up 1. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_gaa001b49fa2aa654ba0b116c6667b0fac}{evas\_\-nochange\_\-pop} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Pop the nochange flag down 1. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga91b68cf4090201f16aede8e4c124986d}{evas\_\-damage\_\-rectangle\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int x, int y, int w, int h)
+\begin{DoxyCompactList}\small\item\em Add a damage rectangle. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_gab731e13487e7a2bf6c39d1c1dc69ccc4}{evas\_\-obscured\_\-rectangle\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int x, int y, int w, int h)
+\begin{DoxyCompactList}\small\item\em Add an obscured region. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga76dbc1ce160666ffde45901346cfe876}{evas\_\-obscured\_\-clear} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Remove all obscured region rectangles from the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_gae4889bb5ec0e6e4f6ce5d6ef99f8737b}{evas\_\-render\_\-updates\_\-free} (Eina\_\-List $\ast$updates)
+\begin{DoxyCompactList}\small\item\em Free the rectangles returned by \hyperlink{group__Evas__Canvas_ga49650dcc731a151d4881106b56f7a5ca}{evas\_\-render\_\-updates()}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Canvas_ga49650dcc731a151d4881106b56f7a5ca}{evas\_\-render\_\-updates} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Force immediate renderization of the given canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga241869ebb085b8ab11ff6af26e1aeaaf}{evas\_\-render} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Force renderization of the given canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga5c7761185381376e2d97497625a7bbe1}{evas\_\-norender} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Update the canvas internal objects but not triggering immediate renderization. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas_ga84a691e253bf4239691b3f3adca3c7b1}{evas\_\-render\_\-idle\_\-flush} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Make the canvas discard internally cached data used for rendering. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with the basic evas object. They are the functions you need to use at a minimum to get a working evas, and to destroy it. 
+
+\subsection{Typedef Documentation}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!Evas@{Evas}}
+\index{Evas@{Evas}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{Evas}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas}}\label{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}
+
+
+An Evas canvas handle. 
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Canvas_ga9280ee6564c889348b142b8bcd723f87}{evas\_\-new()} 
+
+\hyperlink{group__Evas__Canvas_ga45ab1883cc0b145bc3af130d3c00a21f}{evas\_\-free()} 
+\end{DoxySeeAlso}
+
+
+\subsection{Function Documentation}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-damage\_\-rectangle\_\-add@{evas\_\-damage\_\-rectangle\_\-add}}
+\index{evas\_\-damage\_\-rectangle\_\-add@{evas\_\-damage\_\-rectangle\_\-add}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-damage\_\-rectangle\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-damage\_\-rectangle\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ x, }
+\item[{int}]{ y, }
+\item[{int}]{ w, }
+\item[{int}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga91b68cf4090201f16aede8e4c124986d}
+
+
+Add a damage rectangle. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \item[{\em x}]The rectangle's left position. \item[{\em y}]The rectangle's top position. \item[{\em w}]The rectangle's width. \item[{\em h}]The rectangle's height.\end{DoxyParams}
+This is the function by which one tells evas that a part of the canvas has to be repainted. 
+
+Referenced by evas\_\-object\_\-clip\_\-set(), and evas\_\-object\_\-clip\_\-unset().
+
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-data\_\-attach\_\-get@{evas\_\-data\_\-attach\_\-get}}
+\index{evas\_\-data\_\-attach\_\-get@{evas\_\-data\_\-attach\_\-get}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-data\_\-attach\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-data\_\-attach\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga4244b77b68937ab060bc7d8c3bf77fdc}
+
+
+Returns the pointer attached by \hyperlink{group__Evas__Canvas_gadbf3e81c6db5396d3c6415f3cd34e8c8}{evas\_\-data\_\-attach\_\-set()}. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The canvas to attach the pointer to \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The pointer attached 
+\end{DoxyReturn}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-data\_\-attach\_\-set@{evas\_\-data\_\-attach\_\-set}}
+\index{evas\_\-data\_\-attach\_\-set@{evas\_\-data\_\-attach\_\-set}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-data\_\-attach\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-data\_\-attach\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_gadbf3e81c6db5396d3c6415f3cd34e8c8}
+
+
+Attaches a specific pointer to the evas for fetching later. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The canvas to attach the pointer to \item[{\em data}]The pointer to attach \end{DoxyParams}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-focus\_\-in@{evas\_\-focus\_\-in}}
+\index{evas\_\-focus\_\-in@{evas\_\-focus\_\-in}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-focus\_\-in}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-focus\_\-in (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_gad4e5f592d23e74868f1e135c714a1acb}
+
+
+Inform to the evas that it got the focus. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The evas to change information. \end{DoxyParams}
+
+
+References EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-IN.
+
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-focus\_\-out@{evas\_\-focus\_\-out}}
+\index{evas\_\-focus\_\-out@{evas\_\-focus\_\-out}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-focus\_\-out}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-focus\_\-out (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga438b8a00339af4b25c84c4ef57d6b3ff}
+
+
+Inform to the evas that it lost the focus. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The evas to change information. \end{DoxyParams}
+
+
+References EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-OUT.
+
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-focus\_\-state\_\-get@{evas\_\-focus\_\-state\_\-get}}
+\index{evas\_\-focus\_\-state\_\-get@{evas\_\-focus\_\-state\_\-get}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-focus\_\-state\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-focus\_\-state\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_gab4822a733c10760b293006b77c4fc6d8}
+
+
+Get the focus state known by the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The evas to query information. \end{DoxyParams}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-free@{evas\_\-free}}
+\index{evas\_\-free@{evas\_\-free}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-free (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga45ab1883cc0b145bc3af130d3c00a21f}
+
+
+Frees the given evas and any objects created on it. 
+
+Any objects with 'free' callbacks will have those callbacks called in this function.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \end{DoxyParams}
+
+
+References evas\_\-font\_\-path\_\-clear(), and evas\_\-render\_\-idle\_\-flush().
+
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-new@{evas\_\-new}}
+\index{evas\_\-new@{evas\_\-new}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas}$\ast$ evas\_\-new (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga9280ee6564c889348b142b8bcd723f87}
+
+
+Creates a new empty evas. 
+
+Note that before you can use the evas, you will to at a minimum: \begin{DoxyItemize}
+\item Set its render method with \hyperlink{group__Evas__Output__Method_gab6cca6c7a5edabef057790889d560b11}{evas\_\-output\_\-method\_\-set} . \item Set its viewport size with \hyperlink{group__Evas__Output__Size_ga1d39edcaff429d884d4a70aa1fca0c08}{evas\_\-output\_\-viewport\_\-set} . \item Set its size of the canvas with \hyperlink{group__Evas__Output__Size_gaaf571f18f97f4067f554ab7713f01063}{evas\_\-output\_\-size\_\-set} . \item Ensure that the render engine is given the correct settings with \hyperlink{group__Evas__Output__Method_gafeff04b89b4498eedf99c89e0a06e604}{evas\_\-engine\_\-info\_\-set} .\end{DoxyItemize}
+This function should only fail if the memory allocation fails
+
+\begin{DoxyNote}{Note}
+this function is very low level. Instead of using it directly, consider using the high level functions in Ecore\_\-Evas such as {\ttfamily ecore\_\-evas\_\-new()}. See \href{http://docs.enlightenment.org/auto/ecore/.}{\tt http://docs.enlightenment.org/auto/ecore/.}
+\end{DoxyNote}
+\begin{DoxyAttention}{Attention}
+it is recommended that one calls \hyperlink{group__Evas__Group_ga939a904ec53bf80796a8ad763cbb4c3c}{evas\_\-init()} before creating new canvas.
+\end{DoxyAttention}
+\begin{DoxyReturn}{Returns}
+A new uninitialised Evas canvas on success. Otherwise, {\ttfamily NULL}. 
+\end{DoxyReturn}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-nochange\_\-pop@{evas\_\-nochange\_\-pop}}
+\index{evas\_\-nochange\_\-pop@{evas\_\-nochange\_\-pop}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-nochange\_\-pop}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-nochange\_\-pop (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_gaa001b49fa2aa654ba0b116c6667b0fac}
+
+
+Pop the nochange flag down 1. 
+
+This tells evas, that while the nochange flag is greater than 0, do not mark objects as \char`\"{}changed\char`\"{} when making changes.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The evas to change information. \end{DoxyParams}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-nochange\_\-push@{evas\_\-nochange\_\-push}}
+\index{evas\_\-nochange\_\-push@{evas\_\-nochange\_\-push}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-nochange\_\-push}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-nochange\_\-push (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga6e49e2a2b27c306c265433ac7d3b5dbe}
+
+
+Push the nochange flag up 1. 
+
+This tells evas, that while the nochange flag is greater than 0, do not mark objects as \char`\"{}changed\char`\"{} when making changes.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The evas to change information. \end{DoxyParams}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-norender@{evas\_\-norender}}
+\index{evas\_\-norender@{evas\_\-norender}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-norender}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-norender (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga5c7761185381376e2d97497625a7bbe1}
+
+
+Update the canvas internal objects but not triggering immediate renderization. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer.\end{DoxyParams}
+This function updates the canvas internal objects not triggering renderization. To force renderization function \hyperlink{group__Evas__Canvas_ga241869ebb085b8ab11ff6af26e1aeaaf}{evas\_\-render()} should be used.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Canvas_ga241869ebb085b8ab11ff6af26e1aeaaf}{evas\_\-render}. 
+\end{DoxySeeAlso}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-obscured\_\-clear@{evas\_\-obscured\_\-clear}}
+\index{evas\_\-obscured\_\-clear@{evas\_\-obscured\_\-clear}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-obscured\_\-clear}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-obscured\_\-clear (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga76dbc1ce160666ffde45901346cfe876}
+
+
+Remove all obscured region rectangles from the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer.\end{DoxyParams}
+This function removes all the rectangles from the obscured list of the canvas. It takes obscured areas added with \hyperlink{group__Evas__Canvas_gab731e13487e7a2bf6c39d1c1dc69ccc4}{evas\_\-obscured\_\-rectangle\_\-add()} and makes it a region that have to be repainted. \index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-obscured\_\-rectangle\_\-add@{evas\_\-obscured\_\-rectangle\_\-add}}
+\index{evas\_\-obscured\_\-rectangle\_\-add@{evas\_\-obscured\_\-rectangle\_\-add}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-obscured\_\-rectangle\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-obscured\_\-rectangle\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ x, }
+\item[{int}]{ y, }
+\item[{int}]{ w, }
+\item[{int}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_gab731e13487e7a2bf6c39d1c1dc69ccc4}
+
+
+Add an obscured region. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \item[{\em x}]The rectangle's left position. \item[{\em y}]The rectangle's top position \item[{\em w}]The rectangle's width. \item[{\em h}]The rectangle's height.\end{DoxyParams}
+This is the function by which one tells evas that a part of the canvas has not to be repainted. To make this region one that have to be repainted, call the function \hyperlink{group__Evas__Canvas_ga76dbc1ce160666ffde45901346cfe876}{evas\_\-obscured\_\-clear()}.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Canvas_ga76dbc1ce160666ffde45901346cfe876}{evas\_\-obscured\_\-clear()}. 
+\end{DoxySeeAlso}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-render@{evas\_\-render}}
+\index{evas\_\-render@{evas\_\-render}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-render}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-render (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga241869ebb085b8ab11ff6af26e1aeaaf}
+
+
+Force renderization of the given canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \end{DoxyParams}
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-render\_\-idle\_\-flush@{evas\_\-render\_\-idle\_\-flush}}
+\index{evas\_\-render\_\-idle\_\-flush@{evas\_\-render\_\-idle\_\-flush}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-render\_\-idle\_\-flush}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-render\_\-idle\_\-flush (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga84a691e253bf4239691b3f3adca3c7b1}
+
+
+Make the canvas discard internally cached data used for rendering. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer.\end{DoxyParams}
+This function flushes the arrays of delete, active and render objects. Other things it may also discard are: shared memory segments, temporary scratch buffers, cached data to avoid re-\/compute of that data etc. 
+
+Referenced by evas\_\-free().
+
+\index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-render\_\-updates@{evas\_\-render\_\-updates}}
+\index{evas\_\-render\_\-updates@{evas\_\-render\_\-updates}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-render\_\-updates}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-List$\ast$ evas\_\-render\_\-updates (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_ga49650dcc731a151d4881106b56f7a5ca}
+
+
+Force immediate renderization of the given canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+A newly allocated list of updated rectangles of the canvas. Free this list with \hyperlink{group__Evas__Canvas_gae4889bb5ec0e6e4f6ce5d6ef99f8737b}{evas\_\-render\_\-updates\_\-free()}.
+\end{DoxyReturn}
+This function forces an immediate renderization update of the given given canvas. \index{Evas\_\-Canvas@{Evas\_\-Canvas}!evas\_\-render\_\-updates\_\-free@{evas\_\-render\_\-updates\_\-free}}
+\index{evas\_\-render\_\-updates\_\-free@{evas\_\-render\_\-updates\_\-free}!Evas_Canvas@{Evas\_\-Canvas}}
+\subsubsection[{evas\_\-render\_\-updates\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-render\_\-updates\_\-free (
+\begin{DoxyParamCaption}
+\item[{Eina\_\-List $\ast$}]{ updates}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas_gae4889bb5ec0e6e4f6ce5d6ef99f8737b}
+
+
+Free the rectangles returned by \hyperlink{group__Evas__Canvas_ga49650dcc731a151d4881106b56f7a5ca}{evas\_\-render\_\-updates()}. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em updates}]The list of updated rectangles of the canvas.\end{DoxyParams}
+This function removes the region from the render updates list. It makes the region doesn't be render updated anymore. 
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Canvas__Events.tex b/doc/latex/group__Evas__Canvas__Events.tex
new file mode 100644 (file)
index 0000000..d833551
--- /dev/null
@@ -0,0 +1,194 @@
+\section{Canvas Events}
+\label{group__Evas__Canvas__Events}\index{Canvas Events@{Canvas Events}}
+
+
+Canvas generates some events.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Canvas__Events_ga0388995a80e8951a532fbdc63ba26c71}{evas\_\-event\_\-callback\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, \hyperlink{Evas_8h_a076b2a9b2de2b2144a4193b1d12ed448}{Evas\_\-Callback\_\-Type} type, Evas\_\-Event\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Add a callback function to the canvas. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Canvas__Events_ga11a461d33617b022e490287e85217f5c}{evas\_\-event\_\-callback\_\-del} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, \hyperlink{Evas_8h_a076b2a9b2de2b2144a4193b1d12ed448}{Evas\_\-Callback\_\-Type} type, Evas\_\-Event\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em Delete a callback function from the canvas. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Canvas__Events_ga84450d679e473b3ac84d4374f8936980}{evas\_\-event\_\-callback\_\-del\_\-full} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, \hyperlink{Evas_8h_a076b2a9b2de2b2144a4193b1d12ed448}{Evas\_\-Callback\_\-Type} type, Evas\_\-Event\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Delete a callback function from the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas__Events_ga8f8a2686dbbe3c55e091decf3f29d42a}{evas\_\-post\_\-event\_\-callback\_\-push} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Object\_\-Event\_\-Post\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Push a callback on the post-\/event callback stack. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas__Events_ga59f159113fe24fdb5e33e7df3e333516}{evas\_\-post\_\-event\_\-callback\_\-remove} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Object\_\-Event\_\-Post\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em Remove a callback from the post-\/event callback stack. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Canvas__Events_ga3c76c419125c3cad9095f1fdae5f3ac9}{evas\_\-post\_\-event\_\-callback\_\-remove\_\-full} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Object\_\-Event\_\-Post\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Remove a callback from the post-\/event callback stack. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Canvas generates some events. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Canvas\_\-Events@{Evas\_\-Canvas\_\-Events}!evas\_\-event\_\-callback\_\-add@{evas\_\-event\_\-callback\_\-add}}
+\index{evas\_\-event\_\-callback\_\-add@{evas\_\-event\_\-callback\_\-add}!Evas_Canvas_Events@{Evas\_\-Canvas\_\-Events}}
+\subsubsection[{evas\_\-event\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{{\bf Evas\_\-Callback\_\-Type}}]{ type, }
+\item[{Evas\_\-Event\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas__Events_ga0388995a80e8951a532fbdc63ba26c71}
+
+
+Add a callback function to the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]Canvas to attach a callback to \item[{\em type}]The type of event that will trigger the callback \item[{\em func}]The function to be called when the event is triggered \item[{\em data}]The data pointer to be passed to {\ttfamily func} \end{DoxyParams}
+This function adds a function callback to the canvas when the event of type {\ttfamily type} occurs on canvas {\ttfamily e}. The function is {\ttfamily func}.
+
+In the event of a memory allocation error during addition of the callback to the canvas, \hyperlink{group__Evas__Group_ga1c782b4511e3b8678a2166c651053ac9}{evas\_\-alloc\_\-error()} should be used to determine the nature of the error, if any, and the program should sensibly try and recover.
+
+The function will be passed the pointer {\ttfamily data} when it is called. A callback function must look like this:
+
+
+\begin{DoxyCode}
+ void callback (void *data, Evas *e, void *event_info);
+\end{DoxyCode}
+
+
+The first parameter {\ttfamily data} in this function will be the same value passed to \hyperlink{group__Evas__Canvas__Events_ga0388995a80e8951a532fbdc63ba26c71}{evas\_\-event\_\-callback\_\-add()} as the {\ttfamily data} parameter. The second parameter {\ttfamily e} is the canvas handle on which the event occurred. The third parameter {\ttfamily event\_\-info} is a pointer to a data structure that may or may not be passed to the callback, depending on the event type that triggered the callback.
+
+The event type {\ttfamily type} to trigger the function may be one of \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa5a68e4f5dccdc18a393ef4a4773236c3}{EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-PRE}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa4fb1f9e790a22f8e22b63faadf0133c1}{EVAS\_\-CALLBACK\_\-RENDER\_\-FLUSH\_\-POST}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aac3a1defaffac4dcb6fe9e568919c45d1}{EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-IN}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa444e79ca91d910d500dc26f71cf0518f}{EVAS\_\-CALLBACK\_\-CANVAS\_\-FOCUS\_\-OUT}. This determines the kind of event that will trigger the callback to be called. So far none of the event types provide useful data, so in all of them {\ttfamily event\_\-info} pointer is {\ttfamily NULL}.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *e;
+ extern void *my_data;
+ void focus_in_callback(void *data, Evas *e, void *event_info);
+ void focus_out_callback(void *data, Evas *e, void *event_info);
+
+ evas_event_callback_add(e, EVAS_CALLBACK_CANVAS_FOCUS_IN, focus_in_callback, my_
+      data);
+ if (evas_alloc_error() != EVAS_ALLOC_ERROR_NONE)
+   {
+     fprintf(stderr, "ERROR: Callback registering failed! Abort!\n");
+     exit(-1);
+   }
+ evas_event_callback_add(e, EVAS_CALLBACK_CANVAS_FOCUS_OUT, focus_out_callback, m
+      y_data);
+ if (evas_alloc_error() != EVAS_ALLOC_ERROR_NONE)
+   {
+     fprintf(stderr, "ERROR: Callback registering failed! Abort!\n");
+     exit(-1);
+   }
+\end{DoxyCode}
+ \index{Evas\_\-Canvas\_\-Events@{Evas\_\-Canvas\_\-Events}!evas\_\-event\_\-callback\_\-del@{evas\_\-event\_\-callback\_\-del}}
+\index{evas\_\-event\_\-callback\_\-del@{evas\_\-event\_\-callback\_\-del}!Evas_Canvas_Events@{Evas\_\-Canvas\_\-Events}}
+\subsubsection[{evas\_\-event\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-event\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{{\bf Evas\_\-Callback\_\-Type}}]{ type, }
+\item[{Evas\_\-Event\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas__Events_ga11a461d33617b022e490287e85217f5c}
+
+
+Delete a callback function from the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]Canvas to remove a callback from \item[{\em type}]The type of event that was triggering the callback \item[{\em func}]The function that was to be called when the event was triggered \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The data pointer that was to be passed to the callback
+\end{DoxyReturn}
+This function removes the most recently added callback from the canvas {\ttfamily e} which was triggered by the event type {\ttfamily type} and was calling the function {\ttfamily func} when triggered. If the removal is successful it will also return the data pointer that was passed to \hyperlink{group__Evas__Canvas__Events_ga0388995a80e8951a532fbdc63ba26c71}{evas\_\-event\_\-callback\_\-add()} when the callback was added to the canvas. If not successful NULL will be returned.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *e;
+ void *my_data;
+ void focus_in_callback(void *data, Evas *e, void *event_info);
+
+ my_data = evas_event_callback_del(ebject, EVAS_CALLBACK_CANVAS_FOCUS_IN, focus_i
+      n_callback);
+\end{DoxyCode}
+ \index{Evas\_\-Canvas\_\-Events@{Evas\_\-Canvas\_\-Events}!evas\_\-event\_\-callback\_\-del\_\-full@{evas\_\-event\_\-callback\_\-del\_\-full}}
+\index{evas\_\-event\_\-callback\_\-del\_\-full@{evas\_\-event\_\-callback\_\-del\_\-full}!Evas_Canvas_Events@{Evas\_\-Canvas\_\-Events}}
+\subsubsection[{evas\_\-event\_\-callback\_\-del\_\-full}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-event\_\-callback\_\-del\_\-full (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{{\bf Evas\_\-Callback\_\-Type}}]{ type, }
+\item[{Evas\_\-Event\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas__Events_ga84450d679e473b3ac84d4374f8936980}
+
+
+Delete a callback function from the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]Canvas to remove a callback from \item[{\em type}]The type of event that was triggering the callback \item[{\em func}]The function that was to be called when the event was triggered \item[{\em data}]The data pointer that was to be passed to the callback \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The data pointer that was to be passed to the callback
+\end{DoxyReturn}
+This function removes the most recently added callback from the canvas {\ttfamily e} which was triggered by the event type {\ttfamily type} and was calling the function {\ttfamily func} with data {\ttfamily data} when triggered. If the removal is successful it will also return the data pointer that was passed to \hyperlink{group__Evas__Canvas__Events_ga0388995a80e8951a532fbdc63ba26c71}{evas\_\-event\_\-callback\_\-add()} (that will be the same as the parameter) when the callback was added to the canvas. If not successful NULL will be returned.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *e;
+ void *my_data;
+ void focus_in_callback(void *data, Evas *e, void *event_info);
+
+ my_data = evas_event_callback_del_full(ebject, EVAS_CALLBACK_CANVAS_FOCUS_IN, fo
+      cus_in_callback, my_data);
+\end{DoxyCode}
+ \index{Evas\_\-Canvas\_\-Events@{Evas\_\-Canvas\_\-Events}!evas\_\-post\_\-event\_\-callback\_\-push@{evas\_\-post\_\-event\_\-callback\_\-push}}
+\index{evas\_\-post\_\-event\_\-callback\_\-push@{evas\_\-post\_\-event\_\-callback\_\-push}!Evas_Canvas_Events@{Evas\_\-Canvas\_\-Events}}
+\subsubsection[{evas\_\-post\_\-event\_\-callback\_\-push}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-post\_\-event\_\-callback\_\-push (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Object\_\-Event\_\-Post\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas__Events_ga8f8a2686dbbe3c55e091decf3f29d42a}
+
+
+Push a callback on the post-\/event callback stack. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]Canvas to push the callback on \item[{\em func}]The function that to be called when the stack is unwound \item[{\em data}]The data pointer to be passed to the callback\end{DoxyParams}
+Evas has a stack of callbacks that get called after all the callbacks for an event have triggered (all the objects it triggers on and al the callbacks in each object triggered). When all these have been called, the stack is unwond from most recently to least recently pushed item and removed from the stack calling the callback set for it.
+
+This is intended for doing reverse logic-\/like processing, example -\/ when a child object that happens to get the event later is meant to be able to \char`\"{}steal\char`\"{} functions from a parent and thus on unwind of this stack hav its function called first, thus being able to set flags, or return 0 from the post-\/callback that stops all other post-\/callbacks in the current stack from being called (thus basically allowing a child to take control, if the event callback prepares information ready for taking action, but the post callback actually does the action). \index{Evas\_\-Canvas\_\-Events@{Evas\_\-Canvas\_\-Events}!evas\_\-post\_\-event\_\-callback\_\-remove@{evas\_\-post\_\-event\_\-callback\_\-remove}}
+\index{evas\_\-post\_\-event\_\-callback\_\-remove@{evas\_\-post\_\-event\_\-callback\_\-remove}!Evas_Canvas_Events@{Evas\_\-Canvas\_\-Events}}
+\subsubsection[{evas\_\-post\_\-event\_\-callback\_\-remove}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-post\_\-event\_\-callback\_\-remove (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Object\_\-Event\_\-Post\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas__Events_ga59f159113fe24fdb5e33e7df3e333516}
+
+
+Remove a callback from the post-\/event callback stack. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]Canvas to push the callback on \item[{\em func}]The function that to be called when the stack is unwound\end{DoxyParams}
+This removes a callback from the stack added with \hyperlink{group__Evas__Canvas__Events_ga8f8a2686dbbe3c55e091decf3f29d42a}{evas\_\-post\_\-event\_\-callback\_\-push()}. The first instance of the function in the callback stack is removed from being executed when the stack is unwound. Further instances may still be run on unwind. \index{Evas\_\-Canvas\_\-Events@{Evas\_\-Canvas\_\-Events}!evas\_\-post\_\-event\_\-callback\_\-remove\_\-full@{evas\_\-post\_\-event\_\-callback\_\-remove\_\-full}}
+\index{evas\_\-post\_\-event\_\-callback\_\-remove\_\-full@{evas\_\-post\_\-event\_\-callback\_\-remove\_\-full}!Evas_Canvas_Events@{Evas\_\-Canvas\_\-Events}}
+\subsubsection[{evas\_\-post\_\-event\_\-callback\_\-remove\_\-full}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-post\_\-event\_\-callback\_\-remove\_\-full (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Object\_\-Event\_\-Post\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Canvas__Events_ga3c76c419125c3cad9095f1fdae5f3ac9}
+
+
+Remove a callback from the post-\/event callback stack. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]Canvas to push the callback on \item[{\em func}]The function that to be called when the stack is unwound \item[{\em data}]The data pointer to be passed to the callback\end{DoxyParams}
+This removes a callback from the stack added with \hyperlink{group__Evas__Canvas__Events_ga8f8a2686dbbe3c55e091decf3f29d42a}{evas\_\-post\_\-event\_\-callback\_\-push()}. The first instance of the function and data in the callback stack is removed from being executed when the stack is unwound. Further instances may still be run on unwind. 
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Coord__Mapping__Group.tex b/doc/latex/group__Evas__Coord__Mapping__Group.tex
new file mode 100644 (file)
index 0000000..c70107c
--- /dev/null
@@ -0,0 +1,137 @@
+\section{Coordinate Mapping Functions}
+\label{group__Evas__Coord__Mapping__Group}\index{Coordinate Mapping Functions@{Coordinate Mapping Functions}}
+
+
+Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Coord__Mapping__Group_gab435c4e98554a4c6b934840a38d96051}{evas\_\-coord\_\-screen\_\-x\_\-to\_\-world} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int x)
+\begin{DoxyCompactList}\small\item\em Convert/scale an ouput screen co-\/ordinate into canvas co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Coord__Mapping__Group_gac69db230ec0bd06f683e62665abe5df2}{evas\_\-coord\_\-screen\_\-y\_\-to\_\-world} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int y)
+\begin{DoxyCompactList}\small\item\em Convert/scale an ouput screen co-\/ordinate into canvas co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Coord__Mapping__Group_ga3e4f9f6af852df00de8c180f2e3919e9}{evas\_\-coord\_\-world\_\-x\_\-to\_\-screen} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x)
+\begin{DoxyCompactList}\small\item\em Convert/scale a canvas co-\/ordinate into output screen co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Coord__Mapping__Group_ga6c80c5dd33180044bcd200bb4739a2b8}{evas\_\-coord\_\-world\_\-y\_\-to\_\-screen} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord y)
+\begin{DoxyCompactList}\small\item\em Convert/scale a canvas co-\/ordinate into output screen co-\/ordinates. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Coord\_\-Mapping\_\-Group@{Evas\_\-Coord\_\-Mapping\_\-Group}!evas\_\-coord\_\-screen\_\-x\_\-to\_\-world@{evas\_\-coord\_\-screen\_\-x\_\-to\_\-world}}
+\index{evas\_\-coord\_\-screen\_\-x\_\-to\_\-world@{evas\_\-coord\_\-screen\_\-x\_\-to\_\-world}!Evas_Coord_Mapping_Group@{Evas\_\-Coord\_\-Mapping\_\-Group}}
+\subsubsection[{evas\_\-coord\_\-screen\_\-x\_\-to\_\-world}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Coord evas\_\-coord\_\-screen\_\-x\_\-to\_\-world (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ x}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Coord__Mapping__Group_gab435c4e98554a4c6b934840a38d96051}
+
+
+Convert/scale an ouput screen co-\/ordinate into canvas co-\/ordinates. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas \item[{\em x}]The screen/output x co-\/ordinate \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The screen co-\/ordinate translated to canvas unit co-\/ordinates
+\end{DoxyReturn}
+This function takes in a horizontal co-\/ordinate as the {\ttfamily x} parameter and converts it into canvas units, accounting for output size, viewport size and location, returning it as the function return value. If {\ttfamily e} is invalid, the results are undefined.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+ extern int screen_x;
+ Evas_Coord canvas_x;
+
+ canvas_x = evas_coord_screen_x_to_world(evas, screen_x);
+\end{DoxyCode}
+ \index{Evas\_\-Coord\_\-Mapping\_\-Group@{Evas\_\-Coord\_\-Mapping\_\-Group}!evas\_\-coord\_\-screen\_\-y\_\-to\_\-world@{evas\_\-coord\_\-screen\_\-y\_\-to\_\-world}}
+\index{evas\_\-coord\_\-screen\_\-y\_\-to\_\-world@{evas\_\-coord\_\-screen\_\-y\_\-to\_\-world}!Evas_Coord_Mapping_Group@{Evas\_\-Coord\_\-Mapping\_\-Group}}
+\subsubsection[{evas\_\-coord\_\-screen\_\-y\_\-to\_\-world}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Coord evas\_\-coord\_\-screen\_\-y\_\-to\_\-world (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Coord__Mapping__Group_gac69db230ec0bd06f683e62665abe5df2}
+
+
+Convert/scale an ouput screen co-\/ordinate into canvas co-\/ordinates. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas \item[{\em y}]The screen/output y co-\/ordinate \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The screen co-\/ordinate translated to canvas unit co-\/ordinates
+\end{DoxyReturn}
+This function takes in a vertical co-\/ordinate as the {\ttfamily y} parameter and converts it into canvas units, accounting for output size, viewport size and location, returning it as the function return value. If {\ttfamily e} is invalid, the results are undefined.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+ extern int screen_y;
+ Evas_Coord canvas_y;
+
+ canvas_y = evas_coord_screen_y_to_world(evas, screen_y);
+\end{DoxyCode}
+ \index{Evas\_\-Coord\_\-Mapping\_\-Group@{Evas\_\-Coord\_\-Mapping\_\-Group}!evas\_\-coord\_\-world\_\-x\_\-to\_\-screen@{evas\_\-coord\_\-world\_\-x\_\-to\_\-screen}}
+\index{evas\_\-coord\_\-world\_\-x\_\-to\_\-screen@{evas\_\-coord\_\-world\_\-x\_\-to\_\-screen}!Evas_Coord_Mapping_Group@{Evas\_\-Coord\_\-Mapping\_\-Group}}
+\subsubsection[{evas\_\-coord\_\-world\_\-x\_\-to\_\-screen}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-coord\_\-world\_\-x\_\-to\_\-screen (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Coord}]{ x}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Coord__Mapping__Group_ga3e4f9f6af852df00de8c180f2e3919e9}
+
+
+Convert/scale a canvas co-\/ordinate into output screen co-\/ordinates. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas \item[{\em x}]The canvas x co-\/ordinate \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The output/screen co-\/ordinate translated to output co-\/ordinates
+\end{DoxyReturn}
+This function takes in a horizontal co-\/ordinate as the {\ttfamily x} parameter and converts it into output units, accounting for output size, viewport size and location, returning it as the function return value. If {\ttfamily e} is invalid, the results are undefined.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+ int screen_x;
+ extern Evas_Coord canvas_x;
+
+ screen_x = evas_coord_world_x_to_screen(evas, canvas_x);
+\end{DoxyCode}
+ \index{Evas\_\-Coord\_\-Mapping\_\-Group@{Evas\_\-Coord\_\-Mapping\_\-Group}!evas\_\-coord\_\-world\_\-y\_\-to\_\-screen@{evas\_\-coord\_\-world\_\-y\_\-to\_\-screen}}
+\index{evas\_\-coord\_\-world\_\-y\_\-to\_\-screen@{evas\_\-coord\_\-world\_\-y\_\-to\_\-screen}!Evas_Coord_Mapping_Group@{Evas\_\-Coord\_\-Mapping\_\-Group}}
+\subsubsection[{evas\_\-coord\_\-world\_\-y\_\-to\_\-screen}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-coord\_\-world\_\-y\_\-to\_\-screen (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Coord}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Coord__Mapping__Group_ga6c80c5dd33180044bcd200bb4739a2b8}
+
+
+Convert/scale a canvas co-\/ordinate into output screen co-\/ordinates. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas \item[{\em y}]The canvas y co-\/ordinate \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The output/screen co-\/ordinate translated to output co-\/ordinates
+\end{DoxyReturn}
+This function takes in a vertical co-\/ordinate as the {\ttfamily x} parameter and converts it into output units, accounting for output size, viewport size and location, returning it as the function return value. If {\ttfamily e} is invalid, the results are undefined.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+ int screen_y;
+ extern Evas_Coord canvas_y;
+
+ screen_y = evas_coord_world_y_to_screen(evas, canvas_y);
+\end{DoxyCode}
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Cserve.tex b/doc/latex/group__Evas__Cserve.tex
new file mode 100644 (file)
index 0000000..3b75bfb
--- /dev/null
@@ -0,0 +1,123 @@
+\section{Shared Image Cache Server}
+\label{group__Evas__Cserve}\index{Shared Image Cache Server@{Shared Image Cache Server}}
+
+
+Provides client-\/server infrastructure to share bitmaps across multiple processes, saving data and processing power.  
+
+
+\subsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item 
+struct \hyperlink{struct__Evas__Cserve__Stats}{\_\-Evas\_\-Cserve\_\-Stats}
+\begin{DoxyCompactList}\small\item\em Statistics about server that shares cached bitmaps. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Cserve__Image__Cache}{\_\-Evas\_\-Cserve\_\-Image\_\-Cache}
+\begin{DoxyCompactList}\small\item\em Cache of images shared by server. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Cserve__Image}{\_\-Evas\_\-Cserve\_\-Image}
+\begin{DoxyCompactList}\small\item\em An image shared by the server. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Cserve__Config}{\_\-Evas\_\-Cserve\_\-Config}
+\begin{DoxyCompactList}\small\item\em Configuration that controls the server that shares cached bitmaps. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Cserve_gab039ccd04ab2e8857a0df629b4ac0901}{evas\_\-cserve\_\-want\_\-get} (void)
+\begin{DoxyCompactList}\small\item\em Retrieves if the system wants to share bitmaps using the server. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Cserve_gab88ee4c01dbdf01fea4d8acf4a07b25f}{evas\_\-cserve\_\-connected\_\-get} (void)
+\begin{DoxyCompactList}\small\item\em Retrieves if the system is connected to the server used to shae bitmaps. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Cserve_ga82fec634eb97f664e9cb3ed08358b1a2}{evas\_\-cserve\_\-stats\_\-get} (\hyperlink{struct__Evas__Cserve__Stats}{Evas\_\-Cserve\_\-Stats} $\ast$stats)
+\begin{DoxyCompactList}\small\item\em Retrieves if the system wants to share bitmaps using the server. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Cserve_ga9bb7fbd93f4bc9310707549ff9427b47}{evas\_\-cserve\_\-config\_\-get} (\hyperlink{struct__Evas__Cserve__Config}{Evas\_\-Cserve\_\-Config} $\ast$config)
+\begin{DoxyCompactList}\small\item\em Retrieves the current configuration of the server. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Cserve_ga10c38a7bfb59423c2a96447b42c2aa15}{evas\_\-cserve\_\-config\_\-set} (const \hyperlink{struct__Evas__Cserve__Config}{Evas\_\-Cserve\_\-Config} $\ast$config)
+\begin{DoxyCompactList}\small\item\em Changes the configuration of the server. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Cserve_ga3129abb4410e7d6967072f14ac327daf}{evas\_\-cserve\_\-disconnect} (void)\label{group__Evas__Cserve_ga3129abb4410e7d6967072f14ac327daf}
+
+\begin{DoxyCompactList}\small\item\em Force system to disconnect from cache server. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Provides client-\/server infrastructure to share bitmaps across multiple processes, saving data and processing power. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Cserve@{Evas\_\-Cserve}!evas\_\-cserve\_\-config\_\-get@{evas\_\-cserve\_\-config\_\-get}}
+\index{evas\_\-cserve\_\-config\_\-get@{evas\_\-cserve\_\-config\_\-get}!Evas_Cserve@{Evas\_\-Cserve}}
+\subsubsection[{evas\_\-cserve\_\-config\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-cserve\_\-config\_\-get (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Cserve\_\-Config} $\ast$}]{ config}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Cserve_ga9bb7fbd93f4bc9310707549ff9427b47}
+
+
+Retrieves the current configuration of the server. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em config}]where to store current server configuration. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily EINA\_\-TRUE} if {\ttfamily config} were filled with data, {\ttfamily EINA\_\-FALSE} otherwise and {\ttfamily config} is untouched. 
+\end{DoxyReturn}
+\index{Evas\_\-Cserve@{Evas\_\-Cserve}!evas\_\-cserve\_\-config\_\-set@{evas\_\-cserve\_\-config\_\-set}}
+\index{evas\_\-cserve\_\-config\_\-set@{evas\_\-cserve\_\-config\_\-set}!Evas_Cserve@{Evas\_\-Cserve}}
+\subsubsection[{evas\_\-cserve\_\-config\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-cserve\_\-config\_\-set (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Cserve\_\-Config} $\ast$}]{ config}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Cserve_ga10c38a7bfb59423c2a96447b42c2aa15}
+
+
+Changes the configuration of the server. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em config}]where to store current server configuration. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily EINA\_\-TRUE} if {\ttfamily config} were successfully applied, {\ttfamily EINA\_\-FALSE} otherwise. 
+\end{DoxyReturn}
+\index{Evas\_\-Cserve@{Evas\_\-Cserve}!evas\_\-cserve\_\-connected\_\-get@{evas\_\-cserve\_\-connected\_\-get}}
+\index{evas\_\-cserve\_\-connected\_\-get@{evas\_\-cserve\_\-connected\_\-get}!Evas_Cserve@{Evas\_\-Cserve}}
+\subsubsection[{evas\_\-cserve\_\-connected\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-cserve\_\-connected\_\-get (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Cserve_gab88ee4c01dbdf01fea4d8acf4a07b25f}
+
+
+Retrieves if the system is connected to the server used to shae bitmaps. 
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily EINA\_\-TRUE} if connected, {\ttfamily EINA\_\-FALSE} otherwise. 
+\end{DoxyReturn}
+\index{Evas\_\-Cserve@{Evas\_\-Cserve}!evas\_\-cserve\_\-stats\_\-get@{evas\_\-cserve\_\-stats\_\-get}}
+\index{evas\_\-cserve\_\-stats\_\-get@{evas\_\-cserve\_\-stats\_\-get}!Evas_Cserve@{Evas\_\-Cserve}}
+\subsubsection[{evas\_\-cserve\_\-stats\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-cserve\_\-stats\_\-get (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Cserve\_\-Stats} $\ast$}]{ stats}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Cserve_ga82fec634eb97f664e9cb3ed08358b1a2}
+
+
+Retrieves if the system wants to share bitmaps using the server. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em stats}]pointer to structure to fill with statistics about cache server. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily EINA\_\-TRUE} if {\ttfamily stats} were filled with data, {\ttfamily EINA\_\-FALSE} otherwise and {\ttfamily stats} is untouched. 
+\end{DoxyReturn}
+
+
+References \_\-Evas\_\-Cserve\_\-Stats::saved\_\-memory, \_\-Evas\_\-Cserve\_\-Stats::saved\_\-memory\_\-peak, \_\-Evas\_\-Cserve\_\-Stats::saved\_\-time\_\-image\_\-data\_\-load, \_\-Evas\_\-Cserve\_\-Stats::saved\_\-time\_\-image\_\-header\_\-load, \_\-Evas\_\-Cserve\_\-Stats::wasted\_\-memory, and \_\-Evas\_\-Cserve\_\-Stats::wasted\_\-memory\_\-peak.
+
+\index{Evas\_\-Cserve@{Evas\_\-Cserve}!evas\_\-cserve\_\-want\_\-get@{evas\_\-cserve\_\-want\_\-get}}
+\index{evas\_\-cserve\_\-want\_\-get@{evas\_\-cserve\_\-want\_\-get}!Evas_Cserve@{Evas\_\-Cserve}}
+\subsubsection[{evas\_\-cserve\_\-want\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-cserve\_\-want\_\-get (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Cserve_gab039ccd04ab2e8857a0df629b4ac0901}
+
+
+Retrieves if the system wants to share bitmaps using the server. 
+
+\begin{DoxyReturn}{Returns}
+{\ttfamily EINA\_\-TRUE} if wants, {\ttfamily EINA\_\-FALSE} otherwise. 
+\end{DoxyReturn}
diff --git a/doc/latex/group__Evas__Event__Feeding__Group.tex b/doc/latex/group__Evas__Event__Feeding__Group.tex
new file mode 100644 (file)
index 0000000..38a6545
--- /dev/null
@@ -0,0 +1,286 @@
+\section{Event Feeding Functions}
+\label{group__Evas__Event__Feeding__Group}\index{Event Feeding Functions@{Event Feeding Functions}}
+
+
+Functions to tell Evas that events happened and should be processed.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI int \hyperlink{group__Evas__Event__Feeding__Group_gabc15f5115b4baaeafd2d144f307b6b64}{evas\_\-event\_\-freeze\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Return the freeze count of a given canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga5c9811b87406a96ff573b83d1efd52f2}{evas\_\-event\_\-feed\_\-mouse\_\-down} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int b, \hyperlink{Evas_8h_aae3a7dde94160cc18015784fb192bb2f}{Evas\_\-Button\_\-Flags} flags, unsigned int timestamp, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Mouse down event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_gacb400569d04ecfd2b89eb0f39856581c}{evas\_\-event\_\-feed\_\-mouse\_\-up} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int b, \hyperlink{Evas_8h_aae3a7dde94160cc18015784fb192bb2f}{Evas\_\-Button\_\-Flags} flags, unsigned int timestamp, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Mouse up event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga5c300cdca8551fd49d5341ef19c8f385}{evas\_\-event\_\-feed\_\-mouse\_\-cancel} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, unsigned int timestamp, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Mouse cancel event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga393156722bbe1ce384f0ab33ab76a1f2}{evas\_\-event\_\-feed\_\-mouse\_\-wheel} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int direction, int z, unsigned int timestamp, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Mouse wheel event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga480017cad2b8982bee7a894433aff2f7}{evas\_\-event\_\-feed\_\-mouse\_\-move} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int x, int y, unsigned int timestamp, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Mouse move event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_gac9c7fada70cfee1f8124ab5446cc59ed}{evas\_\-event\_\-feed\_\-mouse\_\-in} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, unsigned int timestamp, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Mouse in event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga64f5f2d26a018f4e6154b91251e6bb13}{evas\_\-event\_\-feed\_\-mouse\_\-out} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, unsigned int timestamp, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Mouse out event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_ga096e2ef05bfa471d2773729bd24732a0}{evas\_\-event\_\-feed\_\-key\_\-down} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname, const char $\ast$key, const char $\ast$string, const char $\ast$compose, unsigned int timestamp, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Key down event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_gaebe7d4f8b6423aff1ffe67c724d4590d}{evas\_\-event\_\-feed\_\-key\_\-up} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$keyname, const char $\ast$key, const char $\ast$string, const char $\ast$compose, unsigned int timestamp, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Key up event feed. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Feeding__Group_gaedc3a956cd753acdd2a58ad0d2865d04}{evas\_\-event\_\-feed\_\-hold} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int hold, unsigned int timestamp, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Hold event feed. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions to tell Evas that events happened and should be processed. As explained in \hyperlink{index_intro_not_evas}{What Evas is not?}, Evas does not know how to poll for events, so the developer should do it and then feed such events to the canvas to be processed. This is only required if operating Evas directly as modules such as Ecore\_\-Evas does that for you. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-feed\_\-hold@{evas\_\-event\_\-feed\_\-hold}}
+\index{evas\_\-event\_\-feed\_\-hold@{evas\_\-event\_\-feed\_\-hold}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-feed\_\-hold}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-feed\_\-hold (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ hold, }
+\item[{unsigned int}]{ timestamp, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_gaedc3a956cd753acdd2a58ad0d2865d04}
+
+
+Hold event feed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \item[{\em hold}]The hold. \item[{\em timestamp}]The timestamp of the mouse up event. \item[{\em data}]The data for canvas.\end{DoxyParams}
+This function makes the object to stop sending events. 
+
+References EVAS\_\-CALLBACK\_\-HOLD, and \_\-Evas\_\-Event\_\-Hold::hold.
+
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-feed\_\-key\_\-down@{evas\_\-event\_\-feed\_\-key\_\-down}}
+\index{evas\_\-event\_\-feed\_\-key\_\-down@{evas\_\-event\_\-feed\_\-key\_\-down}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-feed\_\-key\_\-down}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-feed\_\-key\_\-down (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{const char $\ast$}]{ keyname, }
+\item[{const char $\ast$}]{ key, }
+\item[{const char $\ast$}]{ string, }
+\item[{const char $\ast$}]{ compose, }
+\item[{unsigned int}]{ timestamp, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_ga096e2ef05bfa471d2773729bd24732a0}
+
+
+Key down event feed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The canvas to thaw out \item[{\em keyname}]Name of the key \item[{\em key}]The key pressed. \item[{\em string}]A String \item[{\em compose}]The compose string \item[{\em timestamp}]Timestamp of the mouse up event \item[{\em data}]Data for canvas.\end{DoxyParams}
+This function will set some evas properties that is necessary when a key is pressed. It prepares information to be treated by the callback function. 
+
+References \_\-Evas\_\-Event\_\-Key\_\-Down::compose, EVAS\_\-CALLBACK\_\-KEY\_\-DOWN, \_\-Evas\_\-Event\_\-Key\_\-Down::key, \_\-Evas\_\-Event\_\-Key\_\-Down::keyname, and \_\-Evas\_\-Event\_\-Key\_\-Down::string.
+
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-feed\_\-key\_\-up@{evas\_\-event\_\-feed\_\-key\_\-up}}
+\index{evas\_\-event\_\-feed\_\-key\_\-up@{evas\_\-event\_\-feed\_\-key\_\-up}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-feed\_\-key\_\-up}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-feed\_\-key\_\-up (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{const char $\ast$}]{ keyname, }
+\item[{const char $\ast$}]{ key, }
+\item[{const char $\ast$}]{ string, }
+\item[{const char $\ast$}]{ compose, }
+\item[{unsigned int}]{ timestamp, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_gaebe7d4f8b6423aff1ffe67c724d4590d}
+
+
+Key up event feed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The canvas to thaw out \item[{\em keyname}]Name of the key \item[{\em key}]The key released. \item[{\em string}]string \item[{\em compose}]compose \item[{\em timestamp}]Timestamp of the mouse up event \item[{\em data}]Data for canvas.\end{DoxyParams}
+This function will set some evas properties that is necessary when a key is released. It prepares information to be treated by the callback function. 
+
+References \_\-Evas\_\-Event\_\-Key\_\-Up::compose, EVAS\_\-CALLBACK\_\-KEY\_\-UP, \_\-Evas\_\-Event\_\-Key\_\-Up::key, \_\-Evas\_\-Event\_\-Key\_\-Up::keyname, and \_\-Evas\_\-Event\_\-Key\_\-Up::string.
+
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-feed\_\-mouse\_\-cancel@{evas\_\-event\_\-feed\_\-mouse\_\-cancel}}
+\index{evas\_\-event\_\-feed\_\-mouse\_\-cancel@{evas\_\-event\_\-feed\_\-mouse\_\-cancel}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-feed\_\-mouse\_\-cancel}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-feed\_\-mouse\_\-cancel (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{unsigned int}]{ timestamp, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_ga5c300cdca8551fd49d5341ef19c8f385}
+
+
+Mouse cancel event feed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \item[{\em timestamp}]The timestamp of the mouse up event. \item[{\em data}]The data for canvas.\end{DoxyParams}
+This function will call \hyperlink{group__Evas__Event__Feeding__Group_gacb400569d04ecfd2b89eb0f39856581c}{evas\_\-event\_\-feed\_\-mouse\_\-up()} when a mouse cancel event happens. 
+
+References evas\_\-event\_\-feed\_\-mouse\_\-up().
+
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-feed\_\-mouse\_\-down@{evas\_\-event\_\-feed\_\-mouse\_\-down}}
+\index{evas\_\-event\_\-feed\_\-mouse\_\-down@{evas\_\-event\_\-feed\_\-mouse\_\-down}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-feed\_\-mouse\_\-down}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-feed\_\-mouse\_\-down (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ b, }
+\item[{{\bf Evas\_\-Button\_\-Flags}}]{ flags, }
+\item[{unsigned int}]{ timestamp, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_ga5c9811b87406a96ff573b83d1efd52f2}
+
+
+Mouse down event feed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \item[{\em b}]The button number. \item[{\em flags}]The evas button flags. \item[{\em timestamp}]The timestamp of the mouse down event. \item[{\em data}]The data for canvas.\end{DoxyParams}
+This function will set some evas properties that is necessary when the mouse button is pressed. It prepares information to be treated by the callback function. 
+
+References \_\-Evas\_\-Event\_\-Mouse\_\-Down::button, and EVAS\_\-CALLBACK\_\-MOUSE\_\-DOWN.
+
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-feed\_\-mouse\_\-in@{evas\_\-event\_\-feed\_\-mouse\_\-in}}
+\index{evas\_\-event\_\-feed\_\-mouse\_\-in@{evas\_\-event\_\-feed\_\-mouse\_\-in}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-feed\_\-mouse\_\-in}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-feed\_\-mouse\_\-in (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{unsigned int}]{ timestamp, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_gac9c7fada70cfee1f8124ab5446cc59ed}
+
+
+Mouse in event feed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \item[{\em timestamp}]The timestamp of the mouse up event. \item[{\em data}]The data for canvas.\end{DoxyParams}
+This function will set some evas properties that is necessary when the mouse in event happens. It prepares information to be treated by the callback function. 
+
+References \_\-Evas\_\-Event\_\-Mouse\_\-In::buttons, EVAS\_\-CALLBACK\_\-MOUSE\_\-IN, and evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-feed\_\-mouse\_\-move@{evas\_\-event\_\-feed\_\-mouse\_\-move}}
+\index{evas\_\-event\_\-feed\_\-mouse\_\-move@{evas\_\-event\_\-feed\_\-mouse\_\-move}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-feed\_\-mouse\_\-move}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-feed\_\-mouse\_\-move (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ x, }
+\item[{int}]{ y, }
+\item[{unsigned int}]{ timestamp, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_ga480017cad2b8982bee7a894433aff2f7}
+
+
+Mouse move event feed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \item[{\em x}]The horizontal position of the mouse pointer. \item[{\em y}]The vertical position of the mouse pointer. \item[{\em timestamp}]The timestamp of the mouse up event. \item[{\em data}]The data for canvas.\end{DoxyParams}
+This function will set some evas properties that is necessary when the mouse is moved from its last position. It prepares information to be treated by the callback function. 
+
+References \_\-Evas\_\-Event\_\-Mouse\_\-In::buttons, \_\-Evas\_\-Event\_\-Mouse\_\-Out::buttons, \_\-Evas\_\-Event\_\-Mouse\_\-Move::buttons, EVAS\_\-CALLBACK\_\-MOUSE\_\-IN, EVAS\_\-CALLBACK\_\-MOUSE\_\-MOVE, and EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT.
+
+
+
+Referenced by evas\_\-event\_\-feed\_\-mouse\_\-in(), evas\_\-event\_\-feed\_\-mouse\_\-up(), evas\_\-object\_\-clip\_\-set(), evas\_\-object\_\-clip\_\-unset(), evas\_\-object\_\-hide(), evas\_\-object\_\-layer\_\-set(), evas\_\-object\_\-line\_\-xy\_\-set(), evas\_\-object\_\-lower(), evas\_\-object\_\-move(), evas\_\-object\_\-pass\_\-events\_\-set(), evas\_\-object\_\-polygon\_\-point\_\-add(), evas\_\-object\_\-polygon\_\-points\_\-clear(), evas\_\-object\_\-raise(), evas\_\-object\_\-repeat\_\-events\_\-set(), evas\_\-object\_\-resize(), evas\_\-object\_\-show(), evas\_\-object\_\-stack\_\-above(), evas\_\-object\_\-stack\_\-below(), evas\_\-object\_\-text\_\-font\_\-set(), and evas\_\-object\_\-text\_\-text\_\-set().
+
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-feed\_\-mouse\_\-out@{evas\_\-event\_\-feed\_\-mouse\_\-out}}
+\index{evas\_\-event\_\-feed\_\-mouse\_\-out@{evas\_\-event\_\-feed\_\-mouse\_\-out}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-feed\_\-mouse\_\-out}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-feed\_\-mouse\_\-out (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{unsigned int}]{ timestamp, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_ga64f5f2d26a018f4e6154b91251e6bb13}
+
+
+Mouse out event feed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \item[{\em timestamp}]Timestamp of the mouse up event. \item[{\em data}]The data for canvas.\end{DoxyParams}
+This function will set some evas properties that is necessary when the mouse out event happens. It prepares information to be treated by the callback function. 
+
+References \_\-Evas\_\-Event\_\-Mouse\_\-Out::buttons, and EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT.
+
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-feed\_\-mouse\_\-up@{evas\_\-event\_\-feed\_\-mouse\_\-up}}
+\index{evas\_\-event\_\-feed\_\-mouse\_\-up@{evas\_\-event\_\-feed\_\-mouse\_\-up}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-feed\_\-mouse\_\-up}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-feed\_\-mouse\_\-up (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ b, }
+\item[{{\bf Evas\_\-Button\_\-Flags}}]{ flags, }
+\item[{unsigned int}]{ timestamp, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_gacb400569d04ecfd2b89eb0f39856581c}
+
+
+Mouse up event feed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \item[{\em b}]The button number. \item[{\em flags}]evas button flags. \item[{\em timestamp}]The timestamp of the mouse up event. \item[{\em data}]The data for canvas.\end{DoxyParams}
+This function will set some evas properties that is necessary when the mouse button is released. It prepares information to be treated by the callback function. 
+
+References \_\-Evas\_\-Event\_\-Mouse\_\-Up::button, \_\-Evas\_\-Event\_\-Mouse\_\-In::buttons, \_\-Evas\_\-Event\_\-Mouse\_\-Out::buttons, EVAS\_\-CALLBACK\_\-MOUSE\_\-IN, EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT, EVAS\_\-CALLBACK\_\-MOUSE\_\-UP, and evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+
+
+Referenced by evas\_\-event\_\-feed\_\-mouse\_\-cancel().
+
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-feed\_\-mouse\_\-wheel@{evas\_\-event\_\-feed\_\-mouse\_\-wheel}}
+\index{evas\_\-event\_\-feed\_\-mouse\_\-wheel@{evas\_\-event\_\-feed\_\-mouse\_\-wheel}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-feed\_\-mouse\_\-wheel}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-feed\_\-mouse\_\-wheel (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ direction, }
+\item[{int}]{ z, }
+\item[{unsigned int}]{ timestamp, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_ga393156722bbe1ce384f0ab33ab76a1f2}
+
+
+Mouse wheel event feed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given canvas pointer. \item[{\em direction}]The wheel mouse direction. \item[{\em z}]How much mouse wheel was scrolled up or down. \item[{\em timestamp}]The timestamp of the mouse up event. \item[{\em data}]The data for canvas.\end{DoxyParams}
+This function will set some evas properties that is necessary when the mouse wheel is scrolled up or down. It prepares information to be treated by the callback function. 
+
+References EVAS\_\-CALLBACK\_\-MOUSE\_\-WHEEL.
+
+\index{Evas\_\-Event\_\-Feeding\_\-Group@{Evas\_\-Event\_\-Feeding\_\-Group}!evas\_\-event\_\-freeze\_\-get@{evas\_\-event\_\-freeze\_\-get}}
+\index{evas\_\-event\_\-freeze\_\-get@{evas\_\-event\_\-freeze\_\-get}!Evas_Event_Feeding_Group@{Evas\_\-Event\_\-Feeding\_\-Group}}
+\subsubsection[{evas\_\-event\_\-freeze\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-event\_\-freeze\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Feeding__Group_gabc15f5115b4baaeafd2d144f307b6b64}
+
+
+Return the freeze count of a given canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The canvas to fetch the freeze count from.\end{DoxyParams}
+This returns the number of times the canvas has been told to freeze events. It is possible to call \hyperlink{group__Evas__Event__Freezing__Group_ga45fee3a26820b56527e434f6173c345e}{evas\_\-event\_\-freeze()} multiple times, and these must be matched by \hyperlink{group__Evas__Event__Freezing__Group_ga4f08e6b3eece51bf285f1226629924e1}{evas\_\-event\_\-thaw()} calls. This call allows the program to discover just how many times things have been frozen in case it may want to break out of a deep freeze state where the count is high.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+
+ while (evas_event_freeze_get(evas) > 0) evas_event_thaw(evas);
+\end{DoxyCode}
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Event__Freezing__Group.tex b/doc/latex/group__Evas__Event__Freezing__Group.tex
new file mode 100644 (file)
index 0000000..d34d048
--- /dev/null
@@ -0,0 +1,63 @@
+\section{Event Freezing Functions}
+\label{group__Evas__Event__Freezing__Group}\index{Event Freezing Functions@{Event Freezing Functions}}
+
+
+Functions that deal with the freezing of event processing of an evas.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Event__Freezing__Group_ga45fee3a26820b56527e434f6173c345e}{evas\_\-event\_\-freeze} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Freeze all event processing. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Event__Freezing__Group_ga4f08e6b3eece51bf285f1226629924e1}{evas\_\-event\_\-thaw} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Thaw a canvas out after freezing. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with the freezing of event processing of an evas. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Event\_\-Freezing\_\-Group@{Evas\_\-Event\_\-Freezing\_\-Group}!evas\_\-event\_\-freeze@{evas\_\-event\_\-freeze}}
+\index{evas\_\-event\_\-freeze@{evas\_\-event\_\-freeze}!Evas_Event_Freezing_Group@{Evas\_\-Event\_\-Freezing\_\-Group}}
+\subsubsection[{evas\_\-event\_\-freeze}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-freeze (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Freezing__Group_ga45fee3a26820b56527e434f6173c345e}
+
+
+Freeze all event processing. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The canvas to freeze event processing on.\end{DoxyParams}
+This function will indicate to evas that the canvas {\ttfamily e} is to have all event processing frozen until a matching \hyperlink{group__Evas__Event__Freezing__Group_ga4f08e6b3eece51bf285f1226629924e1}{evas\_\-event\_\-thaw()} function is called on the same canvas. Every freeze call must be matched by a thaw call in order to completely thaw out a canvas.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+ extern Evas_Object *object;
+
+ evas_event_freeze(evas);
+ evas_object_move(object, 50, 100);
+ evas_object_resize(object, 200, 200);
+ evas_event_thaw(evas);
+\end{DoxyCode}
+ \index{Evas\_\-Event\_\-Freezing\_\-Group@{Evas\_\-Event\_\-Freezing\_\-Group}!evas\_\-event\_\-thaw@{evas\_\-event\_\-thaw}}
+\index{evas\_\-event\_\-thaw@{evas\_\-event\_\-thaw}!Evas_Event_Freezing_Group@{Evas\_\-Event\_\-Freezing\_\-Group}}
+\subsubsection[{evas\_\-event\_\-thaw}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-event\_\-thaw (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Event__Freezing__Group_ga4f08e6b3eece51bf285f1226629924e1}
+
+
+Thaw a canvas out after freezing. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The canvas to thaw out.\end{DoxyParams}
+This will thaw out a canvas after a matching \hyperlink{group__Evas__Event__Freezing__Group_ga45fee3a26820b56527e434f6173c345e}{evas\_\-event\_\-freeze()} call. If this call completely thaws out a canvas, events will start being processed again after this call, but this call will not invole any \char`\"{}missed\char`\"{} events to be evaluated.
+
+See \hyperlink{group__Evas__Event__Freezing__Group_ga45fee3a26820b56527e434f6173c345e}{evas\_\-event\_\-freeze()} for an example. 
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Font__Group.tex b/doc/latex/group__Evas__Font__Group.tex
new file mode 100644 (file)
index 0000000..5edd5f6
--- /dev/null
@@ -0,0 +1,219 @@
+\section{Font Functions}
+\label{group__Evas__Font__Group}\index{Font Functions@{Font Functions}}
+
+
+Functions that deals with fonts.  
+
+
+\subsection*{Modules}
+\begin{DoxyCompactItemize}
+\item 
+\hyperlink{group__Evas__Font__Path__Group}{Font Path Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that edit the paths being used to load fonts. \item\end{DoxyCompactList}
+
+\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef enum \hyperlink{group__Evas__Font__Group_ga49208864211c97ac1a09f03318aa253c}{\_\-Evas\_\-Font\_\-Hinting\_\-Flags} \hyperlink{group__Evas__Font__Group_gaaed9273c1705a3d2356470c60b2f5aa5}{Evas\_\-Font\_\-Hinting\_\-Flags}
+\begin{DoxyCompactList}\small\item\em Flags for Font Hinting. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Enumerations}
+\begin{DoxyCompactItemize}
+\item 
+enum \hyperlink{group__Evas__Font__Group_ga49208864211c97ac1a09f03318aa253c}{\_\-Evas\_\-Font\_\-Hinting\_\-Flags} \{ \par
+\hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338}{EVAS\_\-FONT\_\-HINTING\_\-NONE}, 
+\par
+\hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440}{EVAS\_\-FONT\_\-HINTING\_\-AUTO}, 
+\par
+\hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e}{EVAS\_\-FONT\_\-HINTING\_\-BYTECODE}
+ \}
+\begin{DoxyCompactList}\small\item\em Flags for Font Hinting. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Font__Group_gaf39062952fc420ff32fbacfb8c27bd7d}{evas\_\-font\_\-hinting\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, \hyperlink{group__Evas__Font__Group_gaaed9273c1705a3d2356470c60b2f5aa5}{Evas\_\-Font\_\-Hinting\_\-Flags} hinting)
+\begin{DoxyCompactList}\small\item\em Changes the font hinting for the given evas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Font__Group_gaaed9273c1705a3d2356470c60b2f5aa5}{Evas\_\-Font\_\-Hinting\_\-Flags} \hyperlink{group__Evas__Font__Group_gafe785a87743b72d8064f0562fd79cc75}{evas\_\-font\_\-hinting\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Retrieves the font hinting used by the given evas. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Font__Group_gaa4210fa6661330e67ec4c9cbde775b4b}{evas\_\-font\_\-hinting\_\-can\_\-hint} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, \hyperlink{group__Evas__Font__Group_gaaed9273c1705a3d2356470c60b2f5aa5}{Evas\_\-Font\_\-Hinting\_\-Flags} hinting)
+\begin{DoxyCompactList}\small\item\em Checks if the font hinting is supported by the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Font__Group_gad75ac8ed0c921e774f1c519a66f05a2f}{evas\_\-font\_\-cache\_\-flush} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Force the given evas and associated engine to flush its font cache. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Font__Group_ga5582cfcdb08f6253225bb8cede49033a}{evas\_\-font\_\-cache\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int size)
+\begin{DoxyCompactList}\small\item\em Changes the size of font cache of the given evas. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Font__Group_ga9cf39aae3074cac05c4aafa3ff24c32f}{evas\_\-font\_\-cache\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Changes the size of font cache of the given evas. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Font__Group_ga9d51a2efecf89a81a2990db252f3dc6c}{evas\_\-font\_\-available\_\-list} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em List of available font descriptions known or found by this evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Font__Group_gadde47be1a7d61f416bfa365a5a1e1467}{evas\_\-font\_\-available\_\-list\_\-free} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Eina\_\-List $\ast$available)
+\begin{DoxyCompactList}\small\item\em Free list of font descriptions returned by evas\_\-font\_\-dir\_\-available\_\-list(). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deals with fonts. 
+
+\subsection{Typedef Documentation}
+\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!Evas\_\-Font\_\-Hinting\_\-Flags@{Evas\_\-Font\_\-Hinting\_\-Flags}}
+\index{Evas\_\-Font\_\-Hinting\_\-Flags@{Evas\_\-Font\_\-Hinting\_\-Flags}!Evas_Font_Group@{Evas\_\-Font\_\-Group}}
+\subsubsection[{Evas\_\-Font\_\-Hinting\_\-Flags}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf \_\-Evas\_\-Font\_\-Hinting\_\-Flags}  {\bf Evas\_\-Font\_\-Hinting\_\-Flags}}\label{group__Evas__Font__Group_gaaed9273c1705a3d2356470c60b2f5aa5}
+
+
+Flags for Font Hinting. 
+
+Flags for Font Hinting 
+
+\subsection{Enumeration Type Documentation}
+\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!\_\-Evas\_\-Font\_\-Hinting\_\-Flags@{\_\-Evas\_\-Font\_\-Hinting\_\-Flags}}
+\index{\_\-Evas\_\-Font\_\-Hinting\_\-Flags@{\_\-Evas\_\-Font\_\-Hinting\_\-Flags}!Evas_Font_Group@{Evas\_\-Font\_\-Group}}
+\subsubsection[{\_\-Evas\_\-Font\_\-Hinting\_\-Flags}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Font\_\-Hinting\_\-Flags}}\label{group__Evas__Font__Group_ga49208864211c97ac1a09f03318aa253c}
+
+
+Flags for Font Hinting. 
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-FONT\_\-HINTING\_\-NONE@{EVAS\_\-FONT\_\-HINTING\_\-NONE}!Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}}\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!EVAS\_\-FONT\_\-HINTING\_\-NONE@{EVAS\_\-FONT\_\-HINTING\_\-NONE}}\item[{\em 
+EVAS\_\-FONT\_\-HINTING\_\-NONE\label{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338}
+}]No font hinting. \index{EVAS\_\-FONT\_\-HINTING\_\-AUTO@{EVAS\_\-FONT\_\-HINTING\_\-AUTO}!Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}}\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!EVAS\_\-FONT\_\-HINTING\_\-AUTO@{EVAS\_\-FONT\_\-HINTING\_\-AUTO}}\item[{\em 
+EVAS\_\-FONT\_\-HINTING\_\-AUTO\label{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440}
+}]Automatic font hinting. \index{EVAS\_\-FONT\_\-HINTING\_\-BYTECODE@{EVAS\_\-FONT\_\-HINTING\_\-BYTECODE}!Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}}\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!EVAS\_\-FONT\_\-HINTING\_\-BYTECODE@{EVAS\_\-FONT\_\-HINTING\_\-BYTECODE}}\item[{\em 
+EVAS\_\-FONT\_\-HINTING\_\-BYTECODE\label{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e}
+}]Bytecode font hinting. \end{description}
+\end{Desc}
+
+
+
+\subsection{Function Documentation}
+\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!evas\_\-font\_\-available\_\-list@{evas\_\-font\_\-available\_\-list}}
+\index{evas\_\-font\_\-available\_\-list@{evas\_\-font\_\-available\_\-list}!Evas_Font_Group@{Evas\_\-Font\_\-Group}}
+\subsubsection[{evas\_\-font\_\-available\_\-list}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-List$\ast$ evas\_\-font\_\-available\_\-list (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Group_ga9d51a2efecf89a81a2990db252f3dc6c}
+
+
+List of available font descriptions known or found by this evas. 
+
+The list depends on Evas compile time configuration, such as fontconfig support, and the paths provided at runtime as explained in \hyperlink{group__Evas__Font__Path__Group}{Font Path Functions}.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The evas instance to query. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+a newly allocated list of strings. Do not change the strings. Be sure to call \hyperlink{group__Evas__Font__Group_gadde47be1a7d61f416bfa365a5a1e1467}{evas\_\-font\_\-available\_\-list\_\-free()} after you're done. 
+\end{DoxyReturn}
+\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!evas\_\-font\_\-available\_\-list\_\-free@{evas\_\-font\_\-available\_\-list\_\-free}}
+\index{evas\_\-font\_\-available\_\-list\_\-free@{evas\_\-font\_\-available\_\-list\_\-free}!Evas_Font_Group@{Evas\_\-Font\_\-Group}}
+\subsubsection[{evas\_\-font\_\-available\_\-list\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-font\_\-available\_\-list\_\-free (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{Eina\_\-List $\ast$}]{ available}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Group_gadde47be1a7d61f416bfa365a5a1e1467}
+
+
+Free list of font descriptions returned by evas\_\-font\_\-dir\_\-available\_\-list(). 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The evas instance that returned such list. \item[{\em available}]the list returned by evas\_\-font\_\-dir\_\-available\_\-list(). \end{DoxyParams}
+\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!evas\_\-font\_\-cache\_\-flush@{evas\_\-font\_\-cache\_\-flush}}
+\index{evas\_\-font\_\-cache\_\-flush@{evas\_\-font\_\-cache\_\-flush}!Evas_Font_Group@{Evas\_\-Font\_\-Group}}
+\subsubsection[{evas\_\-font\_\-cache\_\-flush}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-font\_\-cache\_\-flush (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Group_gad75ac8ed0c921e774f1c519a66f05a2f}
+
+
+Force the given evas and associated engine to flush its font cache. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas to flush font cache. \end{DoxyParams}
+\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!evas\_\-font\_\-cache\_\-get@{evas\_\-font\_\-cache\_\-get}}
+\index{evas\_\-font\_\-cache\_\-get@{evas\_\-font\_\-cache\_\-get}!Evas_Font_Group@{Evas\_\-Font\_\-Group}}
+\subsubsection[{evas\_\-font\_\-cache\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-font\_\-cache\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Group_ga9cf39aae3074cac05c4aafa3ff24c32f}
+
+
+Changes the size of font cache of the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas to flush font cache. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The size, in bytes. 
+\end{DoxyReturn}
+\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!evas\_\-font\_\-cache\_\-set@{evas\_\-font\_\-cache\_\-set}}
+\index{evas\_\-font\_\-cache\_\-set@{evas\_\-font\_\-cache\_\-set}!Evas_Font_Group@{Evas\_\-Font\_\-Group}}
+\subsubsection[{evas\_\-font\_\-cache\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-font\_\-cache\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ size}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Group_ga5582cfcdb08f6253225bb8cede49033a}
+
+
+Changes the size of font cache of the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas to flush font cache. \item[{\em size}]The size, in bytes. \end{DoxyParams}
+\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!evas\_\-font\_\-hinting\_\-can\_\-hint@{evas\_\-font\_\-hinting\_\-can\_\-hint}}
+\index{evas\_\-font\_\-hinting\_\-can\_\-hint@{evas\_\-font\_\-hinting\_\-can\_\-hint}!Evas_Font_Group@{Evas\_\-Font\_\-Group}}
+\subsubsection[{evas\_\-font\_\-hinting\_\-can\_\-hint}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-font\_\-hinting\_\-can\_\-hint (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{{\bf Evas\_\-Font\_\-Hinting\_\-Flags}}]{ hinting}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Group_gaa4210fa6661330e67ec4c9cbde775b4b}
+
+
+Checks if the font hinting is supported by the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas to query. \item[{\em hinting}]The hinting to use, one of \hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338}{EVAS\_\-FONT\_\-HINTING\_\-NONE}, \hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440}{EVAS\_\-FONT\_\-HINTING\_\-AUTO}, \hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e}{EVAS\_\-FONT\_\-HINTING\_\-BYTECODE}. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily EINA\_\-TRUE} if it is supported, {\ttfamily EINA\_\-FALSE} otherwise. 
+\end{DoxyReturn}
+\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!evas\_\-font\_\-hinting\_\-get@{evas\_\-font\_\-hinting\_\-get}}
+\index{evas\_\-font\_\-hinting\_\-get@{evas\_\-font\_\-hinting\_\-get}!Evas_Font_Group@{Evas\_\-Font\_\-Group}}
+\subsubsection[{evas\_\-font\_\-hinting\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Font\_\-Hinting\_\-Flags} evas\_\-font\_\-hinting\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Group_gafe785a87743b72d8064f0562fd79cc75}
+
+
+Retrieves the font hinting used by the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas to query. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The hinting in use, one of \hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338}{EVAS\_\-FONT\_\-HINTING\_\-NONE}, \hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440}{EVAS\_\-FONT\_\-HINTING\_\-AUTO}, \hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e}{EVAS\_\-FONT\_\-HINTING\_\-BYTECODE}. 
+\end{DoxyReturn}
+\index{Evas\_\-Font\_\-Group@{Evas\_\-Font\_\-Group}!evas\_\-font\_\-hinting\_\-set@{evas\_\-font\_\-hinting\_\-set}}
+\index{evas\_\-font\_\-hinting\_\-set@{evas\_\-font\_\-hinting\_\-set}!Evas_Font_Group@{Evas\_\-Font\_\-Group}}
+\subsubsection[{evas\_\-font\_\-hinting\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-font\_\-hinting\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{{\bf Evas\_\-Font\_\-Hinting\_\-Flags}}]{ hinting}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Group_gaf39062952fc420ff32fbacfb8c27bd7d}
+
+
+Changes the font hinting for the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \item[{\em hinting}]The hinting to use, one of \hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cabe20aa1c68be79f42ccfda9bc930c338}{EVAS\_\-FONT\_\-HINTING\_\-NONE}, \hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253cac056b6ea8f7ad771b406e217e34b8440}{EVAS\_\-FONT\_\-HINTING\_\-AUTO}, \hyperlink{group__Evas__Font__Group_gga49208864211c97ac1a09f03318aa253ca4731c09040a5e13aee4242483cc5a61e}{EVAS\_\-FONT\_\-HINTING\_\-BYTECODE}. \end{DoxyParams}
diff --git a/doc/latex/group__Evas__Font__Path__Group.tex b/doc/latex/group__Evas__Font__Path__Group.tex
new file mode 100644 (file)
index 0000000..50d1647
--- /dev/null
@@ -0,0 +1,89 @@
+\section{Font Path Functions}
+\label{group__Evas__Font__Path__Group}\index{Font Path Functions@{Font Path Functions}}
+
+
+Functions that edit the paths being used to load fonts.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Font__Path__Group_gad565539bda0fc124e4a0865fa29a8463}{evas\_\-font\_\-path\_\-clear} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Removes all font paths loaded into memory for the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Font__Path__Group_ga0ec22ec047841db059a9f6f0b2ec5918}{evas\_\-font\_\-path\_\-append} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$path)
+\begin{DoxyCompactList}\small\item\em Appends a font path to the list of font paths used by the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Font__Path__Group_ga652be59a6b8a2e7ecb71bef3ac31885b}{evas\_\-font\_\-path\_\-prepend} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$path)
+\begin{DoxyCompactList}\small\item\em Prepends a font path to the list of font paths used by the given evas. \item\end{DoxyCompactList}\item 
+EAPI const Eina\_\-List $\ast$ \hyperlink{group__Evas__Font__Path__Group_ga06fc80b3e4c27237a571404fc6aa3aeb}{evas\_\-font\_\-path\_\-list} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Retrieves the list of font paths used by the given evas. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that edit the paths being used to load fonts. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Font\_\-Path\_\-Group@{Evas\_\-Font\_\-Path\_\-Group}!evas\_\-font\_\-path\_\-append@{evas\_\-font\_\-path\_\-append}}
+\index{evas\_\-font\_\-path\_\-append@{evas\_\-font\_\-path\_\-append}!Evas_Font_Path_Group@{Evas\_\-Font\_\-Path\_\-Group}}
+\subsubsection[{evas\_\-font\_\-path\_\-append}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-font\_\-path\_\-append (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{const char $\ast$}]{ path}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Path__Group_ga0ec22ec047841db059a9f6f0b2ec5918}
+
+
+Appends a font path to the list of font paths used by the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \item[{\em path}]The new font path. \end{DoxyParams}
+\index{Evas\_\-Font\_\-Path\_\-Group@{Evas\_\-Font\_\-Path\_\-Group}!evas\_\-font\_\-path\_\-clear@{evas\_\-font\_\-path\_\-clear}}
+\index{evas\_\-font\_\-path\_\-clear@{evas\_\-font\_\-path\_\-clear}!Evas_Font_Path_Group@{Evas\_\-Font\_\-Path\_\-Group}}
+\subsubsection[{evas\_\-font\_\-path\_\-clear}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-font\_\-path\_\-clear (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Path__Group_gad565539bda0fc124e4a0865fa29a8463}
+
+
+Removes all font paths loaded into memory for the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \end{DoxyParams}
+
+
+Referenced by evas\_\-free().
+
+\index{Evas\_\-Font\_\-Path\_\-Group@{Evas\_\-Font\_\-Path\_\-Group}!evas\_\-font\_\-path\_\-list@{evas\_\-font\_\-path\_\-list}}
+\index{evas\_\-font\_\-path\_\-list@{evas\_\-font\_\-path\_\-list}!Evas_Font_Path_Group@{Evas\_\-Font\_\-Path\_\-Group}}
+\subsubsection[{evas\_\-font\_\-path\_\-list}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const Eina\_\-List$\ast$ evas\_\-font\_\-path\_\-list (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Path__Group_ga06fc80b3e4c27237a571404fc6aa3aeb}
+
+
+Retrieves the list of font paths used by the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The list of font paths used. 
+\end{DoxyReturn}
+\index{Evas\_\-Font\_\-Path\_\-Group@{Evas\_\-Font\_\-Path\_\-Group}!evas\_\-font\_\-path\_\-prepend@{evas\_\-font\_\-path\_\-prepend}}
+\index{evas\_\-font\_\-path\_\-prepend@{evas\_\-font\_\-path\_\-prepend}!Evas_Font_Path_Group@{Evas\_\-Font\_\-Path\_\-Group}}
+\subsubsection[{evas\_\-font\_\-path\_\-prepend}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-font\_\-path\_\-prepend (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{const char $\ast$}]{ path}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Font__Path__Group_ga652be59a6b8a2e7ecb71bef3ac31885b}
+
+
+Prepends a font path to the list of font paths used by the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \item[{\em path}]The new font path. \end{DoxyParams}
diff --git a/doc/latex/group__Evas__Group.tex b/doc/latex/group__Evas__Group.tex
new file mode 100644 (file)
index 0000000..06c60d8
--- /dev/null
@@ -0,0 +1,159 @@
+\section{Top Level Functions}
+\label{group__Evas__Group}\index{Top Level Functions@{Top Level Functions}}
+
+
+Functions that affect Evas as a whole.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI int \hyperlink{group__Evas__Group_ga7e59dbbc6b37d4ce63bea067851ceedd}{evas\_\-async\_\-events\_\-fd\_\-get} (void)
+\begin{DoxyCompactList}\small\item\em Get evas' internal asynchronous events read file descriptor. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Group_ga9f99c6cd0bf0621bdd61d1085999ef47}{evas\_\-async\_\-events\_\-process} (void)
+\begin{DoxyCompactList}\small\item\em Trigger the processing of all events waiting on the file descriptor returned by \hyperlink{group__Evas__Group_ga7e59dbbc6b37d4ce63bea067851ceedd}{evas\_\-async\_\-events\_\-fd\_\-get()}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Group_ga5c1059b55fbca7f55037c4ce52d5d6ca}{evas\_\-async\_\-events\_\-put} (const void $\ast$target, \hyperlink{Evas_8h_a076b2a9b2de2b2144a4193b1d12ed448}{Evas\_\-Callback\_\-Type} type, void $\ast$event\_\-info, Evas\_\-Async\_\-Events\_\-Put\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em Insert asynchronous events on the canvas. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Group_ga939a904ec53bf80796a8ad763cbb4c3c}{evas\_\-init} (void)
+\begin{DoxyCompactList}\small\item\em Initialize Evas. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Group_ga3170193ec2e0ce4d7f0eb55de71060ed}{evas\_\-shutdown} (void)
+\begin{DoxyCompactList}\small\item\em Shutdown Evas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_ae0181b78df8e248703a72a978d271208}{Evas\_\-Alloc\_\-Error} \hyperlink{group__Evas__Group_ga1c782b4511e3b8678a2166c651053ac9}{evas\_\-alloc\_\-error} (void)
+\begin{DoxyCompactList}\small\item\em Return if any allocation errors have occurred during the prior function. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that affect Evas as a whole. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Group@{Evas\_\-Group}!evas\_\-alloc\_\-error@{evas\_\-alloc\_\-error}}
+\index{evas\_\-alloc\_\-error@{evas\_\-alloc\_\-error}!Evas_Group@{Evas\_\-Group}}
+\subsubsection[{evas\_\-alloc\_\-error}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Alloc\_\-Error} evas\_\-alloc\_\-error (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Group_ga1c782b4511e3b8678a2166c651053ac9}
+
+
+Return if any allocation errors have occurred during the prior function. 
+
+\begin{DoxyReturn}{Returns}
+The allocation error flag
+\end{DoxyReturn}
+This function will return if any memory allocation errors occurred during, and what kind they were. The return value will be one of EVAS\_\-ALLOC\_\-ERROR\_\-NONE, EVAS\_\-ALLOC\_\-ERROR\_\-FATAL or EVAS\_\-ALLOC\_\-ERROR\_\-RECOVERED with each meaning something different.
+
+EVAS\_\-ALLOC\_\-ERROR\_\-NONE means that no errors occurred at all and the function worked as expected.
+
+EVAS\_\-ALLOC\_\-ERROR\_\-FATAL means the function was completely unable to perform its job and will have exited as cleanly as possible. The programmer should consider this as a sign of very low memory and should try and safely recover from the prior functions failure (or try free up memory elsewhere and try again after more memory is freed).
+
+EVAS\_\-ALLOC\_\-ERROR\_\-RECOVERED means that an allocation error occurred, but was recovered from by evas finding memory of its own it has allocated and freeing what it sees as not really usefully allocated memory. What is freed may vary. Evas may reduce the resolution of images, free cached images or fonts, trhow out pre-\/rendered data, reduce the complexity of change lists etc. Evas and the program will function as per normal after this, but this is a sign of low memory, and it is suggested that the program try and identify memory it doesn't need, and free it.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas_Object *object;
+ void callback (void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ evas_object_event_callback_add(object, EVAS_CALLBACK_MOUSE_DOWN, callback, NULL)
+      ;
+ if (evas_alloc_error() == EVAS_ALLOC_ERROR_FATAL)
+   {
+     fprintf(stderr, "ERROR: Completely unable to attach callabck. Must\n");
+     fprintf(stderr, "       destroy object now as it cannot be used.\n");
+     evas_object_del(object);
+     object = NULL;
+     fprintf(stderr, "WARNING: Memory is really low. Cleaning out RAM.\n");
+     my_memory_cleanup();
+   }
+ if (evas_alloc_error() == EVAS_ALLOC_ERROR_RECOVERED)
+   {
+     fprintf(stderr, "WARNING: Memory is really low. Cleaning out RAM.\n");
+     my_memory_cleanup();
+   }
+\end{DoxyCode}
+ \index{Evas\_\-Group@{Evas\_\-Group}!evas\_\-async\_\-events\_\-fd\_\-get@{evas\_\-async\_\-events\_\-fd\_\-get}}
+\index{evas\_\-async\_\-events\_\-fd\_\-get@{evas\_\-async\_\-events\_\-fd\_\-get}!Evas_Group@{Evas\_\-Group}}
+\subsubsection[{evas\_\-async\_\-events\_\-fd\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-async\_\-events\_\-fd\_\-get (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Group_ga7e59dbbc6b37d4ce63bea067851ceedd}
+
+
+Get evas' internal asynchronous events read file descriptor. 
+
+\begin{DoxyReturn}{Returns}
+The canvas' asynchronous events read file descriptor.
+\end{DoxyReturn}
+Evas' asynchronous events are meant to be dealt with internally, i. e., when building stuff to be glued together into the EFL infrastructure -\/-\/ a module, for example. The context which demands its use is when calculations need to be done out of the main thread, asynchronously, and some action must be performed after that.
+
+An example of actual use of this API is for image asynchronous preload inside evas. If the canvas was instantiated through ecore-\/evas usage, ecore itself will take care of calling those events' processing.
+
+This function returns the read file descriptor where to get the asynchronous events of the canvas. Naturally, other mainloops, apart from ecore, may make use of it. \index{Evas\_\-Group@{Evas\_\-Group}!evas\_\-async\_\-events\_\-process@{evas\_\-async\_\-events\_\-process}}
+\index{evas\_\-async\_\-events\_\-process@{evas\_\-async\_\-events\_\-process}!Evas_Group@{Evas\_\-Group}}
+\subsubsection[{evas\_\-async\_\-events\_\-process}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-async\_\-events\_\-process (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Group_ga9f99c6cd0bf0621bdd61d1085999ef47}
+
+
+Trigger the processing of all events waiting on the file descriptor returned by \hyperlink{group__Evas__Group_ga7e59dbbc6b37d4ce63bea067851ceedd}{evas\_\-async\_\-events\_\-fd\_\-get()}. 
+
+\begin{DoxyReturn}{Returns}
+The number of events processed.
+\end{DoxyReturn}
+All asynchronous events queued up by \hyperlink{group__Evas__Group_ga5c1059b55fbca7f55037c4ce52d5d6ca}{evas\_\-async\_\-events\_\-put()} are processed here. More precisely, the callback functions, informed together with other event parameters, when queued, get called (with those parameters), in that order. \index{Evas\_\-Group@{Evas\_\-Group}!evas\_\-async\_\-events\_\-put@{evas\_\-async\_\-events\_\-put}}
+\index{evas\_\-async\_\-events\_\-put@{evas\_\-async\_\-events\_\-put}!Evas_Group@{Evas\_\-Group}}
+\subsubsection[{evas\_\-async\_\-events\_\-put}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-async\_\-events\_\-put (
+\begin{DoxyParamCaption}
+\item[{const void $\ast$}]{ target, }
+\item[{{\bf Evas\_\-Callback\_\-Type}}]{ type, }
+\item[{void $\ast$}]{ event\_\-info, }
+\item[{Evas\_\-Async\_\-Events\_\-Put\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Group_ga5c1059b55fbca7f55037c4ce52d5d6ca}
+
+
+Insert asynchronous events on the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em target}]The target to be affected by the events. \item[{\em type}]The type of callback function. \item[{\em event\_\-info}]Information about the event. \item[{\em func}]The callback function pointer.\end{DoxyParams}
+This is the way, for a routine running outside evas' main thread, to report an asynchronous event. A callback function is informed, whose call is to happen after \hyperlink{group__Evas__Group_ga9f99c6cd0bf0621bdd61d1085999ef47}{evas\_\-async\_\-events\_\-process()} is called. \index{Evas\_\-Group@{Evas\_\-Group}!evas\_\-init@{evas\_\-init}}
+\index{evas\_\-init@{evas\_\-init}!Evas_Group@{Evas\_\-Group}}
+\subsubsection[{evas\_\-init}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-init (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Group_ga939a904ec53bf80796a8ad763cbb4c3c}
+
+
+Initialize Evas. 
+
+\begin{DoxyReturn}{Returns}
+The init counter value.
+\end{DoxyReturn}
+This function initialize evas, increments a counter of the number of calls to this function and returns this value.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Group_ga3170193ec2e0ce4d7f0eb55de71060ed}{evas\_\-shutdown()}. 
+\end{DoxySeeAlso}
+\index{Evas\_\-Group@{Evas\_\-Group}!evas\_\-shutdown@{evas\_\-shutdown}}
+\index{evas\_\-shutdown@{evas\_\-shutdown}!Evas_Group@{Evas\_\-Group}}
+\subsubsection[{evas\_\-shutdown}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-shutdown (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Group_ga3170193ec2e0ce4d7f0eb55de71060ed}
+
+
+Shutdown Evas. 
+
+\begin{DoxyReturn}{Returns}
+The init counter value.
+\end{DoxyReturn}
+This function finalize evas, decrements the counter of the number of calls to the function \hyperlink{group__Evas__Group_ga939a904ec53bf80796a8ad763cbb4c3c}{evas\_\-init()} and returns this value.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Group_ga939a904ec53bf80796a8ad763cbb4c3c}{evas\_\-init()}. 
+\end{DoxySeeAlso}
diff --git a/doc/latex/group__Evas__Image__Group.tex b/doc/latex/group__Evas__Image__Group.tex
new file mode 100644 (file)
index 0000000..6c13cd6
--- /dev/null
@@ -0,0 +1,90 @@
+\section{Image Functions}
+\label{group__Evas__Image__Group}\index{Image Functions@{Image Functions}}
+
+
+Functions that deals with images at canvas level.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Image__Group_gab236c9384f6fc7a3e1563839720a8214}{evas\_\-image\_\-cache\_\-flush} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Flush the image cache of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Image__Group_gaec7f0a6cd5e39ebc6f0a80e945127981}{evas\_\-image\_\-cache\_\-reload} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Reload the image cache. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Image__Group_gab28271aad78206e5ee9bed62e0decfa7}{evas\_\-image\_\-cache\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int size)
+\begin{DoxyCompactList}\small\item\em Set the image cache. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Image__Group_gad7ee7f4627d198c0de0ff197fe2f9ed0}{evas\_\-image\_\-cache\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Set the image cache. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deals with images at canvas level. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Image\_\-Group@{Evas\_\-Image\_\-Group}!evas\_\-image\_\-cache\_\-flush@{evas\_\-image\_\-cache\_\-flush}}
+\index{evas\_\-image\_\-cache\_\-flush@{evas\_\-image\_\-cache\_\-flush}!Evas_Image_Group@{Evas\_\-Image\_\-Group}}
+\subsubsection[{evas\_\-image\_\-cache\_\-flush}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-image\_\-cache\_\-flush (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Image__Group_gab236c9384f6fc7a3e1563839720a8214}
+
+
+Flush the image cache of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas pointer.\end{DoxyParams}
+This function flushes image cache of canvas. 
+
+Referenced by evas\_\-image\_\-cache\_\-reload().
+
+\index{Evas\_\-Image\_\-Group@{Evas\_\-Image\_\-Group}!evas\_\-image\_\-cache\_\-get@{evas\_\-image\_\-cache\_\-get}}
+\index{evas\_\-image\_\-cache\_\-get@{evas\_\-image\_\-cache\_\-get}!Evas_Image_Group@{Evas\_\-Image\_\-Group}}
+\subsubsection[{evas\_\-image\_\-cache\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-image\_\-cache\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Image__Group_gad7ee7f4627d198c0de0ff197fe2f9ed0}
+
+
+Set the image cache. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas pointer.\end{DoxyParams}
+This function returns the image cache of canvas. \index{Evas\_\-Image\_\-Group@{Evas\_\-Image\_\-Group}!evas\_\-image\_\-cache\_\-reload@{evas\_\-image\_\-cache\_\-reload}}
+\index{evas\_\-image\_\-cache\_\-reload@{evas\_\-image\_\-cache\_\-reload}!Evas_Image_Group@{Evas\_\-Image\_\-Group}}
+\subsubsection[{evas\_\-image\_\-cache\_\-reload}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-image\_\-cache\_\-reload (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Image__Group_gaec7f0a6cd5e39ebc6f0a80e945127981}
+
+
+Reload the image cache. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas pointer.\end{DoxyParams}
+This function reloads the image cache of canvas. 
+
+References evas\_\-image\_\-cache\_\-flush().
+
+\index{Evas\_\-Image\_\-Group@{Evas\_\-Image\_\-Group}!evas\_\-image\_\-cache\_\-set@{evas\_\-image\_\-cache\_\-set}}
+\index{evas\_\-image\_\-cache\_\-set@{evas\_\-image\_\-cache\_\-set}!Evas_Image_Group@{Evas\_\-Image\_\-Group}}
+\subsubsection[{evas\_\-image\_\-cache\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-image\_\-cache\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ size}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Image__Group_gab28271aad78206e5ee9bed62e0decfa7}
+
+
+Set the image cache. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas pointer. \item[{\em size}]The cache size.\end{DoxyParams}
+This function sets the image cache of canvas. 
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Line__Group.tex b/doc/latex/group__Evas__Line__Group.tex
new file mode 100644 (file)
index 0000000..9b95e47
--- /dev/null
@@ -0,0 +1,79 @@
+\section{Line Object Functions}
+\label{group__Evas__Line__Group}\index{Line Object Functions@{Line Object Functions}}
+
+
+Functions used to deal with evas line objects.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Line__Group_ga896f1beaea24379495af4cbc5efcebfe}{evas\_\-object\_\-line\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Adds a new evas line object to the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Line__Group_gaa43185929e6e41e9c7315d2230665174}{evas\_\-object\_\-line\_\-xy\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x1, Evas\_\-Coord y1, Evas\_\-Coord x2, Evas\_\-Coord y2)
+\begin{DoxyCompactList}\small\item\em Sets the coordinates of the end points of the given evas line object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Line__Group_ga3fa674863aa41d655caa103f546a9092}{evas\_\-object\_\-line\_\-xy\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$x1, Evas\_\-Coord $\ast$y1, Evas\_\-Coord $\ast$x2, Evas\_\-Coord $\ast$y2)
+\begin{DoxyCompactList}\small\item\em Retrieves the coordinates of the end points of the given evas line object. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions used to deal with evas line objects. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Line\_\-Group@{Evas\_\-Line\_\-Group}!evas\_\-object\_\-line\_\-add@{evas\_\-object\_\-line\_\-add}}
+\index{evas\_\-object\_\-line\_\-add@{evas\_\-object\_\-line\_\-add}!Evas_Line_Group@{Evas\_\-Line\_\-Group}}
+\subsubsection[{evas\_\-object\_\-line\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-line\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Line__Group_ga896f1beaea24379495af4cbc5efcebfe}
+
+
+Adds a new evas line object to the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The new evas line object. 
+\end{DoxyReturn}
+\index{Evas\_\-Line\_\-Group@{Evas\_\-Line\_\-Group}!evas\_\-object\_\-line\_\-xy\_\-get@{evas\_\-object\_\-line\_\-xy\_\-get}}
+\index{evas\_\-object\_\-line\_\-xy\_\-get@{evas\_\-object\_\-line\_\-xy\_\-get}!Evas_Line_Group@{Evas\_\-Line\_\-Group}}
+\subsubsection[{evas\_\-object\_\-line\_\-xy\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-line\_\-xy\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord $\ast$}]{ x1, }
+\item[{Evas\_\-Coord $\ast$}]{ y1, }
+\item[{Evas\_\-Coord $\ast$}]{ x2, }
+\item[{Evas\_\-Coord $\ast$}]{ y2}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Line__Group_ga3fa674863aa41d655caa103f546a9092}
+
+
+Retrieves the coordinates of the end points of the given evas line object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given line object. \item[{\em x1}]Pointer to an integer in which to store the X coordinate of the first end point. \item[{\em y1}]Pointer to an integer in which to store the Y coordinate of the first end point. \item[{\em x2}]Pointer to an integer in which to store the X coordinate of the second end point. \item[{\em y2}]Pointer to an integer in which to store the Y coordinate of the second end point. \end{DoxyParams}
+\index{Evas\_\-Line\_\-Group@{Evas\_\-Line\_\-Group}!evas\_\-object\_\-line\_\-xy\_\-set@{evas\_\-object\_\-line\_\-xy\_\-set}}
+\index{evas\_\-object\_\-line\_\-xy\_\-set@{evas\_\-object\_\-line\_\-xy\_\-set}!Evas_Line_Group@{Evas\_\-Line\_\-Group}}
+\subsubsection[{evas\_\-object\_\-line\_\-xy\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-line\_\-xy\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ x1, }
+\item[{Evas\_\-Coord}]{ y1, }
+\item[{Evas\_\-Coord}]{ x2, }
+\item[{Evas\_\-Coord}]{ y2}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Line__Group_gaa43185929e6e41e9c7315d2230665174}
+
+
+Sets the coordinates of the end points of the given evas line object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas line object. \item[{\em x1}]The X coordinate of the first point. \item[{\em y1}]The Y coordinate of the first point. \item[{\em x2}]The X coordinate of the second point. \item[{\em y2}]The Y coordinate of the second point. \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
diff --git a/doc/latex/group__Evas__Object__Box.tex b/doc/latex/group__Evas__Object__Box.tex
new file mode 100644 (file)
index 0000000..dce0c23
--- /dev/null
@@ -0,0 +1,769 @@
+\section{Box (Sequence) Smart Object.}
+\label{group__Evas__Object__Box}\index{Box (Sequence) Smart Object.@{Box (Sequence) Smart Object.}}
+
+
+Convenience smart object that packs children as a sequence using a layout function specified by user.  
+
+
+\subsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item 
+struct \hyperlink{struct__Evas__Object__Box__Api}{\_\-Evas\_\-Object\_\-Box\_\-Api}
+\begin{DoxyCompactList}\small\item\em This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with \hyperlink{group__Evas__Object__Box_ga2116d23c11ab08d7c50cbcb588de5570}{evas\_\-object\_\-box\_\-layout\_\-set()}. \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Object__Box__Data}{\_\-Evas\_\-Object\_\-Box\_\-Data}
+\begin{DoxyCompactList}\small\item\em This structure augments clipped smart object's instance data, providing extra members required by generic box implementation. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Defines}
+\begin{DoxyCompactItemize}
+\item 
+\#define \hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT}(smart\_\-class\_\-init)~\{smart\_\-class\_\-init, EVAS\_\-OBJECT\_\-BOX\_\-API\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer for whole Evas\_\-Object\_\-Box\_\-Api structure. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL}~EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT(EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL)
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Object\_\-Box\_\-Api structure. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION}~EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT(EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION)
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Object\_\-Box\_\-Api structure and set version. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION}(name)~EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT(EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION(name))
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Object\_\-Box\_\-Api structure and set name and version. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef struct \hyperlink{struct__Evas__Object__Box__Api}{\_\-Evas\_\-Object\_\-Box\_\-Api} \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\_\-Object\_\-Box\_\-Api}\label{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}
+
+\begin{DoxyCompactList}\small\item\em Smart Class extension providing extra box requirements. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Object__Box__Data}{\_\-Evas\_\-Object\_\-Box\_\-Data} \hyperlink{group__Evas__Object__Box_gac9047b7cff95df59f61c7321967caf7b}{Evas\_\-Object\_\-Box\_\-Data}\label{group__Evas__Object__Box_gac9047b7cff95df59f61c7321967caf7b}
+
+\begin{DoxyCompactList}\small\item\em Smart instance data providing box requirements. \item\end{DoxyCompactList}\item 
+typedef struct \_\-Evas\_\-Object\_\-Box\_\-Option \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option}\label{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}
+
+\begin{DoxyCompactList}\small\item\em The base structure for a box option. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Box_ga84e87534e6a45a725d59c0366f4e6544}{evas\_\-object\_\-box\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$evas)
+\begin{DoxyCompactList}\small\item\em Create a new box. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Box_gaf332313478211a06a09038755cf139bf}{evas\_\-object\_\-box\_\-add\_\-to} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$parent)
+\begin{DoxyCompactList}\small\item\em Create a box that is child of a given element {\itshape parent\/}. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_ga19c407e45de527d9400823fb1c85d0fe}{evas\_\-object\_\-box\_\-smart\_\-set} (\hyperlink{struct__Evas__Object__Box__Api}{Evas\_\-Object\_\-Box\_\-Api} $\ast$api)
+\begin{DoxyCompactList}\small\item\em Set the default box {\itshape api\/} struct (Evas\_\-Object\_\-Box\_\-Api) with the default values. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{struct__Evas__Object__Box__Api}{Evas\_\-Object\_\-Box\_\-Api} $\ast$ \hyperlink{group__Evas__Object__Box_ga58da2c7328e5c8a01a8817f934d083ff}{evas\_\-object\_\-box\_\-smart\_\-class\_\-get} (void)\label{group__Evas__Object__Box_ga58da2c7328e5c8a01a8817f934d083ff}
+
+\begin{DoxyCompactList}\small\item\em Get Box Smart Class for inheritance purposes. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_ga2116d23c11ab08d7c50cbcb588de5570}{evas\_\-object\_\-box\_\-layout\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Evas\_\-Object\_\-Box\_\-Layout cb, const void $\ast$data, void($\ast$free\_\-data)(void $\ast$data))
+\begin{DoxyCompactList}\small\item\em Set a 'calculate' callback ({\itshape cb\/}) to the {\itshape o\/} box's smart class, which here defines its genre (horizontal, vertical, homogeneous, etc. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gaabb841838ce9c05f6b99350d15b76aaf}{evas\_\-object\_\-box\_\-layout\_\-horizontal} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{struct__Evas__Object__Box__Data}{Evas\_\-Object\_\-Box\_\-Data} $\ast$priv, void $\ast$data \_\-\_\-UNUSED\_\-\_\-)
+\begin{DoxyCompactList}\small\item\em Layout function which sets the box {\itshape o\/} to a (basic) horizontal box. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_ga1e102aa54789b74f54944c17d0a880db}{evas\_\-object\_\-box\_\-layout\_\-vertical} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{struct__Evas__Object__Box__Data}{Evas\_\-Object\_\-Box\_\-Data} $\ast$priv, void $\ast$data \_\-\_\-UNUSED\_\-\_\-)
+\begin{DoxyCompactList}\small\item\em Layout function which sets the box {\itshape o\/} to a (basic) vertical box. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gac4478016783bad6d2170571a11a23e21}{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{struct__Evas__Object__Box__Data}{Evas\_\-Object\_\-Box\_\-Data} $\ast$priv, void $\ast$data \_\-\_\-UNUSED\_\-\_\-)
+\begin{DoxyCompactList}\small\item\em Layout function which sets the box {\itshape o\/} to a $\ast$homogeneous$\ast$ horizontal box. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gaa860afd56866955550ae650464d2dc9a}{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{struct__Evas__Object__Box__Data}{Evas\_\-Object\_\-Box\_\-Data} $\ast$priv, void $\ast$data \_\-\_\-UNUSED\_\-\_\-)
+\begin{DoxyCompactList}\small\item\em Layout function which sets the box {\itshape o\/} to a $\ast$homogeneous$\ast$ vertical box. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gab9e441a27ebe6253ef1b9d6d25ee9bc4}{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{struct__Evas__Object__Box__Data}{Evas\_\-Object\_\-Box\_\-Data} $\ast$priv, void $\ast$data \_\-\_\-UNUSED\_\-\_\-)
+\begin{DoxyCompactList}\small\item\em Layout function which sets the box {\itshape o\/} to a $\ast$max size-\/homogeneous$\ast$ horizontal box. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gabccbf4cf59018eac96c9281576b61abf}{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{struct__Evas__Object__Box__Data}{Evas\_\-Object\_\-Box\_\-Data} $\ast$priv, void $\ast$data \_\-\_\-UNUSED\_\-\_\-)
+\begin{DoxyCompactList}\small\item\em Layout function which sets the box {\itshape o\/} to a $\ast$max size-\/homogeneous$\ast$ vertical box. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_ga99ee061972f53fb7d9213d586c29cc8d}{evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{struct__Evas__Object__Box__Data}{Evas\_\-Object\_\-Box\_\-Data} $\ast$priv, void $\ast$data \_\-\_\-UNUSED\_\-\_\-)
+\begin{DoxyCompactList}\small\item\em Layout function which sets the box {\itshape o\/} to a $\ast$flow$\ast$ horizontal box. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gaa6e0bf47f84d7bb1b2439f4b6123e7d7}{evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{struct__Evas__Object__Box__Data}{Evas\_\-Object\_\-Box\_\-Data} $\ast$priv, void $\ast$data \_\-\_\-UNUSED\_\-\_\-)
+\begin{DoxyCompactList}\small\item\em Layout function which sets the box {\itshape o\/} to a $\ast$flow$\ast$ vertical box. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gae40153d3702dcb79f2587364cde2fb7b}{evas\_\-object\_\-box\_\-layout\_\-stack} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{struct__Evas__Object__Box__Data}{Evas\_\-Object\_\-Box\_\-Data} $\ast$priv, void $\ast$data \_\-\_\-UNUSED\_\-\_\-)
+\begin{DoxyCompactList}\small\item\em Layout function which sets the box {\itshape o\/} to set all children to the size of the object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gae66fe763591e62621cf6352528d97e10}{evas\_\-object\_\-box\_\-align\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, double horizontal, double vertical)\label{group__Evas__Object__Box_gae66fe763591e62621cf6352528d97e10}
+
+\begin{DoxyCompactList}\small\item\em Set the alignment of the whole bounding box of contents. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gad87e3a868b14d1a28da7511f95b59673}{evas\_\-object\_\-box\_\-align\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, double $\ast$horizontal, double $\ast$vertical)\label{group__Evas__Object__Box_gad87e3a868b14d1a28da7511f95b59673}
+
+\begin{DoxyCompactList}\small\item\em Get alignment of the whole bounding box of contents. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_ga75ab3d2f84c328010c26a6b8d89c9c67}{evas\_\-object\_\-box\_\-padding\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Evas\_\-Coord horizontal, Evas\_\-Coord vertical)\label{group__Evas__Object__Box_ga75ab3d2f84c328010c26a6b8d89c9c67}
+
+\begin{DoxyCompactList}\small\item\em Set the space (padding) between cells. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Box_gab24383f3b29c8bc78c98cd0b0f16902d}{evas\_\-object\_\-box\_\-padding\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Evas\_\-Coord $\ast$horizontal, Evas\_\-Coord $\ast$vertical)\label{group__Evas__Object__Box_gab24383f3b29c8bc78c98cd0b0f16902d}
+
+\begin{DoxyCompactList}\small\item\em Get the (space) padding between cells. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$ \hyperlink{group__Evas__Object__Box_gaa06e910577a949fc55b3a661d17f2fb3}{evas\_\-object\_\-box\_\-append} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$child)
+\begin{DoxyCompactList}\small\item\em Append a new object {\itshape child\/} to the box {\itshape o\/}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$ \hyperlink{group__Evas__Object__Box_ga0fec96faf6bbc106b8af28ff479ddfc3}{evas\_\-object\_\-box\_\-prepend} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$child)
+\begin{DoxyCompactList}\small\item\em Prepend a new object {\itshape child\/} to the box {\itshape o\/}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$ \hyperlink{group__Evas__Object__Box_ga5759fa41a7c3541f43ae98f58bd1ec85}{evas\_\-object\_\-box\_\-insert\_\-before} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$child, const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$reference)
+\begin{DoxyCompactList}\small\item\em Prepend a new object {\itshape child\/} to the box {\ttfamily o} relative to element {\itshape reference\/}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$ \hyperlink{group__Evas__Object__Box_ga9b1fc7ee0200ce3917da70b00fb8637c}{evas\_\-object\_\-box\_\-insert\_\-after} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$child, const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$reference)
+\begin{DoxyCompactList}\small\item\em Append a new object {\itshape child\/} to the box {\ttfamily o} relative to element {\itshape reference\/}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$ \hyperlink{group__Evas__Object__Box_ga01b2f0564057297d6853844b77fba3a6}{evas\_\-object\_\-box\_\-insert\_\-at} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$child, unsigned int pos)
+\begin{DoxyCompactList}\small\item\em Insert a new object {\itshape child\/} to the box {\itshape o\/} at position {\itshape pos\/}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Box_ga90c644be44c06e2e4f966cb14b7a93a5}{evas\_\-object\_\-box\_\-remove} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$child)
+\begin{DoxyCompactList}\small\item\em Remove an object {\itshape child\/} from the box {\itshape o\/}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Box_ga7d6a7321327f1398790d1f12cccd38f3}{evas\_\-object\_\-box\_\-remove\_\-at} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, unsigned int pos)
+\begin{DoxyCompactList}\small\item\em Remove an object from the box {\itshape o\/} which occupies position {\itshape pos\/}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Box_ga6c114f237f66c0208f0669783f671318}{evas\_\-object\_\-box\_\-remove\_\-all} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Eina\_\-Bool clear)
+\begin{DoxyCompactList}\small\item\em Remove all child objects. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Iterator $\ast$ \hyperlink{group__Evas__Object__Box_ga2a3ceff4f02512fa7f85618252eacbdc}{evas\_\-object\_\-box\_\-iterator\_\-new} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o)
+\begin{DoxyCompactList}\small\item\em Get an iterator to walk the list of children for the box. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Accessor $\ast$ \hyperlink{group__Evas__Object__Box_gad5c5837393bd163f6cde72bde073333b}{evas\_\-object\_\-box\_\-accessor\_\-new} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o)
+\begin{DoxyCompactList}\small\item\em Get an accessor to get random access to the list of children for the box. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Box_ga542294a74645829cd5531a8ddec32d9c}{evas\_\-object\_\-box\_\-children\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o)
+\begin{DoxyCompactList}\small\item\em Get the list of children for the box. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Box_gad6b908faeca8fb7e16c002509a86ffab}{evas\_\-object\_\-box\_\-option\_\-property\_\-name\_\-get} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, int property)
+\begin{DoxyCompactList}\small\item\em Get the name of the property of the child elements of the box {\itshape o\/} whose id is {\itshape property\/}. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Box_ga1b799e5048ba268f47212e29cd8cc3fb}{evas\_\-object\_\-box\_\-option\_\-property\_\-id\_\-get} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, const char $\ast$name)
+\begin{DoxyCompactList}\small\item\em Get the id of the property of the child elements of the box {\itshape o\/} whose name is {\itshape name\/}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Box_gae2892100753fd70af716f415637f6d86}{evas\_\-object\_\-box\_\-option\_\-property\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$opt, int property,...)
+\begin{DoxyCompactList}\small\item\em Set the property (with id {\itshape property\/}) of the child element of the box {\itshape o\/} whose property struct is {\itshape opt\/}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Box_ga56c828490bb5778be68908147c32fa6d}{evas\_\-object\_\-box\_\-option\_\-property\_\-vset} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$opt, int property, va\_\-list args)
+\begin{DoxyCompactList}\small\item\em Set the property (with id {\itshape property\/}) of the child element of the box {\itshape o\/} whose property struct is {\itshape opt\/}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Box_ga688c2cd7e2901fd491ff3b4a78dace89}{evas\_\-object\_\-box\_\-option\_\-property\_\-get} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$opt, int property,...)
+\begin{DoxyCompactList}\small\item\em Get the property (with id {\itshape property\/}) of the child element of the box {\itshape o\/} whose property struct is {\itshape opt\/}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Box_ga987c048602d55d921c250d1cc57b5873}{evas\_\-object\_\-box\_\-option\_\-property\_\-vget} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Box_gabbeb05bf47aaf7681e9d83a1b0055d20}{Evas\_\-Object\_\-Box\_\-Option} $\ast$opt, int property, va\_\-list args)
+\begin{DoxyCompactList}\small\item\em Get the property (with id {\itshape property\/}) of the child element of the box {\itshape o\/} whose property struct is {\itshape opt\/}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Convenience smart object that packs children as a sequence using a layout function specified by user. There are a couple of helper layout functions, all of them using children size hints to define their size and alignment inside their cell space.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Size__Hints}{Size Hints} 
+\end{DoxySeeAlso}
+
+
+\subsection{Define Documentation}
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT@{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT}}
+\index{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT@{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT(
+\begin{DoxyParamCaption}
+\item[{}]{smart\_\-class\_\-init}
+\end{DoxyParamCaption}
+)~\{smart\_\-class\_\-init, EVAS\_\-OBJECT\_\-BOX\_\-API\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}}\label{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}
+
+
+Initializer for whole Evas\_\-Object\_\-Box\_\-Api structure. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em smart\_\-class\_\-init}]initializer to use for the \char`\"{}base\char`\"{} field (Evas\_\-Smart\_\-Class).\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Group_ga223f5d420c1e22275cd6490cd77c85f0}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL} 
+
+\hyperlink{group__Evas__Smart__Group_gaaa610a135c79167162405b56cffe8562}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION} 
+
+\hyperlink{group__Evas__Smart__Group_gaff2bbd5bb79e51ad8d31f98106caff77}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION} 
+
+\hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL} 
+
+\hyperlink{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION} 
+
+\hyperlink{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION} 
+\end{DoxySeeAlso}
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION@{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION}}
+\index{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION@{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION(
+\begin{DoxyParamCaption}
+\item[{}]{name}
+\end{DoxyParamCaption}
+)~EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT(EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION(name))}\label{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}
+
+
+Initializer to zero a whole Evas\_\-Object\_\-Box\_\-Api structure and set name and version. 
+
+Similar to EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL, but will set version field of Evas\_\-Smart\_\-Class (base field) to latest EVAS\_\-SMART\_\-CLASS\_\-VERSION and name to the specific value.
+
+It will keep a reference to name field as a \char`\"{}const char $\ast$\char`\"{}, that is, name must be available while the structure is used (hint: static or global!) and will not be modified.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL} 
+
+\hyperlink{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION} 
+
+\hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT} 
+\end{DoxySeeAlso}
+
+
+Referenced by evas\_\-object\_\-box\_\-smart\_\-class\_\-get().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL@{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL}}
+\index{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL@{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL~EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT(EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL)}\label{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}
+
+
+Initializer to zero a whole Evas\_\-Object\_\-Box\_\-Api structure. 
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION} 
+
+\hyperlink{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION} 
+
+\hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT} 
+\end{DoxySeeAlso}
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION@{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION}}
+\index{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION@{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-VERSION~EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT(EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION)}\label{group__Evas__Object__Box_gabab7b773ecb31ecbf661646d5db1bea1}
+
+
+Initializer to zero a whole Evas\_\-Object\_\-Box\_\-Api structure and set version. 
+
+Similar to EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL, but will set version field of Evas\_\-Smart\_\-Class (base field) to latest EVAS\_\-SMART\_\-CLASS\_\-VERSION
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Box_gacfe469ef2fc811ab4af8c77105bf4baa}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NULL} 
+
+\hyperlink{group__Evas__Object__Box_gad35b8c6b395f976397abbb6f964878e7}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT\_\-NAME\_\-VERSION} 
+
+\hyperlink{group__Evas__Object__Box_ga118b1b5bc278185207e7651911637ac8}{EVAS\_\-OBJECT\_\-BOX\_\-API\_\-INIT} 
+\end{DoxySeeAlso}
+
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-accessor\_\-new@{evas\_\-object\_\-box\_\-accessor\_\-new}}
+\index{evas\_\-object\_\-box\_\-accessor\_\-new@{evas\_\-object\_\-box\_\-accessor\_\-new}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-accessor\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Accessor$\ast$ evas\_\-object\_\-box\_\-accessor\_\-new (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ o}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gad5c5837393bd163f6cde72bde073333b}
+
+
+Get an accessor to get random access to the list of children for the box. 
+
+\begin{DoxyNote}{Note}
+Do not remove or delete objects while walking the list. 
+\end{DoxyNote}
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-add@{evas\_\-object\_\-box\_\-add}}
+\index{evas\_\-object\_\-box\_\-add@{evas\_\-object\_\-box\_\-add}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-box\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ evas}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga84e87534e6a45a725d59c0366f4e6544}
+
+
+Create a new box. 
+
+Its layout function must be set via \hyperlink{group__Evas__Object__Box_ga2116d23c11ab08d7c50cbcb588de5570}{evas\_\-object\_\-box\_\-layout\_\-set()} (defaults to \hyperlink{group__Evas__Object__Box_gaabb841838ce9c05f6b99350d15b76aaf}{evas\_\-object\_\-box\_\-layout\_\-horizontal()}). The other properties of the box must be set/retrieved via evas\_\-object\_\-box\_\-\{h,v\}\_\-\{align,padding\}\_\-\{get,set)(). 
+
+References evas\_\-object\_\-smart\_\-add().
+
+
+
+Referenced by evas\_\-object\_\-box\_\-add\_\-to().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-add\_\-to@{evas\_\-object\_\-box\_\-add\_\-to}}
+\index{evas\_\-object\_\-box\_\-add\_\-to@{evas\_\-object\_\-box\_\-add\_\-to}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-add\_\-to}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-box\_\-add\_\-to (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ parent}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gaf332313478211a06a09038755cf139bf}
+
+
+Create a box that is child of a given element {\itshape parent\/}. 
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Box_ga84e87534e6a45a725d59c0366f4e6544}{evas\_\-object\_\-box\_\-add()} 
+\end{DoxySeeAlso}
+
+
+References evas\_\-object\_\-box\_\-add(), evas\_\-object\_\-evas\_\-get(), and evas\_\-object\_\-smart\_\-member\_\-add().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-append@{evas\_\-object\_\-box\_\-append}}
+\index{evas\_\-object\_\-box\_\-append@{evas\_\-object\_\-box\_\-append}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-append}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object\_\-Box\_\-Option}$\ast$ evas\_\-object\_\-box\_\-append (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ child}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gaa06e910577a949fc55b3a661d17f2fb3}
+
+
+Append a new object {\itshape child\/} to the box {\itshape o\/}. 
+
+On error, {\ttfamily NULL} is returned. 
+
+References evas\_\-object\_\-smart\_\-changed(), and evas\_\-object\_\-smart\_\-member\_\-add().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-children\_\-get@{evas\_\-object\_\-box\_\-children\_\-get}}
+\index{evas\_\-object\_\-box\_\-children\_\-get@{evas\_\-object\_\-box\_\-children\_\-get}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-children\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-List$\ast$ evas\_\-object\_\-box\_\-children\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ o}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga542294a74645829cd5531a8ddec32d9c}
+
+
+Get the list of children for the box. 
+
+\begin{DoxyNote}{Note}
+This is a duplicate of the list kept by the box internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the box when walking this list, but these removals won't be reflected on it. 
+\end{DoxyNote}
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-insert\_\-after@{evas\_\-object\_\-box\_\-insert\_\-after}}
+\index{evas\_\-object\_\-box\_\-insert\_\-after@{evas\_\-object\_\-box\_\-insert\_\-after}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-insert\_\-after}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object\_\-Box\_\-Option}$\ast$ evas\_\-object\_\-box\_\-insert\_\-after (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ child, }
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ reference}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga9b1fc7ee0200ce3917da70b00fb8637c}
+
+
+Append a new object {\itshape child\/} to the box {\ttfamily o} relative to element {\itshape reference\/}. 
+
+If {\itshape reference\/} is not contained in the box or any other error occurs, {\ttfamily NULL} is returend. 
+
+References evas\_\-object\_\-smart\_\-changed(), and evas\_\-object\_\-smart\_\-member\_\-add().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-insert\_\-at@{evas\_\-object\_\-box\_\-insert\_\-at}}
+\index{evas\_\-object\_\-box\_\-insert\_\-at@{evas\_\-object\_\-box\_\-insert\_\-at}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-insert\_\-at}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object\_\-Box\_\-Option}$\ast$ evas\_\-object\_\-box\_\-insert\_\-at (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ child, }
+\item[{unsigned int}]{ pos}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga01b2f0564057297d6853844b77fba3a6}
+
+
+Insert a new object {\itshape child\/} to the box {\itshape o\/} at position {\itshape pos\/}. 
+
+On error, {\ttfamily NULL} is returned. 
+
+References evas\_\-object\_\-smart\_\-changed(), and evas\_\-object\_\-smart\_\-member\_\-add().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-insert\_\-before@{evas\_\-object\_\-box\_\-insert\_\-before}}
+\index{evas\_\-object\_\-box\_\-insert\_\-before@{evas\_\-object\_\-box\_\-insert\_\-before}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-insert\_\-before}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object\_\-Box\_\-Option}$\ast$ evas\_\-object\_\-box\_\-insert\_\-before (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ child, }
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ reference}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga5759fa41a7c3541f43ae98f58bd1ec85}
+
+
+Prepend a new object {\itshape child\/} to the box {\ttfamily o} relative to element {\itshape reference\/}. 
+
+If {\itshape reference\/} is not contained in the box or any other error occurs, {\ttfamily NULL} is returned. 
+
+References evas\_\-object\_\-smart\_\-changed(), and evas\_\-object\_\-smart\_\-member\_\-add().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-iterator\_\-new@{evas\_\-object\_\-box\_\-iterator\_\-new}}
+\index{evas\_\-object\_\-box\_\-iterator\_\-new@{evas\_\-object\_\-box\_\-iterator\_\-new}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-iterator\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Iterator$\ast$ evas\_\-object\_\-box\_\-iterator\_\-new (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ o}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga2a3ceff4f02512fa7f85618252eacbdc}
+
+
+Get an iterator to walk the list of children for the box. 
+
+\begin{DoxyNote}{Note}
+Do not remove or delete objects while walking the list. 
+\end{DoxyNote}
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal@{evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal}}
+\index{evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal@{evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Data} $\ast$}]{ priv, }
+\item[{void $\ast$data}]{ \_\-\_\-UNUSED\_\-\_\-}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga99ee061972f53fb7d9213d586c29cc8d}
+
+
+Layout function which sets the box {\itshape o\/} to a $\ast$flow$\ast$ horizontal box. 
+
+{\itshape priv\/} must be the smart data of the box.
+
+In a flow horizontal box, the box's child elements are placed in rows (think of text as an analogy). A row has as much elements as can fit into the box's width. The box's overall behavior is controlled by its properties, which are set by the evas\_\-object\_\-box\_\-\{h,v\}\_\-\{align,padding\}\_\-set() family of functions. The properties of the elements in the box -\/-\/ set by evas\_\-object\_\-size\_\-hint\_\-\{align,padding,weight\}\_\-set() functions -\/-\/ also control the way this function works.
+
+\begin{DoxyParagraph}{box's properties:}
+{\ttfamily padding\_\-h} tells the box to draw empty spaces of that size, in pixels, between the child objects's cells. {\ttfamily align\_\-h} dictates the horizontal alignment of the rows (0 to left align them, 1 to right align). A value of -\/1.0 to {\ttfamily align\_\-h} lets the rows $\ast$justified$\ast$ horizontally. {\ttfamily align\_\-v} controls the vertical alignment of the entire set of rows (0 to top, 1 to bottom). A value of -\/1.0 to {\ttfamily align\_\-v} makes the box to $\ast$justify$\ast$ the rows vertically. The padding between them, in this case, is corrected so that the first row touches the top border and the last one touches the bottom border (even if they must overlap). {\ttfamily padding\_\-v} has no influence on the layout.
+\end{DoxyParagraph}
+\begin{DoxyParagraph}{Child element's properties:}
+{\ttfamily padding\_\-l} and {\ttfamily padding\_\-r} sum up to the required width of the child element. The {\ttfamily align\_\-x} property has no influence on the layout. The child's {\ttfamily padding\_\-t} and {\ttfamily padding\_\-b} sum up to the required height of the child element and is the only means (besides row justifying) of setting space between rows. Note, however, that {\ttfamily align\_\-y} dictates positioning relative to the $\ast$largest height$\ast$ required by a child object in the actual row. 
+\end{DoxyParagraph}
+
+
+References evas\_\-object\_\-geometry\_\-get(), evas\_\-object\_\-move(), evas\_\-object\_\-size\_\-hint\_\-align\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-set(), and evas\_\-object\_\-size\_\-hint\_\-padding\_\-get().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical@{evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical}}
+\index{evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical@{evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Data} $\ast$}]{ priv, }
+\item[{void $\ast$data}]{ \_\-\_\-UNUSED\_\-\_\-}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gaa6e0bf47f84d7bb1b2439f4b6123e7d7}
+
+
+Layout function which sets the box {\itshape o\/} to a $\ast$flow$\ast$ vertical box. 
+
+{\itshape priv\/} must be the smart data of the box.
+
+This function behaves analogously to \hyperlink{group__Evas__Object__Box_ga99ee061972f53fb7d9213d586c29cc8d}{evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal()}. The description of its behaviour can be derived from that function's documentation. 
+
+References evas\_\-object\_\-geometry\_\-get(), evas\_\-object\_\-move(), evas\_\-object\_\-size\_\-hint\_\-align\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-set(), and evas\_\-object\_\-size\_\-hint\_\-padding\_\-get().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal@{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal}}
+\index{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal@{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Data} $\ast$}]{ priv, }
+\item[{void $\ast$data}]{ \_\-\_\-UNUSED\_\-\_\-}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gac4478016783bad6d2170571a11a23e21}
+
+
+Layout function which sets the box {\itshape o\/} to a $\ast$homogeneous$\ast$ horizontal box. 
+
+{\itshape priv\/} must be the smart data of the box.
+
+In a homogeneous horizontal box, its width is divided equally between the contained objects. The box's overall behavior is controlled by its properties, which are set by the evas\_\-object\_\-box\_\-\{h,v\}\_\-\{align,padding\}\_\-set() family of functions. The properties of the elements in the box -\/-\/ set by evas\_\-object\_\-size\_\-hint\_\-\{align,padding,weight\}\_\-set() functions -\/-\/ also control the way this function works.
+
+\begin{DoxyParagraph}{box's properties:}
+{\ttfamily align\_\-h} has no influence on the box for this layout. {\ttfamily padding\_\-h} tells the box to draw empty spaces of that size, in pixels, between the (still equal) child objects's cells. The {\ttfamily align\_\-v} and {\ttfamily padding\_\-v} properties of the box don't contribute to its behaviour when this layout is chosen.
+\end{DoxyParagraph}
+\begin{DoxyParagraph}{Child element's properties:}
+{\ttfamily padding\_\-l} and {\ttfamily padding\_\-r} sum up to the required width of the child element. The {\ttfamily align\_\-x} property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -\/1.0 to {\ttfamily align\_\-x} makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width $\ast$and$\ast$ accounting its horizontal padding properties). The child's {\ttfamily padding\_\-t}, {\ttfamily padding\_\-b} and {\ttfamily align\_\-y} properties apply for padding/positioning relative to the overall height of the box. A value of -\/1.0 to {\ttfamily align\_\-y} makes the box try to resize this child element to the exact height of its parent (respecting the max hint on the child's height). 
+\end{DoxyParagraph}
+
+
+References evas\_\-object\_\-geometry\_\-get(), evas\_\-object\_\-move(), evas\_\-object\_\-resize(), evas\_\-object\_\-size\_\-hint\_\-align\_\-get(), evas\_\-object\_\-size\_\-hint\_\-max\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-set(), and evas\_\-object\_\-size\_\-hint\_\-padding\_\-get().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal@{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal}}
+\index{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal@{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Data} $\ast$}]{ priv, }
+\item[{void $\ast$data}]{ \_\-\_\-UNUSED\_\-\_\-}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gab9e441a27ebe6253ef1b9d6d25ee9bc4}
+
+
+Layout function which sets the box {\itshape o\/} to a $\ast$max size-\/homogeneous$\ast$ horizontal box. 
+
+{\itshape priv\/} must be the smart data of the box.
+
+In a max size-\/homogeneous horizontal box, the equal sized cells reserved for the child objects have the width of the space required by the largest child (in width). The box's overall behavior is controlled by its properties, which are set by the evas\_\-object\_\-box\_\-\{h,v\}\_\-\{align,padding\}\_\-set() family of functions. The properties of the elements in the box -\/-\/ set by evas\_\-object\_\-size\_\-hint\_\-\{align,padding,weight\}\_\-set() functions -\/-\/ also control the way this function works.
+
+\begin{DoxyParagraph}{box's properties:}
+{\ttfamily padding\_\-h} tells the box to draw empty spaces of that size, in pixels, between the child objects's cells. {\ttfamily align\_\-h} controls the horizontal alignment of the child objects relative to the containing box. When set to 0, children are aligned to the left. A value of 1 lets them aligned to the right border. Values in between align them proportionally. A negative value of {\ttfamily align\_\-h} makes the box to $\ast$justify$\ast$ its children cells. The padding between them, in this case, is corrected so that the leftmost one touches the left border and the rightmost one touches the right border (even if they must overlap). The {\ttfamily align\_\-v} and {\ttfamily padding\_\-v} properties of the box don't contribute to its behaviour when this layout is chosen.
+\end{DoxyParagraph}
+\begin{DoxyParagraph}{Child element's properties:}
+{\ttfamily padding\_\-l} and {\ttfamily padding\_\-r} sum up to the required width of the child element. The {\ttfamily align\_\-x} property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -\/1.0 to {\ttfamily align\_\-x} makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width $\ast$and$\ast$ accounting its horizontal padding properties). The child's {\ttfamily padding\_\-t}, {\ttfamily padding\_\-b} and {\ttfamily align\_\-y} properties apply for padding/positioning relative to the overall height of the box. A value of -\/1.0 to {\ttfamily align\_\-y} makes the box try to resize this child element to the exact height of its parent (respecting the max hint on the child's height). 
+\end{DoxyParagraph}
+
+
+References evas\_\-object\_\-geometry\_\-get(), evas\_\-object\_\-move(), evas\_\-object\_\-resize(), evas\_\-object\_\-size\_\-hint\_\-align\_\-get(), evas\_\-object\_\-size\_\-hint\_\-max\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-set(), and evas\_\-object\_\-size\_\-hint\_\-padding\_\-get().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical@{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical}}
+\index{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical@{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Data} $\ast$}]{ priv, }
+\item[{void $\ast$data}]{ \_\-\_\-UNUSED\_\-\_\-}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gabccbf4cf59018eac96c9281576b61abf}
+
+
+Layout function which sets the box {\itshape o\/} to a $\ast$max size-\/homogeneous$\ast$ vertical box. 
+
+{\itshape priv\/} must be the smart data of the box.
+
+This function behaves analogously to \hyperlink{group__Evas__Object__Box_gab9e441a27ebe6253ef1b9d6d25ee9bc4}{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal()}. The description of its behaviour can be derived from that function's documentation. 
+
+References evas\_\-object\_\-geometry\_\-get(), evas\_\-object\_\-move(), evas\_\-object\_\-resize(), evas\_\-object\_\-size\_\-hint\_\-align\_\-get(), evas\_\-object\_\-size\_\-hint\_\-max\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-set(), and evas\_\-object\_\-size\_\-hint\_\-padding\_\-get().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical@{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical}}
+\index{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical@{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Data} $\ast$}]{ priv, }
+\item[{void $\ast$data}]{ \_\-\_\-UNUSED\_\-\_\-}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gaa860afd56866955550ae650464d2dc9a}
+
+
+Layout function which sets the box {\itshape o\/} to a $\ast$homogeneous$\ast$ vertical box. 
+
+{\itshape priv\/} must be the smart data of the box.
+
+This function behaves analogously to \hyperlink{group__Evas__Object__Box_gac4478016783bad6d2170571a11a23e21}{evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal()}. The description of its behaviour can be derived from that function's documentation. 
+
+References evas\_\-object\_\-geometry\_\-get(), evas\_\-object\_\-move(), evas\_\-object\_\-resize(), evas\_\-object\_\-size\_\-hint\_\-align\_\-get(), evas\_\-object\_\-size\_\-hint\_\-max\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-set(), and evas\_\-object\_\-size\_\-hint\_\-padding\_\-get().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-layout\_\-horizontal@{evas\_\-object\_\-box\_\-layout\_\-horizontal}}
+\index{evas\_\-object\_\-box\_\-layout\_\-horizontal@{evas\_\-object\_\-box\_\-layout\_\-horizontal}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-layout\_\-horizontal}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-layout\_\-horizontal (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Data} $\ast$}]{ priv, }
+\item[{void $\ast$data}]{ \_\-\_\-UNUSED\_\-\_\-}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gaabb841838ce9c05f6b99350d15b76aaf}
+
+
+Layout function which sets the box {\itshape o\/} to a (basic) horizontal box. 
+
+{\itshape priv\/} must be the smart data of the box.
+
+The object's overall behavior is controlled by its properties, which are set by the evas\_\-object\_\-box\_\-\{h,v\}\_\-\{align,padding\}\_\-set() family of functions. The properties of the elements in the box -\/-\/ set by evas\_\-object\_\-size\_\-hint\_\-\{align,padding,weight\}\_\-set() functions -\/-\/ also control the way this function works.
+
+\begin{DoxyParagraph}{box's properties:}
+{\ttfamily align\_\-h} controls the horizontal alignment of the child objects relative to the containing box. When set to 0, children are aligned to the left. A value of 1 lets them aligned to the right border. Values in between align them proportionally. Note that if the size required by the children, which is given by their widths and the {\ttfamily padding\_\-h} property of the box, is bigger than the container width, the children will be displayed out of its bounds. A negative value of {\ttfamily align\_\-h} makes the box to $\ast$justify$\ast$ its children. The padding between them, in this case, is corrected so that the leftmost one touches the left border and the rightmost one touches the right border (even if they must overlap). The {\ttfamily align\_\-v} and {\ttfamily padding\_\-v} properties of the box don't contribute to its behaviour when this layout is chosen.
+\end{DoxyParagraph}
+\begin{DoxyParagraph}{Child element's properties:}
+{\ttfamily align\_\-x} does not influence the box's behavior. {\ttfamily padding\_\-l} and {\ttfamily padding\_\-r} sum up to the container's horizontal padding between elements. The child's {\ttfamily padding\_\-t}, {\ttfamily padding\_\-b} and {\ttfamily align\_\-y} properties apply for padding/positioning relative to the overall height of the box. Finally, there is the {\ttfamily weight\_\-x} property, which, if set to a non-\/zero value, tells the container that the child width is not pre-\/defined. If the container can't accommodate all its children, it sets the widths of the children $\ast$with weights$\ast$ to sizes as small as they can all fit into it. If the size required by the children is less than the available, the box increases its children's (which have weights) widths as to fit the remaining space. The {\ttfamily weight\_\-x} property, besides telling the element is resizable, gives a $\ast$weight$\ast$ for the resizing process. The parent box will try to distribute (or take off) widths accordingly to the $\ast$normalized$\ast$ list of weigths: most weighted children remain/get larger in this process than the the least ones. {\ttfamily weight\_\-y} does not influence the layout.
+\end{DoxyParagraph}
+If one desires that, besides having weights, child elements must be resized bounded to a minimum or maximum size, their size hint properties must be set (by the evas\_\-object\_\-size\_\-hint\_\-\{min,max\}\_\-set() functions. 
+
+References evas\_\-object\_\-geometry\_\-get(), evas\_\-object\_\-move(), evas\_\-object\_\-resize(), evas\_\-object\_\-size\_\-hint\_\-align\_\-get(), evas\_\-object\_\-size\_\-hint\_\-max\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-set(), evas\_\-object\_\-size\_\-hint\_\-padding\_\-get(), and evas\_\-object\_\-size\_\-hint\_\-weight\_\-get().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-layout\_\-set@{evas\_\-object\_\-box\_\-layout\_\-set}}
+\index{evas\_\-object\_\-box\_\-layout\_\-set@{evas\_\-object\_\-box\_\-layout\_\-set}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-layout\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-layout\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{Evas\_\-Object\_\-Box\_\-Layout}]{ cb, }
+\item[{const void $\ast$}]{ data, }
+\item[{void($\ast$)(void $\ast$data)}]{ free\_\-data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga2116d23c11ab08d7c50cbcb588de5570}
+
+
+Set a 'calculate' callback ({\itshape cb\/}) to the {\itshape o\/} box's smart class, which here defines its genre (horizontal, vertical, homogeneous, etc. 
+
+). 
+
+References evas\_\-object\_\-smart\_\-changed().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-layout\_\-stack@{evas\_\-object\_\-box\_\-layout\_\-stack}}
+\index{evas\_\-object\_\-box\_\-layout\_\-stack@{evas\_\-object\_\-box\_\-layout\_\-stack}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-layout\_\-stack}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-layout\_\-stack (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Data} $\ast$}]{ priv, }
+\item[{void $\ast$data}]{ \_\-\_\-UNUSED\_\-\_\-}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gae40153d3702dcb79f2587364cde2fb7b}
+
+
+Layout function which sets the box {\itshape o\/} to set all children to the size of the object. 
+
+{\itshape priv\/} must be the smart data of the box.
+
+In a stack box, all children will be given the same size and they will be stacked on above the other, so the first object will be the bottom most.
+
+\begin{DoxyParagraph}{box's properties:}
+No box option is used.
+\end{DoxyParagraph}
+\begin{DoxyParagraph}{Child element's properties:}
+{\ttfamily padding\_\-l} and {\ttfamily padding\_\-r} sum up to the required width of the child element. The {\ttfamily align\_\-x} property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -\/1.0 to {\ttfamily align\_\-x} makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width $\ast$and$\ast$ accounting its horizontal padding properties). Same applies to vertical axis. 
+\end{DoxyParagraph}
+
+
+References evas\_\-object\_\-geometry\_\-get(), evas\_\-object\_\-move(), evas\_\-object\_\-resize(), evas\_\-object\_\-size\_\-hint\_\-align\_\-get(), evas\_\-object\_\-size\_\-hint\_\-max\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-set(), evas\_\-object\_\-size\_\-hint\_\-padding\_\-get(), and evas\_\-object\_\-stack\_\-above().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-layout\_\-vertical@{evas\_\-object\_\-box\_\-layout\_\-vertical}}
+\index{evas\_\-object\_\-box\_\-layout\_\-vertical@{evas\_\-object\_\-box\_\-layout\_\-vertical}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-layout\_\-vertical}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-layout\_\-vertical (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Data} $\ast$}]{ priv, }
+\item[{void $\ast$data}]{ \_\-\_\-UNUSED\_\-\_\-}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga1e102aa54789b74f54944c17d0a880db}
+
+
+Layout function which sets the box {\itshape o\/} to a (basic) vertical box. 
+
+{\itshape priv\/} must be the smart data of the box.
+
+This function behaves analogously to \hyperlink{group__Evas__Object__Box_gaabb841838ce9c05f6b99350d15b76aaf}{evas\_\-object\_\-box\_\-layout\_\-horizontal()}. The description of its behaviour can be derived from that function's documentation. 
+
+References evas\_\-object\_\-geometry\_\-get(), evas\_\-object\_\-move(), evas\_\-object\_\-resize(), evas\_\-object\_\-size\_\-hint\_\-align\_\-get(), evas\_\-object\_\-size\_\-hint\_\-max\_\-get(), evas\_\-object\_\-size\_\-hint\_\-min\_\-set(), evas\_\-object\_\-size\_\-hint\_\-padding\_\-get(), and evas\_\-object\_\-size\_\-hint\_\-weight\_\-get().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-option\_\-property\_\-get@{evas\_\-object\_\-box\_\-option\_\-property\_\-get}}
+\index{evas\_\-object\_\-box\_\-option\_\-property\_\-get@{evas\_\-object\_\-box\_\-option\_\-property\_\-get}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-option\_\-property\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-box\_\-option\_\-property\_\-get (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Option} $\ast$}]{ opt, }
+\item[{int}]{ property, }
+\item[{}]{ ...}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga688c2cd7e2901fd491ff3b4a78dace89}
+
+
+Get the property (with id {\itshape property\/}) of the child element of the box {\itshape o\/} whose property struct is {\itshape opt\/}. 
+
+The last arguments must be addresses of variables with the same type of that property. On error, {\ttfamily 0} is returned. 
+
+References evas\_\-object\_\-box\_\-option\_\-property\_\-vget().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-option\_\-property\_\-id\_\-get@{evas\_\-object\_\-box\_\-option\_\-property\_\-id\_\-get}}
+\index{evas\_\-object\_\-box\_\-option\_\-property\_\-id\_\-get@{evas\_\-object\_\-box\_\-option\_\-property\_\-id\_\-get}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-option\_\-property\_\-id\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-object\_\-box\_\-option\_\-property\_\-id\_\-get (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{const char $\ast$}]{ name}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga1b799e5048ba268f47212e29cd8cc3fb}
+
+
+Get the id of the property of the child elements of the box {\itshape o\/} whose name is {\itshape name\/}. 
+
+On error, {\ttfamily -\/1} is returned. \index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-option\_\-property\_\-name\_\-get@{evas\_\-object\_\-box\_\-option\_\-property\_\-name\_\-get}}
+\index{evas\_\-object\_\-box\_\-option\_\-property\_\-name\_\-get@{evas\_\-object\_\-box\_\-option\_\-property\_\-name\_\-get}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-option\_\-property\_\-name\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-object\_\-box\_\-option\_\-property\_\-name\_\-get (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{int}]{ property}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gad6b908faeca8fb7e16c002509a86ffab}
+
+
+Get the name of the property of the child elements of the box {\itshape o\/} whose id is {\itshape property\/}. 
+
+On error, {\ttfamily NULL} is returned. \index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-option\_\-property\_\-set@{evas\_\-object\_\-box\_\-option\_\-property\_\-set}}
+\index{evas\_\-object\_\-box\_\-option\_\-property\_\-set@{evas\_\-object\_\-box\_\-option\_\-property\_\-set}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-option\_\-property\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-box\_\-option\_\-property\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Option} $\ast$}]{ opt, }
+\item[{int}]{ property, }
+\item[{}]{ ...}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_gae2892100753fd70af716f415637f6d86}
+
+
+Set the property (with id {\itshape property\/}) of the child element of the box {\itshape o\/} whose property struct is {\itshape opt\/}. 
+
+The property's values must be the last arguments and their type $\ast$must$\ast$ match that of the property itself. On error, {\ttfamily 0} is returned. 
+
+References evas\_\-object\_\-box\_\-option\_\-property\_\-vset().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-option\_\-property\_\-vget@{evas\_\-object\_\-box\_\-option\_\-property\_\-vget}}
+\index{evas\_\-object\_\-box\_\-option\_\-property\_\-vget@{evas\_\-object\_\-box\_\-option\_\-property\_\-vget}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-option\_\-property\_\-vget}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-box\_\-option\_\-property\_\-vget (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Option} $\ast$}]{ opt, }
+\item[{int}]{ property, }
+\item[{va\_\-list}]{ args}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga987c048602d55d921c250d1cc57b5873}
+
+
+Get the property (with id {\itshape property\/}) of the child element of the box {\itshape o\/} whose property struct is {\itshape opt\/}. 
+
+The args which the va\_\-list {\itshape args\/} is initialized with must be addresses of variables with the same type of that property. On error, {\ttfamily 0} is returned. 
+
+Referenced by evas\_\-object\_\-box\_\-option\_\-property\_\-get().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-option\_\-property\_\-vset@{evas\_\-object\_\-box\_\-option\_\-property\_\-vset}}
+\index{evas\_\-object\_\-box\_\-option\_\-property\_\-vset@{evas\_\-object\_\-box\_\-option\_\-property\_\-vset}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-option\_\-property\_\-vset}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-box\_\-option\_\-property\_\-vset (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Option} $\ast$}]{ opt, }
+\item[{int}]{ property, }
+\item[{va\_\-list}]{ args}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga56c828490bb5778be68908147c32fa6d}
+
+
+Set the property (with id {\itshape property\/}) of the child element of the box {\itshape o\/} whose property struct is {\itshape opt\/}. 
+
+The property's values must be the args which the va\_\-list {\itshape args\/} is initialized with and their type $\ast$must$\ast$ match that of the property itself. On error, {\ttfamily 0} is returned. 
+
+References evas\_\-object\_\-smart\_\-changed().
+
+
+
+Referenced by evas\_\-object\_\-box\_\-option\_\-property\_\-set().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-prepend@{evas\_\-object\_\-box\_\-prepend}}
+\index{evas\_\-object\_\-box\_\-prepend@{evas\_\-object\_\-box\_\-prepend}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-prepend}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object\_\-Box\_\-Option}$\ast$ evas\_\-object\_\-box\_\-prepend (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ child}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga0fec96faf6bbc106b8af28ff479ddfc3}
+
+
+Prepend a new object {\itshape child\/} to the box {\itshape o\/}. 
+
+On error, {\ttfamily NULL} is returned. 
+
+References evas\_\-object\_\-smart\_\-changed(), and evas\_\-object\_\-smart\_\-member\_\-add().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-remove@{evas\_\-object\_\-box\_\-remove}}
+\index{evas\_\-object\_\-box\_\-remove@{evas\_\-object\_\-box\_\-remove}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-remove}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-box\_\-remove (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ child}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga90c644be44c06e2e4f966cb14b7a93a5}
+
+
+Remove an object {\itshape child\/} from the box {\itshape o\/}. 
+
+On error, {\ttfamily 0} is returned. 
+
+References evas\_\-object\_\-smart\_\-changed(), and evas\_\-object\_\-smart\_\-member\_\-del().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-remove\_\-all@{evas\_\-object\_\-box\_\-remove\_\-all}}
+\index{evas\_\-object\_\-box\_\-remove\_\-all@{evas\_\-object\_\-box\_\-remove\_\-all}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-remove\_\-all}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-box\_\-remove\_\-all (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{Eina\_\-Bool}]{ clear}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga6c114f237f66c0208f0669783f671318}
+
+
+Remove all child objects. 
+
+\begin{DoxyReturn}{Returns}
+0 on errors 
+\end{DoxyReturn}
+
+
+References evas\_\-object\_\-del(), evas\_\-object\_\-smart\_\-changed(), and evas\_\-object\_\-smart\_\-member\_\-del().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-remove\_\-at@{evas\_\-object\_\-box\_\-remove\_\-at}}
+\index{evas\_\-object\_\-box\_\-remove\_\-at@{evas\_\-object\_\-box\_\-remove\_\-at}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-remove\_\-at}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-box\_\-remove\_\-at (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{unsigned int}]{ pos}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga7d6a7321327f1398790d1f12cccd38f3}
+
+
+Remove an object from the box {\itshape o\/} which occupies position {\itshape pos\/}. 
+
+On error, {\ttfamily 0} is returned. 
+
+References evas\_\-object\_\-smart\_\-changed(), and evas\_\-object\_\-smart\_\-member\_\-del().
+
+\index{Evas\_\-Object\_\-Box@{Evas\_\-Object\_\-Box}!evas\_\-object\_\-box\_\-smart\_\-set@{evas\_\-object\_\-box\_\-smart\_\-set}}
+\index{evas\_\-object\_\-box\_\-smart\_\-set@{evas\_\-object\_\-box\_\-smart\_\-set}!Evas_Object_Box@{Evas\_\-Object\_\-Box}}
+\subsubsection[{evas\_\-object\_\-box\_\-smart\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-box\_\-smart\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object\_\-Box\_\-Api} $\ast$}]{ api}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Box_ga19c407e45de527d9400823fb1c85d0fe}
+
+
+Set the default box {\itshape api\/} struct (Evas\_\-Object\_\-Box\_\-Api) with the default values. 
+
+May be used to extend that API. 
+
+Referenced by evas\_\-object\_\-box\_\-smart\_\-class\_\-get().
+
diff --git a/doc/latex/group__Evas__Object__Group.tex b/doc/latex/group__Evas__Object__Group.tex
new file mode 100644 (file)
index 0000000..4bc98cb
--- /dev/null
@@ -0,0 +1,62 @@
+\section{Generic Object Functions}
+\label{group__Evas__Object__Group}\index{Generic Object Functions@{Generic Object Functions}}
+
+
+Functions that manipulate generic evas objects.  
+
+
+\subsection*{Modules}
+\begin{DoxyCompactItemize}
+\item 
+\hyperlink{group__Evas__Object__Group__Basic}{Basic Object Manipulation}
+
+
+\begin{DoxyCompactList}\small\item\em Methods that are often used, like those that change the color, clippers and geometry of the object. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Group__Events}{Object Events}
+
+
+\begin{DoxyCompactList}\small\item\em Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Group__Map}{UV Mapping (Rotation, Perspecitve, 3D...)}
+
+
+\begin{DoxyCompactList}\small\item\em Evas allows different transformations to be applied to all kinds of objects. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Group__Size__Hints}{Size Hints}
+
+
+\begin{DoxyCompactList}\small\item\em Objects may carry hints so another object that acts as a manager (see \hyperlink{group__Evas__Smart__Object__Group}{Smart Object Functions}) may know how to properly position and resize the object. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Group__Extras}{Extra Object Manipulation}
+
+
+\begin{DoxyCompactList}\small\item\em Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Group__Find}{Finding Objects}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that allows finding objects by their position, name or other properties. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Group__Interceptors}{Object Method Interceptors}
+
+
+\begin{DoxyCompactList}\small\item\em Evas provides a way to intercept method calls. \item\end{DoxyCompactList}
+
+\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef struct \_\-Evas\_\-Object \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object}\label{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}
+
+\begin{DoxyCompactList}\small\item\em An Evas Object handle. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that manipulate generic evas objects. 
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Object__Group__Basic.tex b/doc/latex/group__Evas__Object__Group__Basic.tex
new file mode 100644 (file)
index 0000000..51a6901
--- /dev/null
@@ -0,0 +1,770 @@
+\section{Basic Object Manipulation}
+\label{group__Evas__Object__Group__Basic}\index{Basic Object Manipulation@{Basic Object Manipulation}}
+
+
+Methods that are often used, like those that change the color, clippers and geometry of the object.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga19eabaaeec1ea375366e201f533f3d56}{evas\_\-object\_\-clip\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$clip)
+\begin{DoxyCompactList}\small\item\em Clip one object to another. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gadd9e5c165ff2129dd902f43c669a0c1a}{evas\_\-object\_\-clip\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the object clipping this one (if any). \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_gaa7fcd13f310444d7c1541b4fd31fa7f8}{evas\_\-object\_\-clip\_\-unset} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Disable clipping for an object. \item\end{DoxyCompactList}\item 
+EAPI const Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gaa73ed804aa051d0aa5faa1743e113887}{evas\_\-object\_\-clipees\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Return a list of objects currently clipped by a specific object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga5f1530901a9e94e3f35b987101009cf5}{evas\_\-object\_\-focus\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool focus)
+\begin{DoxyCompactList}\small\item\em Sets focus to the given object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Basic_ga7dc71b30e4caaaf60076a5990173d654}{evas\_\-object\_\-focus\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Test if the object has focus. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_gab48bd3ad20b6663aa5756823edb02038}{evas\_\-object\_\-layer\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, short l)
+\begin{DoxyCompactList}\small\item\em Sets the layer of the evas that the given object will be part of. \item\end{DoxyCompactList}\item 
+EAPI short \hyperlink{group__Evas__Object__Group__Basic_ga13cb52d23911b6c701dbb5f1ee3f65f4}{evas\_\-object\_\-layer\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the layer of the evas that the given object is part of. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga4b6eee1edde61389b5ca9df911de60d8}{evas\_\-object\_\-name\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$name)
+\begin{DoxyCompactList}\small\item\em Sets the name of the given evas object to the given name. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gac34b593d79bfd9284787ddbb43486edd}{evas\_\-object\_\-name\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the name of the given evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_gaa22895e88e2cb157b9c38a6d3ce10723}{evas\_\-object\_\-ref} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Increments object reference count to defer deletion. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga956f8793fd2897945d90bda2d4d08089}{evas\_\-object\_\-unref} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Decrements object reference count to defer deletion. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga6d840e8d5670db3ae32e00c4ecbb6abd}{evas\_\-object\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Deletes the given evas object and frees its memory. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga78fa8858c51707f1a557b720014b71cc}{evas\_\-object\_\-move} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x, Evas\_\-Coord y)
+\begin{DoxyCompactList}\small\item\em Moves the given evas object to the given location. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga34df8b33704deafd2a25f40e3c09d149}{evas\_\-object\_\-resize} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord w, Evas\_\-Coord h)
+\begin{DoxyCompactList}\small\item\em Changes the size of the given evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga5fa60c701af13dac5dd31071167309d2}{evas\_\-object\_\-geometry\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$x, Evas\_\-Coord $\ast$y, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h)
+\begin{DoxyCompactList}\small\item\em Retrieves the position and rectangular size of the given evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga769ad9a3e3daecb7a828196a2c86332f}{evas\_\-object\_\-show} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Makes the given evas object visible. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga495807707f06f9acd4de8590a8c92148}{evas\_\-object\_\-hide} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Makes the given evas object invisible. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Basic_ga9cf743b5d87b622c84ba591494445b49}{evas\_\-object\_\-visible\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves whether or not the given evas object is visible. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga6b2dfe01eb955cebf734f4e10ac9ce7f}{evas\_\-object\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int r, int g, int b, int a)
+\begin{DoxyCompactList}\small\item\em Sets the general colour of the given evas object to the given colour. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga3856f8b88d158ffa9783b44340ef343d}{evas\_\-object\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a)
+\begin{DoxyCompactList}\small\item\em Retrieves the general colour of the given evas object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$ \hyperlink{group__Evas__Object__Group__Basic_ga678e810edc3e2ee8b1080186bfa12247}{evas\_\-object\_\-evas\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the evas that the given evas object is on. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gaebc12590e689bfcbfede10eca37f80ff}{evas\_\-object\_\-type\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the name of the type of the given evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga7a99128189105d042cf6b4fefca9b60e}{evas\_\-object\_\-raise} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Raise {\ttfamily obj} to the top of its layer. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_gae5ede5671799a140e3d3f7bb7ea7f14f}{evas\_\-object\_\-lower} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Lower {\ttfamily obj} to the bottom of its layer. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga1128fb1e04b1de059e9ccade58c83663}{evas\_\-object\_\-stack\_\-above} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$above)
+\begin{DoxyCompactList}\small\item\em Stack {\ttfamily obj} immediately above {\ttfamily above}. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Basic_ga8cc69c6e6d78d686d8c4606ac03c2864}{evas\_\-object\_\-stack\_\-below} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$below)
+\begin{DoxyCompactList}\small\item\em Stack {\ttfamily obj} immediately below {\ttfamily below}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gab78867a46ecc2e35ac90bf40bae1689f}{evas\_\-object\_\-above\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the evas object above {\ttfamily obj}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Basic_gaff15b0dacac065bc84e6124c0c4920c5}{evas\_\-object\_\-below\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the evas object below {\ttfamily obj}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Methods that are often used, like those that change the color, clippers and geometry of the object. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-above\_\-get@{evas\_\-object\_\-above\_\-get}}
+\index{evas\_\-object\_\-above\_\-get@{evas\_\-object\_\-above\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-above\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-above\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_gab78867a46ecc2e35ac90bf40bae1689f}
+
+
+Get the evas object above {\ttfamily obj}. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]an Evas\_\-Object \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the Evas\_\-Object directly above 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-below\_\-get@{evas\_\-object\_\-below\_\-get}}
+\index{evas\_\-object\_\-below\_\-get@{evas\_\-object\_\-below\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-below\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-below\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_gaff15b0dacac065bc84e6124c0c4920c5}
+
+
+Get the evas object below {\ttfamily obj}. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]an Evas\_\-Object \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the Evas\_\-Object directly below 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-clip\_\-get@{evas\_\-object\_\-clip\_\-get}}
+\index{evas\_\-object\_\-clip\_\-get@{evas\_\-object\_\-clip\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-clip\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-clip\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_gadd9e5c165ff2129dd902f43c669a0c1a}
+
+
+Get the object clipping this one (if any). 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The object to get the clipper from\end{DoxyParams}
+This function returns the the object clipping {\ttfamily obj}. If {\ttfamily obj} not being clipped, NULL is returned. The object {\ttfamily obj} must be a valid object.
+
+See also \hyperlink{group__Evas__Object__Group__Basic_ga19eabaaeec1ea375366e201f533f3d56}{evas\_\-object\_\-clip\_\-set()}, \hyperlink{group__Evas__Object__Group__Basic_gaa7fcd13f310444d7c1541b4fd31fa7f8}{evas\_\-object\_\-clip\_\-unset()} and \hyperlink{group__Evas__Object__Group__Basic_gaa73ed804aa051d0aa5faa1743e113887}{evas\_\-object\_\-clipees\_\-get()}.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas_Object *obj;
+ Evas_Object *clipper;
+
+ clipper = evas_object_clip_get(obj);
+ if (clipper) evas_object_show(clipper);
+\end{DoxyCode}
+ \index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-clip\_\-set@{evas\_\-object\_\-clip\_\-set}}
+\index{evas\_\-object\_\-clip\_\-set@{evas\_\-object\_\-clip\_\-set}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-clip\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-clip\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ clip}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga19eabaaeec1ea375366e201f533f3d56}
+
+
+Clip one object to another. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The object to be clipped \item[{\em clip}]The object to clip {\ttfamily obj} by\end{DoxyParams}
+This function will clip the object {\ttfamily obj} to the area occupied by the object {\ttfamily clipper}. This means the object {\ttfamily obj} will only be visible within the area occupied by the clipping object ({\ttfamily clip}). The color of the object being clipped will be multiplied by the color of the clipping object, so the resulting color for the clipped object is RESULT = (OBJ $\ast$ CLIP) / (255 $\ast$ 255) per color element (red, green, blue and alpha). Clipping is recursive, so clip objects may be clipped by other objects, and their color will in tern be multiplied. You may NOT set up circular clipping lists (i.e. object 1 clips object 2 which clips object 1). The behavior of Evas is undefined in this case. Objects which do not clip others are visible as normal, those that clip 1 or more objects become invisible themselves, only affecting what they clip. If an object ceases to have other objects being clipped by it, it will become visible again. The visibility of an object affects the objects that are clipped by it, so if the object clipping others is not shown, the objects clipped will not be shown either. If the object was being clipped by another object when this function is called, it is implicitly removed from the clipper it is being clipped to, and now is made to clip its new clipper.
+
+At the moment the only objects that can validly be used to clip other objects are rectangle objects. All other object types are invalid and the result of using them is undefined.
+
+The clip object {\ttfamily clip} must be a valid object, but may also be NULL in which case the effect of this function is the same as calling \hyperlink{group__Evas__Object__Group__Basic_gaa7fcd13f310444d7c1541b4fd31fa7f8}{evas\_\-object\_\-clip\_\-unset()} on the {\ttfamily obj} object.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+ extern Evas_Object *obj;
+ Evas_Object *clipper;
+
+ clipper = evas_object_rectangle_add(evas);
+ evas_object_color_set(clipper, 255, 255, 255, 255);
+ evas_object_move(clipper, 10, 10);
+ evas_object_resize(clipper, 20, 50);
+ evas_object_clip_set(obj, clipper);
+ evas_object_show(clipper);
+\end{DoxyCode}
+
+References evas\_\-damage\_\-rectangle\_\-add(), evas\_\-event\_\-feed\_\-mouse\_\-move(), evas\_\-object\_\-clip\_\-unset(), and evas\_\-object\_\-type\_\-get().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-clip\_\-unset@{evas\_\-object\_\-clip\_\-unset}}
+\index{evas\_\-object\_\-clip\_\-unset@{evas\_\-object\_\-clip\_\-unset}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-clip\_\-unset}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-clip\_\-unset (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_gaa7fcd13f310444d7c1541b4fd31fa7f8}
+
+
+Disable clipping for an object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The object to cease clipping on\end{DoxyParams}
+This function disables clipping for the object {\ttfamily obj}, if it was already clipped. If it wasn't, this has no effect. The object {\ttfamily obj} must be a valid object.
+
+See also \hyperlink{group__Evas__Object__Group__Basic_ga19eabaaeec1ea375366e201f533f3d56}{evas\_\-object\_\-clip\_\-set()}, \hyperlink{group__Evas__Object__Group__Basic_gaa73ed804aa051d0aa5faa1743e113887}{evas\_\-object\_\-clipees\_\-get()} and \hyperlink{group__Evas__Object__Group__Basic_gadd9e5c165ff2129dd902f43c669a0c1a}{evas\_\-object\_\-clip\_\-get()}.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas_Object *obj;
+ Evas_Object *clipper;
+
+ clipper = evas_object_clip_get(obj);
+ if (clipper)
+   {
+     evas_object_clip_unset(obj);
+     evas_object_hide(obj);
+   }
+\end{DoxyCode}
+
+References evas\_\-damage\_\-rectangle\_\-add(), and evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+
+
+Referenced by evas\_\-object\_\-clip\_\-set(), and evas\_\-object\_\-del().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-clipees\_\-get@{evas\_\-object\_\-clipees\_\-get}}
+\index{evas\_\-object\_\-clipees\_\-get@{evas\_\-object\_\-clipees\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-clipees\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const Eina\_\-List$\ast$ evas\_\-object\_\-clipees\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_gaa73ed804aa051d0aa5faa1743e113887}
+
+
+Return a list of objects currently clipped by a specific object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The object to get a list of clippees from\end{DoxyParams}
+This returns the inernal list handle that contains all objects clipped by the object {\ttfamily obj}. If none are clipped, it returns NULL. This list is only valid until the clip list is changed and should be fetched again with another call to \hyperlink{group__Evas__Object__Group__Basic_gaa73ed804aa051d0aa5faa1743e113887}{evas\_\-object\_\-clipees\_\-get()} if any objects being clipped by this object are unclipped, clipped by a new object, are deleted or the clipper is deleted. These operations will invalidate the list returned so it should not be used anymore after that point. Any use of the list after this may have undefined results, not limited just to strange behavior but possible segfaults and other strange memory errors. The object {\ttfamily obj} must be a valid object.
+
+See also \hyperlink{group__Evas__Object__Group__Basic_ga19eabaaeec1ea375366e201f533f3d56}{evas\_\-object\_\-clip\_\-set()}, \hyperlink{group__Evas__Object__Group__Basic_gaa7fcd13f310444d7c1541b4fd31fa7f8}{evas\_\-object\_\-clip\_\-unset()} and \hyperlink{group__Evas__Object__Group__Basic_gadd9e5c165ff2129dd902f43c669a0c1a}{evas\_\-object\_\-clip\_\-get()}.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas_Object *obj;
+ Evas_Object *clipper;
+
+ clipper = evas_object_clip_get(obj);
+ if (clipper)
+   {
+     Eina_List *clippees, *l;
+     Evas_Object *obj_tmp;
+
+     clippees = evas_object_clipees_get(clipper);
+     printf("Clipper clips %i objects\n", eina_list_count(clippees));
+     EINA_LIST_FOREACH(clippees, l, obj_tmp)
+         evas_object_show(obj_tmp);
+   }
+\end{DoxyCode}
+ \index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-color\_\-get@{evas\_\-object\_\-color\_\-get}}
+\index{evas\_\-object\_\-color\_\-get@{evas\_\-object\_\-color\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-color\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-color\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ g, }
+\item[{int $\ast$}]{ b, }
+\item[{int $\ast$}]{ a}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga3856f8b88d158ffa9783b44340ef343d}
+
+
+Retrieves the general colour of the given evas object. 
+
+Note that if any of {\ttfamily r}, {\ttfamily g}, {\ttfamily b} or {\ttfamily a} are {\ttfamily NULL}, then the {\ttfamily NULL} parameters are ignored.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em r}]Pointer to an integer in which to store the red component of the colour. \item[{\em g}]Pointer to an integer in which to store the green component of the colour. \item[{\em b}]Pointer to an integer in which to store the blue component of the colour. \item[{\em a}]Pointer to an integer in which to store the alpha component of the colour. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-color\_\-set@{evas\_\-object\_\-color\_\-set}}
+\index{evas\_\-object\_\-color\_\-set@{evas\_\-object\_\-color\_\-set}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-color\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-color\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ r, }
+\item[{int}]{ g, }
+\item[{int}]{ b, }
+\item[{int}]{ a}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga6b2dfe01eb955cebf734f4e10ac9ce7f}
+
+
+Sets the general colour of the given evas object to the given colour. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em r}]The red component of the given colour. \item[{\em g}]The green component of the given colour. \item[{\em b}]The blue component of the given colour. \item[{\em a}]The alpha component of the given colour. \end{DoxyParams}
+
+
+References EVAS\_\-RENDER\_\-BLEND.
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-del@{evas\_\-object\_\-del}}
+\index{evas\_\-object\_\-del@{evas\_\-object\_\-del}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga6d840e8d5670db3ae32e00c4ecbb6abd}
+
+
+Deletes the given evas object and frees its memory. 
+
+The object's 'free' callback is called when this function is called. If the object currently has the focus, its 'focus out' callback is also called.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \end{DoxyParams}
+
+
+References EVAS\_\-CALLBACK\_\-DEL, EVAS\_\-CALLBACK\_\-FOCUS\_\-OUT, EVAS\_\-CALLBACK\_\-FREE, evas\_\-object\_\-clip\_\-unset(), evas\_\-object\_\-hide(), evas\_\-object\_\-image\_\-source\_\-unset(), and evas\_\-object\_\-name\_\-set().
+
+
+
+Referenced by evas\_\-object\_\-box\_\-remove\_\-all(), evas\_\-object\_\-table\_\-clear(), and evas\_\-object\_\-unref().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-evas\_\-get@{evas\_\-object\_\-evas\_\-get}}
+\index{evas\_\-object\_\-evas\_\-get@{evas\_\-object\_\-evas\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-evas\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas}$\ast$ evas\_\-object\_\-evas\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga678e810edc3e2ee8b1080186bfa12247}
+
+
+Retrieves the evas that the given evas object is on. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The evas that the object is on. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-object\_\-box\_\-add\_\-to(), and evas\_\-object\_\-table\_\-add\_\-to().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-focus\_\-get@{evas\_\-object\_\-focus\_\-get}}
+\index{evas\_\-object\_\-focus\_\-get@{evas\_\-object\_\-focus\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-focus\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-focus\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga7dc71b30e4caaaf60076a5990173d654}
+
+
+Test if the object has focus. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The object to be tested.\end{DoxyParams}
+If the passed object is the currently focused object 1 is returned, 0 otherwise.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Basic_ga5f1530901a9e94e3f35b987101009cf5}{evas\_\-object\_\-focus\_\-set} 
+
+\hyperlink{group__Evas__Object__Group__Find_gaafc05ec22375400b9f0cfc8bcfc83bf5}{evas\_\-focus\_\-get} 
+
+evas\_\-object\_\-key\_\-grab 
+
+evas\_\-object\_\-key\_\-ungrab
+\end{DoxySeeAlso}
+\begin{DoxyReturn}{Returns}
+1 if the object has the focus, 0 otherwise. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-focus\_\-set@{evas\_\-object\_\-focus\_\-set}}
+\index{evas\_\-object\_\-focus\_\-set@{evas\_\-object\_\-focus\_\-set}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-focus\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-focus\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ focus}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga5f1530901a9e94e3f35b987101009cf5}
+
+
+Sets focus to the given object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The object to be focused or unfocused. \item[{\em focus}]set or remove focus to the object.\end{DoxyParams}
+Changing focus only affects where key events go. There can be only one object focused at any time. 
+
+If the parameter ({\ttfamily focus}) is set, the passed object will be set as the currently focused object. It will receive all keyboard events that are not exclusive key grabs on other objects.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Basic_ga7dc71b30e4caaaf60076a5990173d654}{evas\_\-object\_\-focus\_\-get} 
+
+\hyperlink{group__Evas__Object__Group__Find_gaafc05ec22375400b9f0cfc8bcfc83bf5}{evas\_\-focus\_\-get} 
+
+evas\_\-object\_\-key\_\-grab 
+
+evas\_\-object\_\-key\_\-ungrab 
+\end{DoxySeeAlso}
+
+
+References EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-IN, EVAS\_\-CALLBACK\_\-CANVAS\_\-OBJECT\_\-FOCUS\_\-OUT, EVAS\_\-CALLBACK\_\-FOCUS\_\-IN, EVAS\_\-CALLBACK\_\-FOCUS\_\-OUT, and evas\_\-object\_\-focus\_\-set().
+
+
+
+Referenced by evas\_\-object\_\-focus\_\-set().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-geometry\_\-get@{evas\_\-object\_\-geometry\_\-get}}
+\index{evas\_\-object\_\-geometry\_\-get@{evas\_\-object\_\-geometry\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-geometry\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-geometry\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord $\ast$}]{ x, }
+\item[{Evas\_\-Coord $\ast$}]{ y, }
+\item[{Evas\_\-Coord $\ast$}]{ w, }
+\item[{Evas\_\-Coord $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga5fa60c701af13dac5dd31071167309d2}
+
+
+Retrieves the position and rectangular size of the given evas object. 
+
+Note that if any of {\ttfamily x}, {\ttfamily y}, {\ttfamily w} or {\ttfamily h} are {\ttfamily NULL}, the {\ttfamily NULL} parameters are ignored.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em x}]Pointer to an integer in which to store the X coordinate of the object. \item[{\em y}]Pointer to an integer in which to store the Y coordinate of the object. \item[{\em w}]Pointer to an integer in which to store the width of the object. \item[{\em h}]Pointer to an integer in which to store the height of the object. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-stack(), evas\_\-object\_\-box\_\-layout\_\-vertical(), and evas\_\-object\_\-image\_\-filled\_\-set().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-hide@{evas\_\-object\_\-hide}}
+\index{evas\_\-object\_\-hide@{evas\_\-object\_\-hide}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-hide}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-hide (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga495807707f06f9acd4de8590a8c92148}
+
+
+Makes the given evas object invisible. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object.\end{DoxyParams}
+\begin{DoxyNote}{Note}
+the hidden objects will not be checked for changes and will not catch events. That is, they are much ligher than an object that is invisible due indirect effects, such as clipped or out-\/of-\/viewport. 
+\end{DoxyNote}
+
+
+References \_\-Evas\_\-Event\_\-Mouse\_\-Out::buttons, EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT, and evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+
+
+Referenced by evas\_\-object\_\-del().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-layer\_\-get@{evas\_\-object\_\-layer\_\-get}}
+\index{evas\_\-object\_\-layer\_\-get@{evas\_\-object\_\-layer\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-layer\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI short evas\_\-object\_\-layer\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga13cb52d23911b6c701dbb5f1ee3f65f4}
+
+
+Retrieves the layer of the evas that the given object is part of. 
+
+Be careful, it doesn't make sense to change the layer of smart object's child. So the returned value could be wrong in some case. Don't rely on it's accuracy.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Number of the layer. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-layer\_\-set@{evas\_\-object\_\-layer\_\-set}}
+\index{evas\_\-object\_\-layer\_\-set@{evas\_\-object\_\-layer\_\-set}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-layer\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-layer\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{short}]{ l}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_gab48bd3ad20b6663aa5756823edb02038}
+
+
+Sets the layer of the evas that the given object will be part of. 
+
+It is not possible to change the layer of a smart object's child.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em l}]The number of the layer to place the object on. Between \hyperlink{Evas_8h_a8817f2ac4e0058d43f9bfe1e563e551b}{EVAS\_\-LAYER\_\-MIN} and \hyperlink{Evas_8h_a1456f5c97f03ebd786c49d4d1178e7a0}{EVAS\_\-LAYER\_\-MAX}. \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move(), and evas\_\-object\_\-raise().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-lower@{evas\_\-object\_\-lower}}
+\index{evas\_\-object\_\-lower@{evas\_\-object\_\-lower}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-lower}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-lower (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_gae5ede5671799a140e3d3f7bb7ea7f14f}
+
+
+Lower {\ttfamily obj} to the bottom of its layer. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the object to lower \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+
+
+Referenced by evas\_\-object\_\-stack\_\-below().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-move@{evas\_\-object\_\-move}}
+\index{evas\_\-object\_\-move@{evas\_\-object\_\-move}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-move}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-move (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga78fa8858c51707f1a557b720014b71cc}
+
+
+Moves the given evas object to the given location. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em x}]X position to move the object to, in canvas units. \item[{\em y}]Y position to move the object to, in canvas units. \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+
+
+Referenced by evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-stack(), evas\_\-object\_\-box\_\-layout\_\-vertical(), and evas\_\-object\_\-smart\_\-move\_\-children\_\-relative().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-name\_\-get@{evas\_\-object\_\-name\_\-get}}
+\index{evas\_\-object\_\-name\_\-get@{evas\_\-object\_\-name\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-name\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-object\_\-name\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_gac34b593d79bfd9284787ddbb43486edd}
+
+
+Retrieves the name of the given evas object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The name of the object. {\ttfamily NULL} if no name has been given to the object. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-name\_\-set@{evas\_\-object\_\-name\_\-set}}
+\index{evas\_\-object\_\-name\_\-set@{evas\_\-object\_\-name\_\-set}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-name\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-name\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ name}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga4b6eee1edde61389b5ca9df911de60d8}
+
+
+Sets the name of the given evas object to the given name. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given object. \item[{\em name}]The given name. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-del().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-raise@{evas\_\-object\_\-raise}}
+\index{evas\_\-object\_\-raise@{evas\_\-object\_\-raise}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-raise}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-raise (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga7a99128189105d042cf6b4fefca9b60e}
+
+
+Raise {\ttfamily obj} to the top of its layer. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the object to raise \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+
+
+Referenced by evas\_\-object\_\-layer\_\-set(), and evas\_\-object\_\-stack\_\-above().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-ref@{evas\_\-object\_\-ref}}
+\index{evas\_\-object\_\-ref@{evas\_\-object\_\-ref}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-ref}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-ref (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_gaa22895e88e2cb157b9c38a6d3ce10723}
+
+
+Increments object reference count to defer deletion. 
+
+This increments the reference count of an object, which if greater than 0 will defer deletion by \hyperlink{group__Evas__Object__Group__Basic_ga6d840e8d5670db3ae32e00c4ecbb6abd}{evas\_\-object\_\-del()} until all references are released back to 0. References cannot go below 0 and unreferencing more times that referencing will result in the reference count being limited to 0. References are limited to 2$^\wedge$32 -\/ 1 for an object. Referencing it more than this will result in it being limited to this value.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object to reference\end{DoxyParams}
+\begin{DoxySince}{Since}
+1.1.0 
+\end{DoxySince}
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-resize@{evas\_\-object\_\-resize}}
+\index{evas\_\-object\_\-resize@{evas\_\-object\_\-resize}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-resize}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-resize (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ w, }
+\item[{Evas\_\-Coord}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga34df8b33704deafd2a25f40e3c09d149}
+
+
+Changes the size of the given evas object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em w}]The new width of the evas object. \item[{\em h}]The new height of the evas object.\end{DoxyParams}
+\begin{DoxyNote}{Note}
+Be aware that resizing an object changes its drawing area, but that does imply the object is rescaled! For instance, images are filled inside their drawing area using the specifications of \hyperlink{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}{evas\_\-object\_\-image\_\-fill\_\-set()}, thus to scale the image to match exactly your drawing area, you need to change the \hyperlink{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}{evas\_\-object\_\-image\_\-fill\_\-set()} as well. Consider the following example: 
+\begin{DoxyCode}
+       // rescale image to fill exactly its area without tiling:
+       evas_object_resize(img, w, h);
+       evas_object_image_fill_set(img, 0, 0, w, h);
+\end{DoxyCode}
+ This is more evident in images, but text, textblock, lines and polygons will behave similarly. Check their specific APIs to know how to achieve your desired behavior. 
+\end{DoxyNote}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+
+
+Referenced by evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-stack(), and evas\_\-object\_\-box\_\-layout\_\-vertical().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-show@{evas\_\-object\_\-show}}
+\index{evas\_\-object\_\-show@{evas\_\-object\_\-show}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-show}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-show (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga769ad9a3e3daecb7a828196a2c86332f}
+
+
+Makes the given evas object visible. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-stack\_\-above@{evas\_\-object\_\-stack\_\-above}}
+\index{evas\_\-object\_\-stack\_\-above@{evas\_\-object\_\-stack\_\-above}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-stack\_\-above}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-stack\_\-above (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ above}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga1128fb1e04b1de059e9ccade58c83663}
+
+
+Stack {\ttfamily obj} immediately above {\ttfamily above}. 
+
+If {\ttfamily obj} is a member of a smart object, then {\ttfamily above} must also be a member of the same smart object.
+
+Similarly, if {\ttfamily obj} is not a member of smart object, {\ttfamily above} may not either.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the object to stack \item[{\em above}]the object above which to stack \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move(), and evas\_\-object\_\-raise().
+
+
+
+Referenced by evas\_\-object\_\-box\_\-layout\_\-stack().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-stack\_\-below@{evas\_\-object\_\-stack\_\-below}}
+\index{evas\_\-object\_\-stack\_\-below@{evas\_\-object\_\-stack\_\-below}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-stack\_\-below}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-stack\_\-below (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ below}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga8cc69c6e6d78d686d8c4606ac03c2864}
+
+
+Stack {\ttfamily obj} immediately below {\ttfamily below}. 
+
+If {\ttfamily obj} is a member of a smart object, then {\ttfamily below} must also be a member of the same smart object.
+
+Similarly, if {\ttfamily obj} is not a member of smart object, {\ttfamily below} may not either.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the object to stack \item[{\em below}]the object below which to stack \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move(), and evas\_\-object\_\-lower().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-type\_\-get@{evas\_\-object\_\-type\_\-get}}
+\index{evas\_\-object\_\-type\_\-get@{evas\_\-object\_\-type\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-type\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-object\_\-type\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_gaebc12590e689bfcbfede10eca37f80ff}
+
+
+Retrieves the name of the type of the given evas object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The name. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-object\_\-clip\_\-set().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-unref@{evas\_\-object\_\-unref}}
+\index{evas\_\-object\_\-unref@{evas\_\-object\_\-unref}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-unref}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-unref (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga956f8793fd2897945d90bda2d4d08089}
+
+
+Decrements object reference count to defer deletion. 
+
+This decrements the reference count of an object. If the object has had \hyperlink{group__Evas__Object__Group__Basic_ga6d840e8d5670db3ae32e00c4ecbb6abd}{evas\_\-object\_\-del()} called on it while references were more than 0, it will be deleted at the time this function is called as it normally would have been. See \hyperlink{group__Evas__Object__Group__Basic_gaa22895e88e2cb157b9c38a6d3ce10723}{evas\_\-object\_\-ref()} for more information.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object to unreference\end{DoxyParams}
+\begin{DoxySince}{Since}
+1.1.0 
+\end{DoxySince}
+
+
+References evas\_\-object\_\-del().
+
+\index{Evas\_\-Object\_\-Group\_\-Basic@{Evas\_\-Object\_\-Group\_\-Basic}!evas\_\-object\_\-visible\_\-get@{evas\_\-object\_\-visible\_\-get}}
+\index{evas\_\-object\_\-visible\_\-get@{evas\_\-object\_\-visible\_\-get}!Evas_Object_Group_Basic@{Evas\_\-Object\_\-Group\_\-Basic}}
+\subsubsection[{evas\_\-object\_\-visible\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-visible\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Basic_ga9cf743b5d87b622c84ba591494445b49}
+
+
+Retrieves whether or not the given evas object is visible. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily 1} if the object is visible. {\ttfamily 0} otherwise. 
+\end{DoxyReturn}
diff --git a/doc/latex/group__Evas__Object__Group__Events.tex b/doc/latex/group__Evas__Object__Group__Events.tex
new file mode 100644 (file)
index 0000000..bacd021
--- /dev/null
@@ -0,0 +1,334 @@
+\section{Object Events}
+\label{group__Evas__Object__Group__Events}\index{Object Events@{Object Events}}
+
+
+Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Events_ga0147a80fc21895dc40165f208ec8cf55}{evas\_\-object\_\-event\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{Evas_8h_a076b2a9b2de2b2144a4193b1d12ed448}{Evas\_\-Callback\_\-Type} type, Evas\_\-Object\_\-Event\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Add a callback function to an object. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Events_ga270a967a4f0069e646e9a07c51e15863}{evas\_\-object\_\-event\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{Evas_8h_a076b2a9b2de2b2144a4193b1d12ed448}{Evas\_\-Callback\_\-Type} type, Evas\_\-Object\_\-Event\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em Delete a callback function from an object. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Events_ga5dbed5bfe210ee8f8ffae7b99a69ec68}{evas\_\-object\_\-event\_\-callback\_\-del\_\-full} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{Evas_8h_a076b2a9b2de2b2144a4193b1d12ed448}{Evas\_\-Callback\_\-Type} type, Evas\_\-Object\_\-Event\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Delete a callback function from an object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Events_ga5622d84abe1bd303de71f8ddbdcd0665}{evas\_\-object\_\-pass\_\-events\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool pass)
+\begin{DoxyCompactList}\small\item\em Set an object's pass events state. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Events_ga019458a8697c55dc3d5e3fe525c535e0}{evas\_\-object\_\-pass\_\-events\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Determine whether an object is set to pass events. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Events_gaacd5e00427f3c98ecfb72f630ff7aa46}{evas\_\-object\_\-repeat\_\-events\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool repeat)
+\begin{DoxyCompactList}\small\item\em Set an object's repeat events state. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Events_ga2c7ca0c2c33ec1e12da64f60a5742582}{evas\_\-object\_\-repeat\_\-events\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Determine whether an object is set to repeat events. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Events_gaca523e82bd3e590f92e8bbda29c1607d}{evas\_\-object\_\-propagate\_\-events\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool prop)
+\begin{DoxyCompactList}\small\item\em Set whether events on a smart member object should propagate to its parent. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Events_gadc40db6c861c8e57a2229783f0e9ac7f}{evas\_\-object\_\-propagate\_\-events\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Determine whether an object is set to propagate events. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on. These methods will allow one to handle such events.
+
+The events can be those from keyboard and mouse, if the object accepts these events. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Group\_\-Events@{Evas\_\-Object\_\-Group\_\-Events}!evas\_\-object\_\-event\_\-callback\_\-add@{evas\_\-object\_\-event\_\-callback\_\-add}}
+\index{evas\_\-object\_\-event\_\-callback\_\-add@{evas\_\-object\_\-event\_\-callback\_\-add}!Evas_Object_Group_Events@{Evas\_\-Object\_\-Group\_\-Events}}
+\subsubsection[{evas\_\-object\_\-event\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-event\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Callback\_\-Type}}]{ type, }
+\item[{Evas\_\-Object\_\-Event\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Events_ga0147a80fc21895dc40165f208ec8cf55}
+
+
+Add a callback function to an object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]Object to attach a callback to \item[{\em type}]The type of event that will trigger the callback \item[{\em func}]The function to be called when the event is triggered \item[{\em data}]The data pointer to be passed to {\ttfamily func} \end{DoxyParams}
+This function adds a function callback to an object when the event of type {\ttfamily type} occurs on object {\ttfamily obj}. The function is {\ttfamily func}.
+
+In the event of a memory allocation error during addition of the callback to the object, \hyperlink{group__Evas__Group_ga1c782b4511e3b8678a2166c651053ac9}{evas\_\-alloc\_\-error()} should be used to determine the nature of the error, if any, and the program should sensibly try and recover.
+
+The function will be passed the pointer {\ttfamily data} when it is called. A callback function must look like this:
+
+
+\begin{DoxyCode}
+ void callback (void *data, Evas *e, Evas_Object *obj, void *event_info);
+\end{DoxyCode}
+
+
+The first parameter {\ttfamily data} in this function will be the same value passed to \hyperlink{group__Evas__Object__Group__Events_ga0147a80fc21895dc40165f208ec8cf55}{evas\_\-object\_\-event\_\-callback\_\-add()} as the {\ttfamily data} parameter. The second parameter is a convenience for the programmer to know what evas canvas the event occurred on. The third parameter {\ttfamily obj} is the Object handle on which the event occurred. The foruth parameter {\ttfamily event\_\-info} is a pointer to a data structure that may or may not be passed to the callback, depending on the event type that triggered the callback.
+
+The event type {\ttfamily type} to trigger the function may be one of \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af}{EVAS\_\-CALLBACK\_\-MOUSE\_\-IN}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25}{EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f}{EVAS\_\-CALLBACK\_\-MOUSE\_\-DOWN}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7}{EVAS\_\-CALLBACK\_\-MOUSE\_\-UP}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a}{EVAS\_\-CALLBACK\_\-MOUSE\_\-MOVE}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4}{EVAS\_\-CALLBACK\_\-MOUSE\_\-WHEEL}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24}{EVAS\_\-CALLBACK\_\-FREE}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584}{EVAS\_\-CALLBACK\_\-KEY\_\-DOWN}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f}{EVAS\_\-CALLBACK\_\-KEY\_\-UP}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97}{EVAS\_\-CALLBACK\_\-FOCUS\_\-IN}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3}{EVAS\_\-CALLBACK\_\-FOCUS\_\-OUT}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540}{EVAS\_\-CALLBACK\_\-SHOW}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7}{EVAS\_\-CALLBACK\_\-HIDE}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0}{EVAS\_\-CALLBACK\_\-MOVE}, \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21}{EVAS\_\-CALLBACK\_\-RESIZE} or \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aae633ea84ed0fccd3a3b232d0da30b145}{EVAS\_\-CALLBACK\_\-RESTACK}. This determines the kind of event that will trigger the callback to be called. The {\ttfamily event\_\-info} pointer passed to the callback will be one of the following, depending on the event triggering it:
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af}{EVAS\_\-CALLBACK\_\-MOUSE\_\-IN}: event\_\-info = pointer to Evas\_\-Event\_\-Mouse\_\-In
+
+This event is triggered when the mouse pointer enters the region of the object {\ttfamily obj}. This may occur by the mouse pointer being moved by \hyperlink{group__Evas__Event__Feeding__Group_ga480017cad2b8982bee7a894433aff2f7}{evas\_\-event\_\-feed\_\-mouse\_\-move()} or evas\_\-event\_\-feed\_\-mouse\_\-move\_\-data() calls, or by the object being shown, raised, moved, resized, or other objects being moved out of the way, hidden, lowered or moved out of the way.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa91aaa30a57047d0ee8a734e603751c25}{EVAS\_\-CALLBACK\_\-MOUSE\_\-OUT}: event\_\-info = pointer to Evas\_\-Event\_\-Mouse\_\-Out
+
+This event is triggered exactly like \hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa598c57bc146639618157159a319f11af}{EVAS\_\-CALLBACK\_\-MOUSE\_\-IN} is, but occurs when the mouse pointer exits an object. Note that no out events will be reported if the mouse pointer is implicitly grabbed to an object (the mouse buttons are down at all and any were pressed on that object). An out event will be reported as soon as the mouse is no longer grabbed (no mouse buttons are depressed). Out events will be reported once all buttons are released, if the mouse has left the object.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa9fa52651ccf7e47cd3b7785fc4cf393f}{EVAS\_\-CALLBACK\_\-MOUSE\_\-DOWN}: event\_\-info = pointer to Evas\_\-Event\_\-Mouse\_\-Down
+
+This event is triggered by a mouse button being depressed while over an object. If pointermode is EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB (default) this causes this object to passively grab the mouse until all mouse buttons have been released. That means if this mouse button is the first to be pressed, all future mouse events will be reported to only this object until no buttons are down. That includes mouse move events, in and out events, and further button presses. When all buttons are released, event propagation occurs as normal.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa8c1b22c99dd0231cd9ba1fecbffffac7}{EVAS\_\-CALLBACK\_\-MOUSE\_\-UP}: event\_\-info = pointer to Evas\_\-Event\_\-Mouse\_\-Up
+
+This event is triggered by a mouse button being released while over an object or when passively grabbed to an object. If this is the last mouse button to be raised on an object then the passive grab is released and event processing will continue as normal.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa23fb97fb7cbccded54ccf3fc4e1dab8a}{EVAS\_\-CALLBACK\_\-MOUSE\_\-MOVE}: event\_\-info = pointer to Evas\_\-Event\_\-Mouse\_\-Move
+
+This event is triggered by the mouse pointer moving while over an object or passively grabbed to an object.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa39d739f473db520ec4dfe0776ed43be4}{EVAS\_\-CALLBACK\_\-MOUSE\_\-WHEEL}: event\_\-info = pointer to Evas\_\-Event\_\-Mouse\_\-Wheel
+
+This event is triggered by the mouse wheel being rolled while over an object or passively grabbed to an object.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aaab869b5d534f02f1b3e151e2406a8c24}{EVAS\_\-CALLBACK\_\-FREE}: event\_\-info = NULL
+
+This event is triggered just before Evas is about to free all memory used by an object and remove all references to it. This is useful for programs to use if they attached data to an object and want to free it when the object is deleted. The object is still valid when this callback is called, but after this callback returns, there is no guarantee on the object's validity.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa336b86bad4f145f84c155e4922335584}{EVAS\_\-CALLBACK\_\-KEY\_\-DOWN}: event\_\-info = pointer to Evas\_\-Event\_\-Key\_\-Down
+
+This callback is called when a key is pressed and the focus is on the object, or a key has been grabbed to a particular object which wants to intercept the key press regardless of what object has the focus.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aac436b50ad665089f8a24b0fb827cec5f}{EVAS\_\-CALLBACK\_\-KEY\_\-UP}: event\_\-info = pointer to Evas\_\-Event\_\-Key\_\-Up
+
+This callback is called when a key is released and the focus is on the object, or a key has been grabbed to a particular object which wants to intercept the key release regardless of what object has the focus.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa819cf61e9d11012b7402338c2ccb7b97}{EVAS\_\-CALLBACK\_\-FOCUS\_\-IN}: event\_\-info = NULL
+
+This event is called when an object gains the focus. When the callback is called the object has already gained the focus.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab26a0af7efaa8b77e996bd438accf8d3}{EVAS\_\-CALLBACK\_\-FOCUS\_\-OUT}: event\_\-info = NULL
+
+This event is triggered by an object losing the focus. When the callback is called the object has already lost the focus.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aab433c293bd272670ac3b5e8b1928a540}{EVAS\_\-CALLBACK\_\-SHOW}: event\_\-info = NULL
+
+This event is triggered by the object being shown by \hyperlink{group__Evas__Object__Group__Basic_ga769ad9a3e3daecb7a828196a2c86332f}{evas\_\-object\_\-show()}.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa635d910ff45c89f4d7b91630add35cd7}{EVAS\_\-CALLBACK\_\-HIDE}: event\_\-info = NULL
+
+This event is triggered by an object being hidden by \hyperlink{group__Evas__Object__Group__Basic_ga495807707f06f9acd4de8590a8c92148}{evas\_\-object\_\-hide()}.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa9b66bd091da76fb13f551c6db04502b0}{EVAS\_\-CALLBACK\_\-MOVE}: event\_\-info = NULL
+
+This event is triggered by an object being moved. \hyperlink{group__Evas__Object__Group__Basic_ga78fa8858c51707f1a557b720014b71cc}{evas\_\-object\_\-move()} can trigger this, as can any object-\/specific manipulations that would mean the object's origin could move.
+
+\hyperlink{Evas_8h_a99e208e463a20499aabe6faac8a8cb8aa554e3341a4ae95e15d42da495f8adb21}{EVAS\_\-CALLBACK\_\-RESIZE}: event\_\-info = NULL
+
+This event is triggered by an object being resized. Resizes can be triggered by \hyperlink{group__Evas__Object__Group__Basic_ga34df8b33704deafd2a25f40e3c09d149}{evas\_\-object\_\-resize()} or by any object-\/specific calls that may cause the object to resize.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas_Object *object;
+ extern void *my_data;
+ void down_callback(void *data, Evas *e, Evas_Object *obj, void *event_info);
+ void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ evas_object_event_callback_add(object, EVAS_CALLBACK_MOUSE_UP, up_callback, my_d
+      ata);
+ if (evas_alloc_error() != EVAS_ALLOC_ERROR_NONE)
+   {
+     fprintf(stderr, "ERROR: Callback registering failed! Abort!\n");
+     exit(-1);
+   }
+ evas_object_event_callback_add(object, EVAS_CALLBACK_MOUSE_DOWN, down_callback, 
+      my_data);
+ if (evas_alloc_error() != EVAS_ALLOC_ERROR_NONE)
+   {
+     fprintf(stderr, "ERROR: Callback registering failed! Abort!\n");
+     exit(-1);
+   }
+\end{DoxyCode}
+
+Referenced by evas\_\-object\_\-image\_\-filled\_\-set().
+
+\index{Evas\_\-Object\_\-Group\_\-Events@{Evas\_\-Object\_\-Group\_\-Events}!evas\_\-object\_\-event\_\-callback\_\-del@{evas\_\-object\_\-event\_\-callback\_\-del}}
+\index{evas\_\-object\_\-event\_\-callback\_\-del@{evas\_\-object\_\-event\_\-callback\_\-del}!Evas_Object_Group_Events@{Evas\_\-Object\_\-Group\_\-Events}}
+\subsubsection[{evas\_\-object\_\-event\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-event\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Callback\_\-Type}}]{ type, }
+\item[{Evas\_\-Object\_\-Event\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Events_ga270a967a4f0069e646e9a07c51e15863}
+
+
+Delete a callback function from an object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]Object to remove a callback from \item[{\em type}]The type of event that was triggering the callback \item[{\em func}]The function that was to be called when the event was triggered \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The data pointer that was to be passed to the callback
+\end{DoxyReturn}
+This function removes the most recently added callback from the object {\ttfamily obj} which was triggered by the event type {\ttfamily type} and was calling the function {\ttfamily func} when triggered. If the removal is successful it will also return the data pointer that was passed to \hyperlink{group__Evas__Object__Group__Events_ga0147a80fc21895dc40165f208ec8cf55}{evas\_\-object\_\-event\_\-callback\_\-add()} when the callback was added to the object. If not successful NULL will be returned.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas_Object *object;
+ void *my_data;
+ void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ my_data = evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_UP, up_call
+      back);
+\end{DoxyCode}
+
+Referenced by evas\_\-object\_\-image\_\-filled\_\-set().
+
+\index{Evas\_\-Object\_\-Group\_\-Events@{Evas\_\-Object\_\-Group\_\-Events}!evas\_\-object\_\-event\_\-callback\_\-del\_\-full@{evas\_\-object\_\-event\_\-callback\_\-del\_\-full}}
+\index{evas\_\-object\_\-event\_\-callback\_\-del\_\-full@{evas\_\-object\_\-event\_\-callback\_\-del\_\-full}!Evas_Object_Group_Events@{Evas\_\-Object\_\-Group\_\-Events}}
+\subsubsection[{evas\_\-object\_\-event\_\-callback\_\-del\_\-full}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-event\_\-callback\_\-del\_\-full (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Callback\_\-Type}}]{ type, }
+\item[{Evas\_\-Object\_\-Event\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Events_ga5dbed5bfe210ee8f8ffae7b99a69ec68}
+
+
+Delete a callback function from an object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]Object to remove a callback from \item[{\em type}]The type of event that was triggering the callback \item[{\em func}]The function that was to be called when the event was triggered \item[{\em data}]The data pointer that was to be passed to the callback \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The data pointer that was to be passed to the callback
+\end{DoxyReturn}
+This function removes the most recently added callback from the object {\ttfamily obj} which was triggered by the event type {\ttfamily type} and was calling the function {\ttfamily func} with data {\ttfamily data} when triggered. If the removal is successful it will also return the data pointer that was passed to \hyperlink{group__Evas__Object__Group__Events_ga0147a80fc21895dc40165f208ec8cf55}{evas\_\-object\_\-event\_\-callback\_\-add()} (that will be the same as the parameter) when the callback was added to the object. If not successful NULL will be returned.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas_Object *object;
+ void *my_data;
+ void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ my_data = evas_object_event_callback_del_full(object, EVAS_CALLBACK_MOUSE_UP, up
+      _callback, data);
+\end{DoxyCode}
+ \index{Evas\_\-Object\_\-Group\_\-Events@{Evas\_\-Object\_\-Group\_\-Events}!evas\_\-object\_\-pass\_\-events\_\-get@{evas\_\-object\_\-pass\_\-events\_\-get}}
+\index{evas\_\-object\_\-pass\_\-events\_\-get@{evas\_\-object\_\-pass\_\-events\_\-get}!Evas_Object_Group_Events@{Evas\_\-Object\_\-Group\_\-Events}}
+\subsubsection[{evas\_\-object\_\-pass\_\-events\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-pass\_\-events\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Events_ga019458a8697c55dc3d5e3fe525c535e0}
+
+
+Determine whether an object is set to pass events. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+pass events state 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Events@{Evas\_\-Object\_\-Group\_\-Events}!evas\_\-object\_\-pass\_\-events\_\-set@{evas\_\-object\_\-pass\_\-events\_\-set}}
+\index{evas\_\-object\_\-pass\_\-events\_\-set@{evas\_\-object\_\-pass\_\-events\_\-set}!Evas_Object_Group_Events@{Evas\_\-Object\_\-Group\_\-Events}}
+\subsubsection[{evas\_\-object\_\-pass\_\-events\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-pass\_\-events\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ pass}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Events_ga5622d84abe1bd303de71f8ddbdcd0665}
+
+
+Set an object's pass events state. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the evas object \item[{\em pass}]whether to pass events or not\end{DoxyParams}
+If {\ttfamily pass} is true, this will cause events on {\ttfamily obj} to be ignored. They will be triggered on the next lower object (that is not set to pass events) instead.
+
+If {\ttfamily pass} is false, events will be processed as normal. 
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+\index{Evas\_\-Object\_\-Group\_\-Events@{Evas\_\-Object\_\-Group\_\-Events}!evas\_\-object\_\-propagate\_\-events\_\-get@{evas\_\-object\_\-propagate\_\-events\_\-get}}
+\index{evas\_\-object\_\-propagate\_\-events\_\-get@{evas\_\-object\_\-propagate\_\-events\_\-get}!Evas_Object_Group_Events@{Evas\_\-Object\_\-Group\_\-Events}}
+\subsubsection[{evas\_\-object\_\-propagate\_\-events\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-propagate\_\-events\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Events_gadc40db6c861c8e57a2229783f0e9ac7f}
+
+
+Determine whether an object is set to propagate events. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+propagate events state 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Events@{Evas\_\-Object\_\-Group\_\-Events}!evas\_\-object\_\-propagate\_\-events\_\-set@{evas\_\-object\_\-propagate\_\-events\_\-set}}
+\index{evas\_\-object\_\-propagate\_\-events\_\-set@{evas\_\-object\_\-propagate\_\-events\_\-set}!Evas_Object_Group_Events@{Evas\_\-Object\_\-Group\_\-Events}}
+\subsubsection[{evas\_\-object\_\-propagate\_\-events\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-propagate\_\-events\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ prop}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Events_gaca523e82bd3e590f92e8bbda29c1607d}
+
+
+Set whether events on a smart member object should propagate to its parent. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the smart member object \item[{\em prop}]wheter to propagate events or not\end{DoxyParams}
+This function has no effect if {\ttfamily obj} is not a member of a smart object.
+
+If {\ttfamily prop} is true, events occurring on this object will propagate on to the smart object of which {\ttfamily obj} is a member.
+
+If {\ttfamily prop} is false, events for which callbacks are set on the member object, {\ttfamily obj}, will not be passed on to the parent smart object.
+
+The default value is true. \index{Evas\_\-Object\_\-Group\_\-Events@{Evas\_\-Object\_\-Group\_\-Events}!evas\_\-object\_\-repeat\_\-events\_\-get@{evas\_\-object\_\-repeat\_\-events\_\-get}}
+\index{evas\_\-object\_\-repeat\_\-events\_\-get@{evas\_\-object\_\-repeat\_\-events\_\-get}!Evas_Object_Group_Events@{Evas\_\-Object\_\-Group\_\-Events}}
+\subsubsection[{evas\_\-object\_\-repeat\_\-events\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-repeat\_\-events\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Events_ga2c7ca0c2c33ec1e12da64f60a5742582}
+
+
+Determine whether an object is set to repeat events. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+repeat events state 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Events@{Evas\_\-Object\_\-Group\_\-Events}!evas\_\-object\_\-repeat\_\-events\_\-set@{evas\_\-object\_\-repeat\_\-events\_\-set}}
+\index{evas\_\-object\_\-repeat\_\-events\_\-set@{evas\_\-object\_\-repeat\_\-events\_\-set}!Evas_Object_Group_Events@{Evas\_\-Object\_\-Group\_\-Events}}
+\subsubsection[{evas\_\-object\_\-repeat\_\-events\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-repeat\_\-events\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ repeat}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Events_gaacd5e00427f3c98ecfb72f630ff7aa46}
+
+
+Set an object's repeat events state. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the object \item[{\em repeat}]wheter to repeat events or not\end{DoxyParams}
+If {\ttfamily repeat} is true, this will cause events on {\ttfamily obj} to trigger callbacks, but also to be repeated on the next lower object in the stack.
+
+If {\ttfamily repeat} is false, events occurring on {\ttfamily obj} will be processed normally. 
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
diff --git a/doc/latex/group__Evas__Object__Group__Extras.tex b/doc/latex/group__Evas__Object__Group__Extras.tex
new file mode 100644 (file)
index 0000000..c1ea607
--- /dev/null
@@ -0,0 +1,457 @@
+\section{Extra Object Manipulation}
+\label{group__Evas__Object__Group__Extras}\index{Extra Object Manipulation@{Extra Object Manipulation}}
+
+
+Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects.  
+
+
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef enum \hyperlink{group__Evas__Object__Group__Extras_ga551375283a5e2b0abffd5f40582e9ce2}{\_\-Evas\_\-Render\_\-Op} \hyperlink{group__Evas__Object__Group__Extras_ga9c39a3ca795bbec3687fae9ee67d6056}{Evas\_\-Render\_\-Op}
+\item 
+typedef enum \hyperlink{group__Evas__Object__Group__Extras_ga822b2a69896ff21279debe2a417e3082}{\_\-Evas\_\-Object\_\-Pointer\_\-Mode} \hyperlink{group__Evas__Object__Group__Extras_ga27baac4c63b590de109e3e3f0d941483}{Evas\_\-Object\_\-Pointer\_\-Mode}
+\begin{DoxyCompactList}\small\item\em How mouse pointer should be handled by Evas. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Enumerations}
+\begin{DoxyCompactItemize}
+\item 
+enum \hyperlink{group__Evas__Object__Group__Extras_ga551375283a5e2b0abffd5f40582e9ce2}{\_\-Evas\_\-Render\_\-Op} \{ \par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e}{EVAS\_\-RENDER\_\-BLEND} =  0, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7}{EVAS\_\-RENDER\_\-BLEND\_\-REL} =  1, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd}{EVAS\_\-RENDER\_\-COPY} =  2, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea}{EVAS\_\-RENDER\_\-COPY\_\-REL} =  3, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926}{EVAS\_\-RENDER\_\-ADD} =  4, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc}{EVAS\_\-RENDER\_\-ADD\_\-REL} =  5, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27}{EVAS\_\-RENDER\_\-SUB} =  6, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c}{EVAS\_\-RENDER\_\-SUB\_\-REL} =  7, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9}{EVAS\_\-RENDER\_\-TINT} =  8, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6}{EVAS\_\-RENDER\_\-TINT\_\-REL} =  9, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f}{EVAS\_\-RENDER\_\-MASK} =  10, 
+\par
+\hyperlink{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294}{EVAS\_\-RENDER\_\-MUL} =  11
+ \}
+\begin{DoxyCompactList}\small\item\em How the object should be rendered to output. \item\end{DoxyCompactList}\item 
+enum \hyperlink{group__Evas__Object__Group__Extras_ga822b2a69896ff21279debe2a417e3082}{\_\-Evas\_\-Object\_\-Pointer\_\-Mode} \{ \hyperlink{group__Evas__Object__Group__Extras_gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28}{EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB}
+ \}
+\begin{DoxyCompactList}\small\item\em How mouse pointer should be handled by Evas. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_ga429f41f49547080ff96d21196e4ff8ed}{evas\_\-object\_\-data\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$key, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Set an attached data pointer to an object with a given string key. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Extras_ga69bba3a6ae917a3170ec4429d6b86f0b}{evas\_\-object\_\-data\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$key)
+\begin{DoxyCompactList}\small\item\em Return an attached data pointer by its given string key. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Extras_ga163e7d373168eea15ef1b6a9be68f3ec}{evas\_\-object\_\-data\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$key)
+\begin{DoxyCompactList}\small\item\em Delete at attached data pointer from an object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_ga5504e39f8d0cc41af3663fed15ec06e5}{evas\_\-object\_\-pointer\_\-mode\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group__Extras_ga27baac4c63b590de109e3e3f0d941483}{Evas\_\-Object\_\-Pointer\_\-Mode} setting)
+\begin{DoxyCompactList}\small\item\em Set pointer behavior. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group__Extras_ga27baac4c63b590de109e3e3f0d941483}{Evas\_\-Object\_\-Pointer\_\-Mode} \hyperlink{group__Evas__Object__Group__Extras_ga80faa9ce3b9ab59fe7b4bf6924b293ac}{evas\_\-object\_\-pointer\_\-mode\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Determine how pointer will behave. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_gaf0c7d4c49695749fa616d0abdbd5ddeb}{evas\_\-object\_\-anti\_\-alias\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool anti\_\-alias)
+\begin{DoxyCompactList}\small\item\em Sets whether or not the given evas object is to be drawn anti-\/aliased. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Extras_ga3308cb65716beb4ce826b9701e23159a}{evas\_\-object\_\-anti\_\-alias\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves whether or not the given evas object is to be drawn anti\_\-aliased. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_gaf010777fa1b58bd1c9c8093d2edc62e9}{evas\_\-object\_\-scale\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double scale)
+\begin{DoxyCompactList}\small\item\em Sets the scaling factor for an evas object. \item\end{DoxyCompactList}\item 
+EAPI double \hyperlink{group__Evas__Object__Group__Extras_ga1c0aca3af434f0bc0fa8732248b197ba}{evas\_\-object\_\-scale\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the scaling factor for the given evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_ga86ef8d1f039bff1a60595688f93a7990}{evas\_\-object\_\-render\_\-op\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group__Extras_ga9c39a3ca795bbec3687fae9ee67d6056}{Evas\_\-Render\_\-Op} render\_\-op)
+\begin{DoxyCompactList}\small\item\em Sets the render\_\-op to be used for rendering the evas object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group__Extras_ga9c39a3ca795bbec3687fae9ee67d6056}{Evas\_\-Render\_\-Op} \hyperlink{group__Evas__Object__Group__Extras_gaa157afa6f23cdf4b344d95531bb7d508}{evas\_\-object\_\-render\_\-op\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the current value of the operation used for rendering the evas object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_gac9ce9802afd7d4cba580fbcbe92c28b2}{evas\_\-object\_\-precise\_\-is\_\-inside\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool precise)
+\begin{DoxyCompactList}\small\item\em Set whether to use a precise (usually expensive) point collision detection. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Extras_ga8483a3c855f466a5dca480fcfd07b52b}{evas\_\-object\_\-precise\_\-is\_\-inside\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Determine whether an object is set to use a precise point collision detection. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Extras_ga8697b24251c2209c60aabb1a5de860a8}{evas\_\-object\_\-static\_\-clip\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool is\_\-static\_\-clip)
+\begin{DoxyCompactList}\small\item\em Set a hint flag on the object that this is used as a static \char`\"{}clipper\char`\"{}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Group__Extras_gafda644be2d6e6360959853c9d6195ec8}{evas\_\-object\_\-static\_\-clip\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get static \char`\"{}clipper\char`\"{} hint flag. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects. 
+
+\subsection{Typedef Documentation}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!Evas\_\-Object\_\-Pointer\_\-Mode@{Evas\_\-Object\_\-Pointer\_\-Mode}}
+\index{Evas\_\-Object\_\-Pointer\_\-Mode@{Evas\_\-Object\_\-Pointer\_\-Mode}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{Evas\_\-Object\_\-Pointer\_\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf \_\-Evas\_\-Object\_\-Pointer\_\-Mode}  {\bf Evas\_\-Object\_\-Pointer\_\-Mode}}\label{group__Evas__Object__Group__Extras_ga27baac4c63b590de109e3e3f0d941483}
+
+
+How mouse pointer should be handled by Evas. 
+
+If \hyperlink{group__Evas__Object__Group__Extras_gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28}{EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB}, then when mouse is down an object, then moves outside of it, the pointer still behaves as being bound to the object, albeit out of its drawing region. On mouse up, the event will be feed to the object, that may check if the final position is over or not and do something about it. How mouse pointer should be handled by Evas. \index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!Evas\_\-Render\_\-Op@{Evas\_\-Render\_\-Op}}
+\index{Evas\_\-Render\_\-Op@{Evas\_\-Render\_\-Op}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{Evas\_\-Render\_\-Op}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf \_\-Evas\_\-Render\_\-Op}  {\bf Evas\_\-Render\_\-Op}}\label{group__Evas__Object__Group__Extras_ga9c39a3ca795bbec3687fae9ee67d6056}
+How the object should be rendered to output. 
+
+\subsection{Enumeration Type Documentation}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!\_\-Evas\_\-Object\_\-Pointer\_\-Mode@{\_\-Evas\_\-Object\_\-Pointer\_\-Mode}}
+\index{\_\-Evas\_\-Object\_\-Pointer\_\-Mode@{\_\-Evas\_\-Object\_\-Pointer\_\-Mode}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{\_\-Evas\_\-Object\_\-Pointer\_\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Object\_\-Pointer\_\-Mode}}\label{group__Evas__Object__Group__Extras_ga822b2a69896ff21279debe2a417e3082}
+
+
+How mouse pointer should be handled by Evas. 
+
+If \hyperlink{group__Evas__Object__Group__Extras_gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28}{EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB}, then when mouse is down an object, then moves outside of it, the pointer still behaves as being bound to the object, albeit out of its drawing region. On mouse up, the event will be feed to the object, that may check if the final position is over or not and do something about it. \begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB@{EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB@{EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB}}\item[{\em 
+EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB\label{group__Evas__Object__Group__Extras_gga822b2a69896ff21279debe2a417e3082a088ef2950aeb5a105c53decbbac82a28}
+}]default, X11-\/like \end{description}
+\end{Desc}
+
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!\_\-Evas\_\-Render\_\-Op@{\_\-Evas\_\-Render\_\-Op}}
+\index{\_\-Evas\_\-Render\_\-Op@{\_\-Evas\_\-Render\_\-Op}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{\_\-Evas\_\-Render\_\-Op}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Render\_\-Op}}\label{group__Evas__Object__Group__Extras_ga551375283a5e2b0abffd5f40582e9ce2}
+
+
+How the object should be rendered to output. 
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-RENDER\_\-BLEND@{EVAS\_\-RENDER\_\-BLEND}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-BLEND@{EVAS\_\-RENDER\_\-BLEND}}\item[{\em 
+EVAS\_\-RENDER\_\-BLEND\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2ade640652f7342e2e2151bb7bd0bee31e}
+}]default op: d = d$\ast$(1-\/sa) + s \index{EVAS\_\-RENDER\_\-BLEND\_\-REL@{EVAS\_\-RENDER\_\-BLEND\_\-REL}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-BLEND\_\-REL@{EVAS\_\-RENDER\_\-BLEND\_\-REL}}\item[{\em 
+EVAS\_\-RENDER\_\-BLEND\_\-REL\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2af49b4dbb7b8c61b595f143c7415b9eb7}
+}]d = d$\ast$(1 -\/ sa) + s$\ast$da \index{EVAS\_\-RENDER\_\-COPY@{EVAS\_\-RENDER\_\-COPY}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-COPY@{EVAS\_\-RENDER\_\-COPY}}\item[{\em 
+EVAS\_\-RENDER\_\-COPY\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a695c8ae11f59b4b5cd9907767ff5e7bd}
+}]d = s \index{EVAS\_\-RENDER\_\-COPY\_\-REL@{EVAS\_\-RENDER\_\-COPY\_\-REL}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-COPY\_\-REL@{EVAS\_\-RENDER\_\-COPY\_\-REL}}\item[{\em 
+EVAS\_\-RENDER\_\-COPY\_\-REL\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a7e4cca2acc2088c71cdebca03d7e3cea}
+}]d = s$\ast$da \index{EVAS\_\-RENDER\_\-ADD@{EVAS\_\-RENDER\_\-ADD}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-ADD@{EVAS\_\-RENDER\_\-ADD}}\item[{\em 
+EVAS\_\-RENDER\_\-ADD\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a950b6045d15e439b98badc63d9c52926}
+}]d = d + s \index{EVAS\_\-RENDER\_\-ADD\_\-REL@{EVAS\_\-RENDER\_\-ADD\_\-REL}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-ADD\_\-REL@{EVAS\_\-RENDER\_\-ADD\_\-REL}}\item[{\em 
+EVAS\_\-RENDER\_\-ADD\_\-REL\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a7771ae083fb87f50a203cc643cb670cc}
+}]d = d + s$\ast$da \index{EVAS\_\-RENDER\_\-SUB@{EVAS\_\-RENDER\_\-SUB}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-SUB@{EVAS\_\-RENDER\_\-SUB}}\item[{\em 
+EVAS\_\-RENDER\_\-SUB\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a3183f3f43c243373ca0d63e134342e27}
+}]d = d -\/ s \index{EVAS\_\-RENDER\_\-SUB\_\-REL@{EVAS\_\-RENDER\_\-SUB\_\-REL}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-SUB\_\-REL@{EVAS\_\-RENDER\_\-SUB\_\-REL}}\item[{\em 
+EVAS\_\-RENDER\_\-SUB\_\-REL\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2ab6167dbd8428b155181368f3d0eb349c}
+}]d = d -\/ s$\ast$da \index{EVAS\_\-RENDER\_\-TINT@{EVAS\_\-RENDER\_\-TINT}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-TINT@{EVAS\_\-RENDER\_\-TINT}}\item[{\em 
+EVAS\_\-RENDER\_\-TINT\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a9d1d18d6f8e8497db805b3539ff4a2e9}
+}]d = d$\ast$s + d$\ast$(1 -\/ sa) + s$\ast$(1 -\/ da) \index{EVAS\_\-RENDER\_\-TINT\_\-REL@{EVAS\_\-RENDER\_\-TINT\_\-REL}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-TINT\_\-REL@{EVAS\_\-RENDER\_\-TINT\_\-REL}}\item[{\em 
+EVAS\_\-RENDER\_\-TINT\_\-REL\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a074b198fc95213003d51be4e1b2988c6}
+}]d = d$\ast$(1 -\/ sa + s) \index{EVAS\_\-RENDER\_\-MASK@{EVAS\_\-RENDER\_\-MASK}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-MASK@{EVAS\_\-RENDER\_\-MASK}}\item[{\em 
+EVAS\_\-RENDER\_\-MASK\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2ad84a48299047fa2e2fb0d9807cae9b2f}
+}]d = d$\ast$sa \index{EVAS\_\-RENDER\_\-MUL@{EVAS\_\-RENDER\_\-MUL}!Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}}\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!EVAS\_\-RENDER\_\-MUL@{EVAS\_\-RENDER\_\-MUL}}\item[{\em 
+EVAS\_\-RENDER\_\-MUL\label{group__Evas__Object__Group__Extras_gga551375283a5e2b0abffd5f40582e9ce2a9da04ad7efd34522071e86a01a57f294}
+}]d = d$\ast$s \end{description}
+\end{Desc}
+
+
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-anti\_\-alias\_\-get@{evas\_\-object\_\-anti\_\-alias\_\-get}}
+\index{evas\_\-object\_\-anti\_\-alias\_\-get@{evas\_\-object\_\-anti\_\-alias\_\-get}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-anti\_\-alias\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-anti\_\-alias\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_ga3308cb65716beb4ce826b9701e23159a}
+
+
+Retrieves whether or not the given evas object is to be drawn anti\_\-aliased. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+{\ttfamily 1} if the object is to be anti\_\-aliased. {\ttfamily 0} otherwise. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-anti\_\-alias\_\-set@{evas\_\-object\_\-anti\_\-alias\_\-set}}
+\index{evas\_\-object\_\-anti\_\-alias\_\-set@{evas\_\-object\_\-anti\_\-alias\_\-set}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-anti\_\-alias\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-anti\_\-alias\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ anti\_\-alias}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_gaf0c7d4c49695749fa616d0abdbd5ddeb}
+
+
+Sets whether or not the given evas object is to be drawn anti-\/aliased. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em anti\_\-alias}]1 if the object is to be anti\_\-aliased, 0 otherwise. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-data\_\-del@{evas\_\-object\_\-data\_\-del}}
+\index{evas\_\-object\_\-data\_\-del@{evas\_\-object\_\-data\_\-del}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-data\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-data\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ key}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_ga163e7d373168eea15ef1b6a9be68f3ec}
+
+
+Delete at attached data pointer from an object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The object to delete the data pointer from \item[{\em key}]The string key the data was stored under \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The original data pointer stored at {\ttfamily key} on {\ttfamily obj} 
+\end{DoxyReturn}
+This will remove thee stored data pointer from {\ttfamily obj} stored under {\ttfamily key}, and return the original pointer stored under {\ttfamily key}, if any, nor NULL if nothing was stored under that key.
+
+Example:
+
+
+\begin{DoxyCode}
+ int *my_data;
+ extern Evas_Object *obj;
+
+ my_data = evas_object_data_del(obj, "name_of_my_data");
+\end{DoxyCode}
+
+Referenced by evas\_\-object\_\-data\_\-set().
+
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-data\_\-get@{evas\_\-object\_\-data\_\-get}}
+\index{evas\_\-object\_\-data\_\-get@{evas\_\-object\_\-data\_\-get}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-data\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-data\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ key}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_ga69bba3a6ae917a3170ec4429d6b86f0b}
+
+
+Return an attached data pointer by its given string key. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The object to which the data was attached \item[{\em key}]The string key the data was stored under \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The data pointer stored, or NULL if none was stored
+\end{DoxyReturn}
+This function will return the data pointer attached to the object {\ttfamily obj} stored using the string key {\ttfamily key}. If the object is valid and data was stored under the given key, the pointer that was stored will be reuturned. If this is not the case, NULL will be returned, signifying an invalid object or non-\/existent key. It is possible a NULL pointer was stored given that key, but this situation is non-\/sensical and thus can be considered an error as well. NULL pointers are never stored as this is the return value if an error occurs.
+
+Example:
+
+
+\begin{DoxyCode}
+ int *my_data;
+ extern Evas_Object *obj;
+
+ my_data = evas_object_data_get(obj, "name_of_my_data");
+ if (my_data) printf("Data stored was %p\n", my_data);
+ else printf("No data was stored on the object\n");
+\end{DoxyCode}
+ \index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-data\_\-set@{evas\_\-object\_\-data\_\-set}}
+\index{evas\_\-object\_\-data\_\-set@{evas\_\-object\_\-data\_\-set}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-data\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-data\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ key, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_ga429f41f49547080ff96d21196e4ff8ed}
+
+
+Set an attached data pointer to an object with a given string key. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The object to attach the data pointer to \item[{\em key}]The string key for the data to access it \item[{\em data}]The ponter to the data to be attached\end{DoxyParams}
+This attaches the pointer {\ttfamily data} to the object {\ttfamily obj} given the string {\ttfamily key}. This pointer will stay \char`\"{}hooked\char`\"{} to the object until a new pointer with the same string key is attached with \hyperlink{group__Evas__Object__Group__Extras_ga429f41f49547080ff96d21196e4ff8ed}{evas\_\-object\_\-data\_\-set()} or it is deleted with \hyperlink{group__Evas__Object__Group__Extras_ga163e7d373168eea15ef1b6a9be68f3ec}{evas\_\-object\_\-data\_\-del()}. On deletion of the object {\ttfamily obj}, the pointers will not be accessible from the object anymore.
+
+You can find the pointer attached under a string key using \hyperlink{group__Evas__Object__Group__Extras_ga69bba3a6ae917a3170ec4429d6b86f0b}{evas\_\-object\_\-data\_\-get()}. It is the job of the calling application to free any data pointed to by {\ttfamily data} when it is no longer required.
+
+If {\ttfamily data} is NULL, the old value stored at {\ttfamily key} will be removed but no new value will be stored. This is synonymous with calling \hyperlink{group__Evas__Object__Group__Extras_ga163e7d373168eea15ef1b6a9be68f3ec}{evas\_\-object\_\-data\_\-del()} with {\ttfamily obj} and {\ttfamily key}.
+
+Example:
+
+
+\begin{DoxyCode}
+ int *my_data;
+ extern Evas_Object *obj;
+
+ my_data = malloc(500);
+ evas_object_data_set(obj, "name_of_data", my_data);
+ printf("The data that was attached was %p\n", evas_object_data_get(obj, "name_of
+      _data"));
+\end{DoxyCode}
+
+References evas\_\-object\_\-data\_\-del().
+
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-pointer\_\-mode\_\-get@{evas\_\-object\_\-pointer\_\-mode\_\-get}}
+\index{evas\_\-object\_\-pointer\_\-mode\_\-get@{evas\_\-object\_\-pointer\_\-mode\_\-get}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-pointer\_\-mode\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object\_\-Pointer\_\-Mode} evas\_\-object\_\-pointer\_\-mode\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_ga80faa9ce3b9ab59fe7b4bf6924b293ac}
+
+
+Determine how pointer will behave. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+pointer behavior. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-pointer\_\-mode\_\-set@{evas\_\-object\_\-pointer\_\-mode\_\-set}}
+\index{evas\_\-object\_\-pointer\_\-mode\_\-set@{evas\_\-object\_\-pointer\_\-mode\_\-set}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-pointer\_\-mode\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-pointer\_\-mode\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Object\_\-Pointer\_\-Mode}}]{ setting}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_ga5504e39f8d0cc41af3663fed15ec06e5}
+
+
+Set pointer behavior. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]\item[{\em setting}]desired behavior.\end{DoxyParams}
+This function has direct effect on event callbacks related to mouse.
+
+If {\ttfamily setting} is EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB, then when mouse is down at this object, events will be restricted to it as source, mouse moves, for example, will be emitted even if outside this object area.
+
+If {\ttfamily setting} is EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-NOGRAB, then events will be emitted just when inside this object area.
+
+The default value is EVAS\_\-OBJECT\_\-POINTER\_\-MODE\_\-AUTOGRAB. \index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-precise\_\-is\_\-inside\_\-get@{evas\_\-object\_\-precise\_\-is\_\-inside\_\-get}}
+\index{evas\_\-object\_\-precise\_\-is\_\-inside\_\-get@{evas\_\-object\_\-precise\_\-is\_\-inside\_\-get}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-precise\_\-is\_\-inside\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-precise\_\-is\_\-inside\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_ga8483a3c855f466a5dca480fcfd07b52b}
+
+
+Determine whether an object is set to use a precise point collision detection. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given object. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-precise\_\-is\_\-inside\_\-set@{evas\_\-object\_\-precise\_\-is\_\-inside\_\-set}}
+\index{evas\_\-object\_\-precise\_\-is\_\-inside\_\-set@{evas\_\-object\_\-precise\_\-is\_\-inside\_\-set}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-precise\_\-is\_\-inside\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-precise\_\-is\_\-inside\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ precise}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_gac9ce9802afd7d4cba580fbcbe92c28b2}
+
+
+Set whether to use a precise (usually expensive) point collision detection. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given object. \item[{\em precise}]wheter to use a precise point collision detection or not The default value is false. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-render\_\-op\_\-get@{evas\_\-object\_\-render\_\-op\_\-get}}
+\index{evas\_\-object\_\-render\_\-op\_\-get@{evas\_\-object\_\-render\_\-op\_\-get}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-render\_\-op\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Render\_\-Op} evas\_\-object\_\-render\_\-op\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_gaa157afa6f23cdf4b344d95531bb7d508}
+
+
+Retrieves the current value of the operation used for rendering the evas object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+one of the enumerated values in Evas\_\-Render\_\-Op. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-render\_\-op\_\-set@{evas\_\-object\_\-render\_\-op\_\-set}}
+\index{evas\_\-object\_\-render\_\-op\_\-set@{evas\_\-object\_\-render\_\-op\_\-set}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-render\_\-op\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-render\_\-op\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Render\_\-Op}}]{ render\_\-op}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_ga86ef8d1f039bff1a60595688f93a7990}
+
+
+Sets the render\_\-op to be used for rendering the evas object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em render\_\-op}]one of the Evas\_\-Render\_\-Op values. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-scale\_\-get@{evas\_\-object\_\-scale\_\-get}}
+\index{evas\_\-object\_\-scale\_\-get@{evas\_\-object\_\-scale\_\-get}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-scale\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI double evas\_\-object\_\-scale\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_ga1c0aca3af434f0bc0fa8732248b197ba}
+
+
+Retrieves the scaling factor for the given evas object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The scaling factor. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-scale\_\-set@{evas\_\-object\_\-scale\_\-set}}
+\index{evas\_\-object\_\-scale\_\-set@{evas\_\-object\_\-scale\_\-set}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-scale\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-scale\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{double}]{ scale}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_gaf010777fa1b58bd1c9c8093d2edc62e9}
+
+
+Sets the scaling factor for an evas object. 
+
+Does not affect all objects.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em scale}]The scaling factor. 1.0 == none. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-static\_\-clip\_\-get@{evas\_\-object\_\-static\_\-clip\_\-get}}
+\index{evas\_\-object\_\-static\_\-clip\_\-get@{evas\_\-object\_\-static\_\-clip\_\-get}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-static\_\-clip\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-static\_\-clip\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_gafda644be2d6e6360959853c9d6195ec8}
+
+
+Get static \char`\"{}clipper\char`\"{} hint flag. 
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Extras_ga8697b24251c2209c60aabb1a5de860a8}{evas\_\-object\_\-static\_\-clip\_\-set()}
+\end{DoxySeeAlso}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The static clip flag (on or off) 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Extras@{Evas\_\-Object\_\-Group\_\-Extras}!evas\_\-object\_\-static\_\-clip\_\-set@{evas\_\-object\_\-static\_\-clip\_\-set}}
+\index{evas\_\-object\_\-static\_\-clip\_\-set@{evas\_\-object\_\-static\_\-clip\_\-set}!Evas_Object_Group_Extras@{Evas\_\-Object\_\-Group\_\-Extras}}
+\subsubsection[{evas\_\-object\_\-static\_\-clip\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-static\_\-clip\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ is\_\-static\_\-clip}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Extras_ga8697b24251c2209c60aabb1a5de860a8}
+
+
+Set a hint flag on the object that this is used as a static \char`\"{}clipper\char`\"{}. 
+
+This is a hint to evas that this object is used as a big static clipper and shouldnt be moved with children and otherwise considered specially. The Default is off.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given object. \item[{\em is\_\-static\_\-clip}]The static clip flag (on or off) \end{DoxyParams}
diff --git a/doc/latex/group__Evas__Object__Group__Find.tex b/doc/latex/group__Evas__Object__Group__Find.tex
new file mode 100644 (file)
index 0000000..f3e6b57
--- /dev/null
@@ -0,0 +1,227 @@
+\section{Finding Objects}
+\label{group__Evas__Object__Group__Find}\index{Finding Objects@{Finding Objects}}
+
+
+Functions that allows finding objects by their position, name or other properties.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gaafc05ec22375400b9f0cfc8bcfc83bf5}{evas\_\-focus\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Retrieve the object that currently has focus. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gad3214c89581f068934c57ac71dc6a52f}{evas\_\-object\_\-name\_\-find} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, const char $\ast$name)
+\begin{DoxyCompactList}\small\item\em Retrieves the object on the given evas with the given name. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga6028b55f1ec538feb45aa004ba916a54}{evas\_\-object\_\-top\_\-at\_\-xy\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x, Evas\_\-Coord y, Eina\_\-Bool include\_\-pass\_\-events\_\-objects, Eina\_\-Bool include\_\-hidden\_\-objects)
+\begin{DoxyCompactList}\small\item\em Retrieves the top object at the given position (x,y). \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga6382adb2279892eb01029cef46988448}{evas\_\-object\_\-top\_\-at\_\-pointer\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Retrieves the top object at mouse pointer position. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_gaf072ec206768d96c6f73a590e6af39c9}{evas\_\-object\_\-top\_\-in\_\-rectangle\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord w, Evas\_\-Coord h, Eina\_\-Bool include\_\-pass\_\-events\_\-objects, Eina\_\-Bool include\_\-hidden\_\-objects)
+\begin{DoxyCompactList}\small\item\em Retrieves the top object in the given rectangle region. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga473d00deb431d0869484474153e47c04}{evas\_\-objects\_\-at\_\-xy\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x, Evas\_\-Coord y, Eina\_\-Bool include\_\-pass\_\-events\_\-objects, Eina\_\-Bool include\_\-hidden\_\-objects)
+\begin{DoxyCompactList}\small\item\em Retrieves the objects at the given position. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Group__Find_gae5d4af2f915c2efe4e5cfc22644b8c53}{evas\_\-objects\_\-in\_\-rectangle\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord w, Evas\_\-Coord h, Eina\_\-Bool include\_\-pass\_\-events\_\-objects, Eina\_\-Bool include\_\-hidden\_\-objects)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga3e06dcd04da8cd9d64e106f7ede8db9e}{evas\_\-object\_\-bottom\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Get the lowest evas object on the Evas {\ttfamily e}. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Group__Find_ga2acf1e026d576ba355ca1b1ea24e0736}{evas\_\-object\_\-top\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Get the highest evas object on the Evas {\ttfamily e}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that allows finding objects by their position, name or other properties. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Group\_\-Find@{Evas\_\-Object\_\-Group\_\-Find}!evas\_\-focus\_\-get@{evas\_\-focus\_\-get}}
+\index{evas\_\-focus\_\-get@{evas\_\-focus\_\-get}!Evas_Object_Group_Find@{Evas\_\-Object\_\-Group\_\-Find}}
+\subsubsection[{evas\_\-focus\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-focus\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Find_gaafc05ec22375400b9f0cfc8bcfc83bf5}
+
+
+Retrieve the object that currently has focus. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The {\ttfamily Evas} canvas to query focus on.\end{DoxyParams}
+Returns the object that currently has focus, NULL otherwise.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Basic_ga5f1530901a9e94e3f35b987101009cf5}{evas\_\-object\_\-focus\_\-set} 
+
+\hyperlink{group__Evas__Object__Group__Basic_ga7dc71b30e4caaaf60076a5990173d654}{evas\_\-object\_\-focus\_\-get} 
+
+evas\_\-object\_\-key\_\-grab 
+
+evas\_\-object\_\-key\_\-ungrab
+\end{DoxySeeAlso}
+\begin{DoxyReturn}{Returns}
+The object that has focus or NULL is there is not one. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Find@{Evas\_\-Object\_\-Group\_\-Find}!evas\_\-object\_\-bottom\_\-get@{evas\_\-object\_\-bottom\_\-get}}
+\index{evas\_\-object\_\-bottom\_\-get@{evas\_\-object\_\-bottom\_\-get}!Evas_Object_Group_Find@{Evas\_\-Object\_\-Group\_\-Find}}
+\subsubsection[{evas\_\-object\_\-bottom\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-bottom\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Find_ga3e06dcd04da8cd9d64e106f7ede8db9e}
+
+
+Get the lowest evas object on the Evas {\ttfamily e}. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]an Evas \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the lowest object 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Find@{Evas\_\-Object\_\-Group\_\-Find}!evas\_\-object\_\-name\_\-find@{evas\_\-object\_\-name\_\-find}}
+\index{evas\_\-object\_\-name\_\-find@{evas\_\-object\_\-name\_\-find}!Evas_Object_Group_Find@{Evas\_\-Object\_\-Group\_\-Find}}
+\subsubsection[{evas\_\-object\_\-name\_\-find}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-name\_\-find (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{const char $\ast$}]{ name}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Find_gad3214c89581f068934c57ac71dc6a52f}
+
+
+Retrieves the object on the given evas with the given name. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \item[{\em name}]The given name. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+If successful, the evas object with the given name. Otherwise, {\ttfamily NULL}. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Find@{Evas\_\-Object\_\-Group\_\-Find}!evas\_\-object\_\-top\_\-at\_\-pointer\_\-get@{evas\_\-object\_\-top\_\-at\_\-pointer\_\-get}}
+\index{evas\_\-object\_\-top\_\-at\_\-pointer\_\-get@{evas\_\-object\_\-top\_\-at\_\-pointer\_\-get}!Evas_Object_Group_Find@{Evas\_\-Object\_\-Group\_\-Find}}
+\subsubsection[{evas\_\-object\_\-top\_\-at\_\-pointer\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-top\_\-at\_\-pointer\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Find_ga6382adb2279892eb01029cef46988448}
+
+
+Retrieves the top object at mouse pointer position. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The evas object that is over all others objects at the pointer position. 
+\end{DoxyReturn}
+
+
+References evas\_\-object\_\-top\_\-at\_\-xy\_\-get().
+
+\index{Evas\_\-Object\_\-Group\_\-Find@{Evas\_\-Object\_\-Group\_\-Find}!evas\_\-object\_\-top\_\-at\_\-xy\_\-get@{evas\_\-object\_\-top\_\-at\_\-xy\_\-get}}
+\index{evas\_\-object\_\-top\_\-at\_\-xy\_\-get@{evas\_\-object\_\-top\_\-at\_\-xy\_\-get}!Evas_Object_Group_Find@{Evas\_\-Object\_\-Group\_\-Find}}
+\subsubsection[{evas\_\-object\_\-top\_\-at\_\-xy\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-top\_\-at\_\-xy\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y, }
+\item[{Eina\_\-Bool}]{ include\_\-pass\_\-events\_\-objects, }
+\item[{Eina\_\-Bool}]{ include\_\-hidden\_\-objects}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Find_ga6028b55f1ec538feb45aa004ba916a54}
+
+
+Retrieves the top object at the given position (x,y). 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas object. \item[{\em x}]The horizontal coordinate \item[{\em y}]The vertical coordinate \item[{\em include\_\-pass\_\-events\_\-objects}]Boolean Flag to include or not pass events objects \item[{\em include\_\-hidden\_\-objects}]Boolean Flag to include or not hidden objects \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The evas object that is over all others objects at the given position. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-object\_\-top\_\-at\_\-pointer\_\-get().
+
+\index{Evas\_\-Object\_\-Group\_\-Find@{Evas\_\-Object\_\-Group\_\-Find}!evas\_\-object\_\-top\_\-get@{evas\_\-object\_\-top\_\-get}}
+\index{evas\_\-object\_\-top\_\-get@{evas\_\-object\_\-top\_\-get}!Evas_Object_Group_Find@{Evas\_\-Object\_\-Group\_\-Find}}
+\subsubsection[{evas\_\-object\_\-top\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-top\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Find_ga2acf1e026d576ba355ca1b1ea24e0736}
+
+
+Get the highest evas object on the Evas {\ttfamily e}. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]an Evas \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the highest object 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Find@{Evas\_\-Object\_\-Group\_\-Find}!evas\_\-object\_\-top\_\-in\_\-rectangle\_\-get@{evas\_\-object\_\-top\_\-in\_\-rectangle\_\-get}}
+\index{evas\_\-object\_\-top\_\-in\_\-rectangle\_\-get@{evas\_\-object\_\-top\_\-in\_\-rectangle\_\-get}!Evas_Object_Group_Find@{Evas\_\-Object\_\-Group\_\-Find}}
+\subsubsection[{evas\_\-object\_\-top\_\-in\_\-rectangle\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-top\_\-in\_\-rectangle\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y, }
+\item[{Evas\_\-Coord}]{ w, }
+\item[{Evas\_\-Coord}]{ h, }
+\item[{Eina\_\-Bool}]{ include\_\-pass\_\-events\_\-objects, }
+\item[{Eina\_\-Bool}]{ include\_\-hidden\_\-objects}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Find_gaf072ec206768d96c6f73a590e6af39c9}
+
+
+Retrieves the top object in the given rectangle region. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas object. \item[{\em x}]The horizontal coordinate. \item[{\em y}]The vertical coordinate. \item[{\em w}]The width size. \item[{\em h}]The height size. \item[{\em include\_\-pass\_\-events\_\-objects}]Boolean Flag to include or not pass events objects \item[{\em include\_\-hidden\_\-objects}]Boolean Flag to include or not hidden objects \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The evas object that is over all others objects at the pointer position. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Find@{Evas\_\-Object\_\-Group\_\-Find}!evas\_\-objects\_\-at\_\-xy\_\-get@{evas\_\-objects\_\-at\_\-xy\_\-get}}
+\index{evas\_\-objects\_\-at\_\-xy\_\-get@{evas\_\-objects\_\-at\_\-xy\_\-get}!Evas_Object_Group_Find@{Evas\_\-Object\_\-Group\_\-Find}}
+\subsubsection[{evas\_\-objects\_\-at\_\-xy\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-List$\ast$ evas\_\-objects\_\-at\_\-xy\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y, }
+\item[{Eina\_\-Bool}]{ include\_\-pass\_\-events\_\-objects, }
+\item[{Eina\_\-Bool}]{ include\_\-hidden\_\-objects}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Find_ga473d00deb431d0869484474153e47c04}
+
+
+Retrieves the objects at the given position. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas object. \item[{\em x}]The horizontal coordinate. \item[{\em y}]The vertical coordinate. \item[{\em include\_\-pass\_\-events\_\-objects}]Boolean Flag to include or not pass events objects \item[{\em include\_\-hidden\_\-objects}]Boolean Flag to include or not hidden objects \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The list of evas objects at the pointer position. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Group\_\-Find@{Evas\_\-Object\_\-Group\_\-Find}!evas\_\-objects\_\-in\_\-rectangle\_\-get@{evas\_\-objects\_\-in\_\-rectangle\_\-get}}
+\index{evas\_\-objects\_\-in\_\-rectangle\_\-get@{evas\_\-objects\_\-in\_\-rectangle\_\-get}!Evas_Object_Group_Find@{Evas\_\-Object\_\-Group\_\-Find}}
+\subsubsection[{evas\_\-objects\_\-in\_\-rectangle\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-List$\ast$ evas\_\-objects\_\-in\_\-rectangle\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y, }
+\item[{Evas\_\-Coord}]{ w, }
+\item[{Evas\_\-Coord}]{ h, }
+\item[{Eina\_\-Bool}]{ include\_\-pass\_\-events\_\-objects, }
+\item[{Eina\_\-Bool}]{ include\_\-hidden\_\-objects}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Find_gae5d4af2f915c2efe4e5cfc22644b8c53}
+
+
+To be documented. 
+
+FIXME: To be fixed. Retrieves the objects in the given rectangle region 
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas object. \item[{\em x}]The horizontal coordinate. \item[{\em y}]The vertical coordinate. \item[{\em w}]The width size. \item[{\em h}]The height size. \item[{\em include\_\-pass\_\-events\_\-objects}]Boolean Flag to include or not pass events objects \item[{\em include\_\-hidden\_\-objects}]Boolean Flag to include or not hidden objects \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The list of evas object in the rectangle region. 
+\end{DoxyReturn}
diff --git a/doc/latex/group__Evas__Object__Group__Interceptors.tex b/doc/latex/group__Evas__Object__Group__Interceptors.tex
new file mode 100644 (file)
index 0000000..12b4b83
--- /dev/null
@@ -0,0 +1,413 @@
+\section{Object Method Interceptors}
+\label{group__Evas__Object__Group__Interceptors}\index{Object Method Interceptors@{Object Method Interceptors}}
+
+
+Evas provides a way to intercept method calls.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_ga3d80ec058c8c41638c8cc969be4d2920}{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Show\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Set the callback function that intercepts a show event of a object. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_ga4816b582c3187aaad1644d2b93058e5e}{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Show\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em Unset the callback function that intercepts a show event of a object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_ga22e8baa1ef7a1607f8f28dac68a1f082}{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Hide\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Set the callback function that intercepts a hide event of a object. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_ga6586e236a6184486198775ab763e3f3c}{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Hide\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em Unset the callback function that intercepts a hide event of a object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_ga08de22649a49981f9e10bf0da91a3ea6}{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Move\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Set the callback function that intercepts a move event of a object. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_ga74c91ac985423daab22a89c4399c1d1d}{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Move\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em Unset the callback function that intercepts a move event of a object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_gac2ff36ae29a8e23617426f29a0c1fcd5}{evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Resize\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_ga4e97fa796c926741eb36e8394cb165c3}{evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Resize\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_ga19d34b7aeb38e7461ffd4edbe53ed6de}{evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Raise\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_ga506306fe87e6029c05900aa1d05f7738}{evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Raise\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_ga89af0b657cf6455d5f045a8635bda384}{evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Lower\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_gabf2007804911fba837d08f40771b4407}{evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Lower\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_ga2312fa84e2a3e406fa3dfcdcad4508e4}{evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Stack\_\-Above\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_gae1bf65a8cd0cdca8de7dc8d2695e793d}{evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Stack\_\-Above\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_ga2ca3156882d8c75ff9f133d919de97a3}{evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Stack\_\-Below\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_ga3ea2c39efe906e667c7ee6ff3e495077}{evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Stack\_\-Below\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_gad09f0dc01feadf931c7e28ec59c5a006}{evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Layer\_\-Set\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_gaae557df24e79e6f5e297c58039769756}{evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Layer\_\-Set\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_gaa06bec22508d8a6e3d46a15ad9b9424b}{evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Color\_\-Set\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_gaea953f10b9d493808ed05f76070d9271}{evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Color\_\-Set\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_gac4f3f584515d02f663d32fb010bd4959}{evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Clip\_\-Set\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_gab36329c91b46748f30c1bffb811f70ce}{evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Clip\_\-Set\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Interceptors_ga608008f35ffb143afc70c7154530a2c5}{evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Clip\_\-Unset\_\-Cb func, const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Group__Interceptors_gaa4985b2b46b9f0f3126856a343136286}{evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Intercept\_\-Clip\_\-Unset\_\-Cb func)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Evas provides a way to intercept method calls. The interceptor callback may opt to completely deny the call, or may check and change the parameters before continuing. The continuation of an intercepted call is done by calling the intercepted call again, from inside the interceptor callback. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Clip\_\-Set\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_gac4f3f584515d02f663d32fb010bd4959}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-clip\_\-set\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Clip\_\-Set\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_gab36329c91b46748f30c1bffb811f70ce}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Clip\_\-Unset\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga608008f35ffb143afc70c7154530a2c5}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-clip\_\-unset\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Clip\_\-Unset\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_gaa4985b2b46b9f0f3126856a343136286}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Color\_\-Set\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_gaa06bec22508d8a6e3d46a15ad9b9424b}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-color\_\-set\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Color\_\-Set\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_gaea953f10b9d493808ed05f76070d9271}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Hide\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga22e8baa1ef7a1607f8f28dac68a1f082}
+
+
+Set the callback function that intercepts a hide event of a object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas object pointer. \item[{\em func}]The given function to be the callback function. \item[{\em data}]The data passed to the callback function.\end{DoxyParams}
+This function sets a callback function to intercepts a hide event of a canvas object.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Interceptors_ga6586e236a6184486198775ab763e3f3c}{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-del()}. 
+\end{DoxySeeAlso}
+\index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Hide\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga6586e236a6184486198775ab763e3f3c}
+
+
+Unset the callback function that intercepts a hide event of a object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas object pointer. \item[{\em func}]The given callback function.\end{DoxyParams}
+This function sets a callback function to intercepts a hide event of a canvas object.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Interceptors_ga22e8baa1ef7a1607f8f28dac68a1f082}{evas\_\-object\_\-intercept\_\-hide\_\-callback\_\-add()}. 
+\end{DoxySeeAlso}
+\index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Layer\_\-Set\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_gad09f0dc01feadf931c7e28ec59c5a006}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-layer\_\-set\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Layer\_\-Set\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_gaae557df24e79e6f5e297c58039769756}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Lower\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga89af0b657cf6455d5f045a8635bda384}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-lower\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Lower\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_gabf2007804911fba837d08f40771b4407}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-move\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-move\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Move\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga08de22649a49981f9e10bf0da91a3ea6}
+
+
+Set the callback function that intercepts a move event of a object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas object pointer. \item[{\em func}]The given function to be the callback function. \item[{\em data}]The data passed to the callback function.\end{DoxyParams}
+This function sets a callback function to intercepts a move event of a canvas object.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Interceptors_ga74c91ac985423daab22a89c4399c1d1d}{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-del()}. 
+\end{DoxySeeAlso}
+\index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-move\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-move\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Move\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga74c91ac985423daab22a89c4399c1d1d}
+
+
+Unset the callback function that intercepts a move event of a object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas object pointer. \item[{\em func}]The given callback function.\end{DoxyParams}
+This function sets a callback function to intercepts a move event of a canvas object.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Interceptors_ga08de22649a49981f9e10bf0da91a3ea6}{evas\_\-object\_\-intercept\_\-move\_\-callback\_\-add()}. 
+\end{DoxySeeAlso}
+\index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Raise\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga19d34b7aeb38e7461ffd4edbe53ed6de}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-raise\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Raise\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga506306fe87e6029c05900aa1d05f7738}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Resize\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_gac2ff36ae29a8e23617426f29a0c1fcd5}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-resize\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Resize\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga4e97fa796c926741eb36e8394cb165c3}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-show\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-show\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Show\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga3d80ec058c8c41638c8cc969be4d2920}
+
+
+Set the callback function that intercepts a show event of a object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas object pointer. \item[{\em func}]The given function to be the callback function. \item[{\em data}]The data passed to the callback function.\end{DoxyParams}
+This function sets a callback function to intercepts a show event of a canvas object.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Interceptors_ga4816b582c3187aaad1644d2b93058e5e}{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-del()}. 
+\end{DoxySeeAlso}
+\index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-show\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-show\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Show\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga4816b582c3187aaad1644d2b93058e5e}
+
+
+Unset the callback function that intercepts a show event of a object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas object pointer. \item[{\em func}]The given callback function.\end{DoxyParams}
+This function sets a callback function to intercepts a show event of a canvas object.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Interceptors_ga3d80ec058c8c41638c8cc969be4d2920}{evas\_\-object\_\-intercept\_\-show\_\-callback\_\-add()}. 
+\end{DoxySeeAlso}
+\index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Stack\_\-Above\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga2312fa84e2a3e406fa3dfcdcad4508e4}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-stack\_\-above\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Stack\_\-Above\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_gae1bf65a8cd0cdca8de7dc8d2695e793d}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-add}}
+\index{evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-add@{evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-add}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Stack\_\-Below\_\-Cb}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga2ca3156882d8c75ff9f133d919de97a3}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Group\_\-Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}!evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-del}}
+\index{evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-del@{evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-del}!Evas_Object_Group_Interceptors@{Evas\_\-Object\_\-Group\_\-Interceptors}}
+\subsubsection[{evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-intercept\_\-stack\_\-below\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Intercept\_\-Stack\_\-Below\_\-Cb}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Interceptors_ga3ea2c39efe906e667c7ee6ff3e495077}
+
+
+To be documented. 
+
+FIXME: To be fixed. 
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Object__Group__Map.tex b/doc/latex/group__Evas__Object__Group__Map.tex
new file mode 100644 (file)
index 0000000..d225aa0
--- /dev/null
@@ -0,0 +1,43 @@
+\section{UV Mapping (Rotation, Perspecitve, 3D...)}
+\label{group__Evas__Object__Group__Map}\index{UV Mapping (Rotation, Perspecitve, 3D...)@{UV Mapping (Rotation, Perspecitve, 3D...)}}
+
+
+Evas allows different transformations to be applied to all kinds of objects.  
+
+
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef struct \_\-Evas\_\-Map \hyperlink{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}{Evas\_\-Map}
+\begin{DoxyCompactList}\small\item\em An opaque handle to map points. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Evas allows different transformations to be applied to all kinds of objects. These are applied by means of UV mapping.
+
+With UV mapping, one maps points in the source object to a 3D space positioning at target. This allows rotation, perspective, scale and lots of other effects, depending on the map that is used.
+
+Each map point may carry a multiplier color. If properly calculated, these can do shading effects on the object, producing 3D effects.
+
+As usual, Evas provides both the raw and easy to use methods. The raw methods allow developer to create its maps somewhere else, maybe load them from some file format. The easy to use methods, calculate the points given some high-\/level parameters, such as rotation angle, ambient light and so on.
+
+\begin{DoxyNote}{Note}
+applying mapping will reduce performance, so use with care. The impact on performance depends on engine in use. Software is quite optimized, but not as fast as OpenGL. 
+\end{DoxyNote}
+
+
+\subsection{Typedef Documentation}
+\index{Evas\_\-Object\_\-Group\_\-Map@{Evas\_\-Object\_\-Group\_\-Map}!Evas\_\-Map@{Evas\_\-Map}}
+\index{Evas\_\-Map@{Evas\_\-Map}!Evas_Object_Group_Map@{Evas\_\-Object\_\-Group\_\-Map}}
+\subsubsection[{Evas\_\-Map}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\_\-Map}}\label{group__Evas__Object__Group__Map_gae94fcea124ae4135e8bb15a014b334dc}
+
+
+An opaque handle to map points. 
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{Evas_8h_a719acc4f4792236f7031664ec450b399}{evas\_\-map\_\-new()} 
+
+\hyperlink{Evas_8h_a78ecdf799f326e1c17aae6770c06058a}{evas\_\-map\_\-free()} 
+
+\hyperlink{Evas_8h_a25ffe0dd36fed0c9c492d636b163390a}{evas\_\-map\_\-dup()} 
+\end{DoxySeeAlso}
diff --git a/doc/latex/group__Evas__Object__Group__Size__Hints.tex b/doc/latex/group__Evas__Object__Group__Size__Hints.tex
new file mode 100644 (file)
index 0000000..102e535
--- /dev/null
@@ -0,0 +1,350 @@
+\section{Size Hints}
+\label{group__Evas__Object__Group__Size__Hints}\index{Size Hints@{Size Hints}}
+
+
+Objects may carry hints so another object that acts as a manager (see \hyperlink{group__Evas__Smart__Object__Group}{Smart Object Functions}) may know how to properly position and resize the object.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga8f1430ec1cce66ee7763fbac7927f55e}{evas\_\-object\_\-size\_\-hint\_\-min\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h)
+\begin{DoxyCompactList}\small\item\em Retrieves the size hint for the minimum size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga373fc149848dd782ac942e4b5751eb4b}{evas\_\-object\_\-size\_\-hint\_\-min\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord w, Evas\_\-Coord h)
+\begin{DoxyCompactList}\small\item\em Sets the size hint for the minimum size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga868180db80ed59bfd7ebdc3dd71bb59a}{evas\_\-object\_\-size\_\-hint\_\-max\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h)
+\begin{DoxyCompactList}\small\item\em Retrieves the size hint for the maximum size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga2a224fd6c4fc231af281af59c5a604b2}{evas\_\-object\_\-size\_\-hint\_\-max\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord w, Evas\_\-Coord h)
+\begin{DoxyCompactList}\small\item\em Sets the size hint for the maximum size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga6a7de6942258ab03a6e85b37f569895d}{evas\_\-object\_\-size\_\-hint\_\-request\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h)
+\begin{DoxyCompactList}\small\item\em Retrieves the size request hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_gace0177af29ccbf1a60415f2c4c85c1f4}{evas\_\-object\_\-size\_\-hint\_\-request\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord w, Evas\_\-Coord h)
+\begin{DoxyCompactList}\small\item\em Sets the requested size hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga7b31c73dcbf60cdafe6ad7ffae42a54c}{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Aspect\_\-Control $\ast$aspect, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h)
+\begin{DoxyCompactList}\small\item\em Retrieves the size aspect control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_gadb36ccc851e48ae2a11a6e2cb7fcb273}{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Aspect\_\-Control aspect, Evas\_\-Coord w, Evas\_\-Coord h)
+\begin{DoxyCompactList}\small\item\em Sets the size aspect control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_gaff2802d3169b29a786f9b39be3f474bb}{evas\_\-object\_\-size\_\-hint\_\-align\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double $\ast$x, double $\ast$y)
+\begin{DoxyCompactList}\small\item\em Retrieves the size align control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga156cf1921d0be0d7dcf4d6f93daf010f}{evas\_\-object\_\-size\_\-hint\_\-align\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double x, double y)
+\begin{DoxyCompactList}\small\item\em Sets the size align control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga66f88dc981e7c0af05822c583e03fabb}{evas\_\-object\_\-size\_\-hint\_\-weight\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double $\ast$x, double $\ast$y)
+\begin{DoxyCompactList}\small\item\em Retrieves the size weight control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_gabb010d4e7a8772b1785185d89a1a6b98}{evas\_\-object\_\-size\_\-hint\_\-weight\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double x, double y)
+\begin{DoxyCompactList}\small\item\em Sets the size weight control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga81b821793f451c648052cf7d6cfe6dd4}{evas\_\-object\_\-size\_\-hint\_\-padding\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$l, Evas\_\-Coord $\ast$r, Evas\_\-Coord $\ast$t, Evas\_\-Coord $\ast$b)
+\begin{DoxyCompactList}\small\item\em Retrieves the size padding control hint. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Group__Size__Hints_ga0014a3016d34071d41d76785a963fcb1}{evas\_\-object\_\-size\_\-hint\_\-padding\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord l, Evas\_\-Coord r, Evas\_\-Coord t, Evas\_\-Coord b)
+\begin{DoxyCompactList}\small\item\em Sets the size padding control hint. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Objects may carry hints so another object that acts as a manager (see \hyperlink{group__Evas__Smart__Object__Group}{Smart Object Functions}) may know how to properly position and resize the object. The Size Hints provide a common interface that is recommended as the protocol for such information. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-align\_\-get@{evas\_\-object\_\-size\_\-hint\_\-align\_\-get}}
+\index{evas\_\-object\_\-size\_\-hint\_\-align\_\-get@{evas\_\-object\_\-size\_\-hint\_\-align\_\-get}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-align\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-align\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{double $\ast$}]{ x, }
+\item[{double $\ast$}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_gaff2802d3169b29a786f9b39be3f474bb}
+
+
+Retrieves the size align control hint. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Note that if any of {\ttfamily x} or {\ttfamily y} are {\ttfamily NULL}, the {\ttfamily NULL} parameters are ignored.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em x}]Pointer to a double in which to store the align x. \item[{\em y}]Pointer to a double in which to store the align y. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-stack(), and evas\_\-object\_\-box\_\-layout\_\-vertical().
+
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-align\_\-set@{evas\_\-object\_\-size\_\-hint\_\-align\_\-set}}
+\index{evas\_\-object\_\-size\_\-hint\_\-align\_\-set@{evas\_\-object\_\-size\_\-hint\_\-align\_\-set}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-align\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-align\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{double}]{ x, }
+\item[{double}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_ga156cf1921d0be0d7dcf4d6f93daf010f}
+
+
+Sets the size align control hint. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Accepted values are in the 0.0 to 1.0 range, with the special value -\/1.0 used to specify \char`\"{}justify\char`\"{} or \char`\"{}fill\char`\"{} by some users. See documentation of possible users.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em x}]Double (0.0..1.0 or -\/1.0) to use as align x hint. \item[{\em y}]Double (0.0..1.0 or -\/1.0) to use as align y hint. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-aspect\_\-get@{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-get}}
+\index{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-get@{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-get}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-aspect\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Aspect\_\-Control $\ast$}]{ aspect, }
+\item[{Evas\_\-Coord $\ast$}]{ w, }
+\item[{Evas\_\-Coord $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_ga7b31c73dcbf60cdafe6ad7ffae42a54c}
+
+
+Retrieves the size aspect control hint. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Note that if any of {\ttfamily aspect}, {\ttfamily w} or {\ttfamily h} are {\ttfamily NULL}, the {\ttfamily NULL} parameters are ignored.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em aspect}]Returns the hint on how size should be calculated. \item[{\em w}]Pointer to an integer in which to store the aspect width. \item[{\em h}]Pointer to an integer in which to store the aspect height. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-aspect\_\-set@{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-set}}
+\index{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-set@{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-set}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-aspect\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-aspect\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Aspect\_\-Control}]{ aspect, }
+\item[{Evas\_\-Coord}]{ w, }
+\item[{Evas\_\-Coord}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_gadb36ccc851e48ae2a11a6e2cb7fcb273}
+
+
+Sets the size aspect control hint. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em aspect}]Hint on how to calculate size. \item[{\em w}]Integer to use as aspect width hint. \item[{\em h}]Integer to use as aspect height hint. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-max\_\-get@{evas\_\-object\_\-size\_\-hint\_\-max\_\-get}}
+\index{evas\_\-object\_\-size\_\-hint\_\-max\_\-get@{evas\_\-object\_\-size\_\-hint\_\-max\_\-get}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-max\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-max\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord $\ast$}]{ w, }
+\item[{Evas\_\-Coord $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_ga868180db80ed59bfd7ebdc3dd71bb59a}
+
+
+Retrieves the size hint for the maximum size. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Note that if any of {\ttfamily w} or {\ttfamily h} are {\ttfamily NULL}, the {\ttfamily NULL} parameters are ignored.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em w}]Pointer to an integer in which to store the maximum width. \item[{\em h}]Pointer to an integer in which to store the maximum height. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-stack(), and evas\_\-object\_\-box\_\-layout\_\-vertical().
+
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-max\_\-set@{evas\_\-object\_\-size\_\-hint\_\-max\_\-set}}
+\index{evas\_\-object\_\-size\_\-hint\_\-max\_\-set@{evas\_\-object\_\-size\_\-hint\_\-max\_\-set}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-max\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-max\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ w, }
+\item[{Evas\_\-Coord}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_ga2a224fd6c4fc231af281af59c5a604b2}
+
+
+Sets the size hint for the maximum size. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Value -\/1 is considered unset.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em w}]Integer to use as the maximum width hint. \item[{\em h}]Integer to use as the maximum height hint. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-min\_\-get@{evas\_\-object\_\-size\_\-hint\_\-min\_\-get}}
+\index{evas\_\-object\_\-size\_\-hint\_\-min\_\-get@{evas\_\-object\_\-size\_\-hint\_\-min\_\-get}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-min\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-min\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord $\ast$}]{ w, }
+\item[{Evas\_\-Coord $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_ga8f1430ec1cce66ee7763fbac7927f55e}
+
+
+Retrieves the size hint for the minimum size. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Note that if any of {\ttfamily w} or {\ttfamily h} are {\ttfamily NULL}, the {\ttfamily NULL} parameters are ignored.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em w}]Pointer to an integer in which to store the minimum width. \item[{\em h}]Pointer to an integer in which to store the minimum height. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical(), and evas\_\-object\_\-box\_\-layout\_\-stack().
+
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-min\_\-set@{evas\_\-object\_\-size\_\-hint\_\-min\_\-set}}
+\index{evas\_\-object\_\-size\_\-hint\_\-min\_\-set@{evas\_\-object\_\-size\_\-hint\_\-min\_\-set}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-min\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-min\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ w, }
+\item[{Evas\_\-Coord}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_ga373fc149848dd782ac942e4b5751eb4b}
+
+
+Sets the size hint for the minimum size. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Value 0 is considered unset.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em w}]Integer to use as the minimum width hint. \item[{\em h}]Integer to use as the minimum height hint. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-stack(), and evas\_\-object\_\-box\_\-layout\_\-vertical().
+
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-padding\_\-get@{evas\_\-object\_\-size\_\-hint\_\-padding\_\-get}}
+\index{evas\_\-object\_\-size\_\-hint\_\-padding\_\-get@{evas\_\-object\_\-size\_\-hint\_\-padding\_\-get}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-padding\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-padding\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord $\ast$}]{ l, }
+\item[{Evas\_\-Coord $\ast$}]{ r, }
+\item[{Evas\_\-Coord $\ast$}]{ t, }
+\item[{Evas\_\-Coord $\ast$}]{ b}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_ga81b821793f451c648052cf7d6cfe6dd4}
+
+
+Retrieves the size padding control hint. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Note that if any of {\ttfamily l}, {\ttfamily r}, {\ttfamily t} or {\ttfamily b} are {\ttfamily NULL}, the {\ttfamily NULL} parameters are ignored.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em l}]Pointer to an integer in which to store left padding. \item[{\em r}]Pointer to an integer in which to store right padding. \item[{\em t}]Pointer to an integer in which to store top padding. \item[{\em b}]Pointer to an integer in which to store bottom padding. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-box\_\-layout\_\-flow\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-flow\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-max\_\-size\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-homogeneous\_\-vertical(), evas\_\-object\_\-box\_\-layout\_\-horizontal(), evas\_\-object\_\-box\_\-layout\_\-stack(), and evas\_\-object\_\-box\_\-layout\_\-vertical().
+
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-padding\_\-set@{evas\_\-object\_\-size\_\-hint\_\-padding\_\-set}}
+\index{evas\_\-object\_\-size\_\-hint\_\-padding\_\-set@{evas\_\-object\_\-size\_\-hint\_\-padding\_\-set}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-padding\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-padding\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ l, }
+\item[{Evas\_\-Coord}]{ r, }
+\item[{Evas\_\-Coord}]{ t, }
+\item[{Evas\_\-Coord}]{ b}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_ga0014a3016d34071d41d76785a963fcb1}
+
+
+Sets the size padding control hint. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em l}]Integer to specify left padding. \item[{\em r}]Integer to specify right padding. \item[{\em t}]Integer to specify top padding. \item[{\em b}]Integer to specify bottom padding. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-request\_\-get@{evas\_\-object\_\-size\_\-hint\_\-request\_\-get}}
+\index{evas\_\-object\_\-size\_\-hint\_\-request\_\-get@{evas\_\-object\_\-size\_\-hint\_\-request\_\-get}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-request\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-request\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord $\ast$}]{ w, }
+\item[{Evas\_\-Coord $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_ga6a7de6942258ab03a6e85b37f569895d}
+
+
+Retrieves the size request hint. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Note that if any of {\ttfamily w} or {\ttfamily h} are {\ttfamily NULL}, the {\ttfamily NULL} parameters are ignored.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em w}]Pointer to an integer in which to store the requested width. \item[{\em h}]Pointer to an integer in which to store the requested height. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-request\_\-set@{evas\_\-object\_\-size\_\-hint\_\-request\_\-set}}
+\index{evas\_\-object\_\-size\_\-hint\_\-request\_\-set@{evas\_\-object\_\-size\_\-hint\_\-request\_\-set}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-request\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-request\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ w, }
+\item[{Evas\_\-Coord}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_gace0177af29ccbf1a60415f2c4c85c1f4}
+
+
+Sets the requested size hint. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Value 0 is considered unset.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em w}]Integer to use as the preferred width hint. \item[{\em h}]Integer to use as the preferred height hint. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-weight\_\-get@{evas\_\-object\_\-size\_\-hint\_\-weight\_\-get}}
+\index{evas\_\-object\_\-size\_\-hint\_\-weight\_\-get@{evas\_\-object\_\-size\_\-hint\_\-weight\_\-get}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-weight\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-weight\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{double $\ast$}]{ x, }
+\item[{double $\ast$}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_ga66f88dc981e7c0af05822c583e03fabb}
+
+
+Retrieves the size weight control hint. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+Note that if any of {\ttfamily x} or {\ttfamily y} are {\ttfamily NULL}, the {\ttfamily NULL} parameters are ignored.
+
+Accepted values are zero or positive values. Some users might use this hint as a boolean, but some might consider it as a proportion, see documentation of possible users.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em x}]Pointer to a double in which to store the weight x. \item[{\em y}]Pointer to a double in which to store the weight y. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-box\_\-layout\_\-horizontal(), and evas\_\-object\_\-box\_\-layout\_\-vertical().
+
+\index{Evas\_\-Object\_\-Group\_\-Size\_\-Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}!evas\_\-object\_\-size\_\-hint\_\-weight\_\-set@{evas\_\-object\_\-size\_\-hint\_\-weight\_\-set}}
+\index{evas\_\-object\_\-size\_\-hint\_\-weight\_\-set@{evas\_\-object\_\-size\_\-hint\_\-weight\_\-set}!Evas_Object_Group_Size_Hints@{Evas\_\-Object\_\-Group\_\-Size\_\-Hints}}
+\subsubsection[{evas\_\-object\_\-size\_\-hint\_\-weight\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-size\_\-hint\_\-weight\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{double}]{ x, }
+\item[{double}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Group__Size__Hints_gabb010d4e7a8772b1785185d89a1a6b98}
+
+
+Sets the size weight control hint. 
+
+This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas object. \item[{\em x}]Double (0.0-\/1.0) to use as weight x hint. \item[{\em y}]Double (0.0-\/1.0) to use as weight y hint. \end{DoxyParams}
diff --git a/doc/latex/group__Evas__Object__Image.tex b/doc/latex/group__Evas__Object__Image.tex
new file mode 100644 (file)
index 0000000..3ad82fe
--- /dev/null
@@ -0,0 +1,1270 @@
+\section{Image Object Functions}
+\label{group__Evas__Object__Image}\index{Image Object Functions@{Image Object Functions}}
+
+
+Functions used to create and manipulate image objects.  
+
+
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef enum \hyperlink{group__Evas__Object__Image_ga84ff1db3d33d85c86d81dbe9046b54bb}{\_\-Evas\_\-Colorspace} \hyperlink{group__Evas__Object__Image_ga8c6e60db9c8b83b155ccea52957ff656}{Evas\_\-Colorspace}
+\begin{DoxyCompactList}\small\item\em Colorspaces for pixel data supported by Evas. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Enumerations}
+\begin{DoxyCompactItemize}
+\item 
+enum \hyperlink{group__Evas__Object__Image_ga84ff1db3d33d85c86d81dbe9046b54bb}{\_\-Evas\_\-Colorspace} \{ \par
+\hyperlink{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254}{EVAS\_\-COLORSPACE\_\-ARGB8888}, 
+\par
+\hyperlink{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636}{EVAS\_\-COLORSPACE\_\-YCBCR422P601\_\-PL}, 
+\par
+\hyperlink{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22}{EVAS\_\-COLORSPACE\_\-YCBCR422P709\_\-PL}, 
+\par
+\hyperlink{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729}{EVAS\_\-COLORSPACE\_\-RGB565\_\-A5P}, 
+\par
+\hyperlink{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0}{EVAS\_\-COLORSPACE\_\-GRY8}
+ \}
+\begin{DoxyCompactList}\small\item\em Colorspaces for pixel data supported by Evas. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Image_gae2bf7d73874a8b11ac4d7cb3bf2476ce}{evas\_\-object\_\-image\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Creates a new image object on the given evas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Image_ga2e4275b1aee95e338ffa8b39e81f4eee}{evas\_\-object\_\-image\_\-filled\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Creates a new image object that automatically scales on the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga58846bf7f00892e6985264ea2681d73a}{evas\_\-object\_\-image\_\-memfile\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, void $\ast$data, int size, char $\ast$format, char $\ast$key)
+\begin{DoxyCompactList}\small\item\em Sets the data for an image from memory to be loaded. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga70f63c055b2e248089e761f5c0f78a0f}{evas\_\-object\_\-image\_\-file\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$file, const char $\ast$key)
+\begin{DoxyCompactList}\small\item\em Sets the filename and key of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga0c3b22438934db6f2b53a30ddd71ef1a}{evas\_\-object\_\-image\_\-file\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$$\ast$file, const char $\ast$$\ast$key)
+\begin{DoxyCompactList}\small\item\em Retrieves the filename and key of the given image object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_ga8f3b7eb8efaa3d77b9908a080b3d4c55}{evas\_\-object\_\-image\_\-source\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$src)
+\begin{DoxyCompactList}\small\item\em Set the source object on a proxy object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Image_ga95a96ced932d6e7e17ee019654d9d901}{evas\_\-object\_\-image\_\-source\_\-get} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the current source object of an image. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_gad667fc9de032eb39bf07e33ef0f4d81b}{evas\_\-object\_\-image\_\-source\_\-unset} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Clear the source on a proxy image. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga6283aace5be077433bee45ec23ad072d}{evas\_\-object\_\-image\_\-border\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int l, int r, int t, int b)
+\begin{DoxyCompactList}\small\item\em Sets how much of each border of the given image object is not to be scaled. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gab666a37cbae8ee846cdeb518e7fd495c}{evas\_\-object\_\-image\_\-border\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$l, int $\ast$r, int $\ast$t, int $\ast$b)
+\begin{DoxyCompactList}\small\item\em Retrieves how much of each border of the given image object is not to be scaled. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga4caf736585ad602e6748e434ac1f5fc6}{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Border\_\-Fill\_\-Mode fill)
+\begin{DoxyCompactList}\small\item\em Sets if the center part of the given image object (not the border) should be drawn. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Border\_\-Fill\_\-Mode \hyperlink{group__Evas__Object__Image_ga04f8a4f69c5ad37d9229e4c39bb7c010}{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves if the center of the given image object is to be drawn or not. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gae304964ee6769e559ca452c788f5aae4}{evas\_\-object\_\-image\_\-filled\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool setting)
+\begin{DoxyCompactList}\small\item\em Sets if image fill property should track object size. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_ga3fbe9f33ccc93a5c45ffa3b26019694e}{evas\_\-object\_\-image\_\-filled\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves if image fill property is tracking object size. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gaba00498563648d2d3934e7e75449abd0}{evas\_\-object\_\-image\_\-border\_\-scale\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double scale)
+\begin{DoxyCompactList}\small\item\em Sets a scale factor (multiplier) for the borders of an image. \item\end{DoxyCompactList}\item 
+EAPI double \hyperlink{group__Evas__Object__Image_ga7cc1bf948a8a5d61c703211f0bd5d2dc}{evas\_\-object\_\-image\_\-border\_\-scale\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the border scale factor. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}{evas\_\-object\_\-image\_\-fill\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord w, Evas\_\-Coord h)
+\begin{DoxyCompactList}\small\item\em Sets the rectangle of the given image object that the image will be drawn to. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gaf1a7d6b8cf914234abdd5d3d3312f85e}{evas\_\-object\_\-image\_\-fill\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$x, Evas\_\-Coord $\ast$y, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h)
+\begin{DoxyCompactList}\small\item\em Retrieves the dimensions of the rectangle of the given image object that the image will be drawn to. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga0015a660507a5562e118a1777947f881}{evas\_\-object\_\-image\_\-fill\_\-spread\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{Evas_8h_a693bc9123af8452d9771c2a849b8805c}{Evas\_\-Fill\_\-Spread} spread)
+\begin{DoxyCompactList}\small\item\em Sets the tiling mode for the given evas image object's fill. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_a693bc9123af8452d9771c2a849b8805c}{Evas\_\-Fill\_\-Spread} \hyperlink{group__Evas__Object__Image_gae86928005f983627c74dbaef6c0fbb0e}{evas\_\-object\_\-image\_\-fill\_\-spread\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the spread (tiling mode) for the given image object's fill. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gaf85031267b5fab16874ebbf944dded22}{evas\_\-object\_\-image\_\-size\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int w, int h)
+\begin{DoxyCompactList}\small\item\em Sets the size of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga43e6f1b16ebe859826e6901cb36995ad}{evas\_\-object\_\-image\_\-size\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$w, int $\ast$h)
+\begin{DoxyCompactList}\small\item\em Retrieves the size of the given image object. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Image_gab72175381532640c620dd032e56c590b}{evas\_\-object\_\-image\_\-stride\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the row stride of the given image object,. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_aff351ae694a58aecd7834ef12bdf3d64}{Evas\_\-Load\_\-Error} \hyperlink{group__Evas__Object__Image_ga46e4a0b2b916d28694ad054549f88e24}{evas\_\-object\_\-image\_\-load\_\-error\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves a number representing any error that occurred during the last load of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Image_ga3072cf7c31cf33057abd8ae8876218cd}{evas\_\-object\_\-image\_\-data\_\-convert} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Image_ga8c6e60db9c8b83b155ccea52957ff656}{Evas\_\-Colorspace} to\_\-cspace)
+\begin{DoxyCompactList}\small\item\em Converts the raw image data of the given image object to the specified colorspace. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gabdd65e4c69f422ddcf0d3c8720859a92}{evas\_\-object\_\-image\_\-data\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Sets the raw image data of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Object__Image_gabe5883e22418071463f4ae97ca8885b2}{evas\_\-object\_\-image\_\-data\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool for\_\-writing)
+\begin{DoxyCompactList}\small\item\em Get a pointer to the raw image data of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gad6383022c4013008d11827b32bf63d59}{evas\_\-object\_\-image\_\-preload} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool cancel)
+\begin{DoxyCompactList}\small\item\em Preload image in the background. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga97d17b8d95f0ca01a264a6c303d00c27}{evas\_\-object\_\-image\_\-data\_\-copy\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Replaces the raw image data of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gab6b763271781a2ab35f5849f6564e165}{evas\_\-object\_\-image\_\-data\_\-update\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int x, int y, int w, int h)
+\begin{DoxyCompactList}\small\item\em Mark a sub-\/region of the given image object to be redrawn. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gadf2df4027a211db3f9a1fb21f248d7fb}{evas\_\-object\_\-image\_\-alpha\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool has\_\-alpha)
+\begin{DoxyCompactList}\small\item\em Enable or disable alpha channel of the given image object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_gac136f7f65d8529427b1f6da055b47a30}{evas\_\-object\_\-image\_\-alpha\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the alpha channel setting of the given image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga670a0cf9176882f0ad339ccb4f37f510}{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool smooth\_\-scale)
+\begin{DoxyCompactList}\small\item\em Sets whether to use of high-\/quality image scaling algorithm of the given image object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_gae4acc1da719cb38122b92527df24388c}{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves whether the given image object is using use a high-\/quality image scaling algorithm. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga764bec190c0812f61f5a18f38c9c6a4e}{evas\_\-object\_\-image\_\-reload} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Reload a image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_ga68eee07a73dc2f5dc529970f5a1634c4}{evas\_\-object\_\-image\_\-save} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$file, const char $\ast$key, const char $\ast$flags)
+\begin{DoxyCompactList}\small\item\em Save the given image object to a file. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_gad87ced373138180afff4756fded5a4f3}{evas\_\-object\_\-image\_\-pixels\_\-import} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{Evas_8h_abb01076af16fbb50a837b1893b776783}{Evas\_\-Pixel\_\-Import\_\-Source} $\ast$pixels)
+\begin{DoxyCompactList}\small\item\em Import pixels from given source to a given canvas image object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga1602f8906760b1c871b84b4a287a52db}{evas\_\-object\_\-image\_\-pixels\_\-get\_\-callback\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Object\_\-Image\_\-Pixels\_\-Get\_\-Cb func, void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Set the callback function to get pixels from a canva's image. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gad230eeeb0c6ba49eafd32b20afa314cb}{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool dirty)
+\begin{DoxyCompactList}\small\item\em Mark whether the given image object is dirty (needs to be redrawn). \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Image_ga1d9e82da12f7831552fca02b9b313551}{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves whether the given image object is dirty (needs to be redrawn). \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga88a20331cef0267ddc1d00419841580b}{evas\_\-object\_\-image\_\-load\_\-dpi\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double dpi)
+\begin{DoxyCompactList}\small\item\em Set the dpi resolution of a loaded image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI double \hyperlink{group__Evas__Object__Image_ga92a5503085a5c0731bb9c299e7b42f78}{evas\_\-object\_\-image\_\-load\_\-dpi\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the dpi resolution of a loaded image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga1811fb73c1e138b5221cf4b25148111a}{evas\_\-object\_\-image\_\-load\_\-size\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int w, int h)
+\begin{DoxyCompactList}\small\item\em Set the size of a loaded image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gae8047183e894e1e1245f1f3aaf78f218}{evas\_\-object\_\-image\_\-load\_\-size\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$w, int $\ast$h)
+\begin{DoxyCompactList}\small\item\em Get the size of a loaded image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga59796713b88c217ce5869cb003e404c0}{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int scale\_\-down)
+\begin{DoxyCompactList}\small\item\em Set the scale down of a loaded image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Image_ga259c48b3e2a4009e8a10f8e9874d3847}{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the scale down value of given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gac352f7b110d7e527bf2d36fba5507d0c}{evas\_\-object\_\-image\_\-colorspace\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Image_ga8c6e60db9c8b83b155ccea52957ff656}{Evas\_\-Colorspace} cspace)
+\begin{DoxyCompactList}\small\item\em Set the colorspace of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Image_ga8c6e60db9c8b83b155ccea52957ff656}{Evas\_\-Colorspace} \hyperlink{group__Evas__Object__Image_gaa59339b6adb32081383fa5540641eb42}{evas\_\-object\_\-image\_\-colorspace\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the colorspace of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gacbe4ec46460fd3321dd4f6161f09bbed}{evas\_\-object\_\-image\_\-native\_\-surface\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{Evas_8h_ae35ae0b7b909a9e956836b92d63b493d}{Evas\_\-Native\_\-Surface} $\ast$surf)
+\begin{DoxyCompactList}\small\item\em Set the native surface of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_ae35ae0b7b909a9e956836b92d63b493d}{Evas\_\-Native\_\-Surface} $\ast$ \hyperlink{group__Evas__Object__Image_gabd3effabde6da00dfcac7cf0cfa22280}{evas\_\-object\_\-image\_\-native\_\-surface\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the native surface of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gad13d32b74c2cd82c95b85fa9640ae529}{evas\_\-object\_\-image\_\-scale\_\-hint\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Image\_\-Scale\_\-Hint hint)
+\begin{DoxyCompactList}\small\item\em Set the scale hint of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Image\_\-Scale\_\-Hint \hyperlink{group__Evas__Object__Image_ga8cce0086819196768915e5f2c2ed0cb2}{evas\_\-object\_\-image\_\-scale\_\-hint\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the scale hint of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_gaf6cc0faf39773e12eb496116afd67c6f}{evas\_\-object\_\-image\_\-content\_\-hint\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Image\_\-Content\_\-Hint hint)
+\begin{DoxyCompactList}\small\item\em Set the content hint of a given image of the canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Image_ga154d8315842f4602878704951705e6cb}{evas\_\-object\_\-image\_\-alpha\_\-mask\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool ismask)
+\begin{DoxyCompactList}\small\item\em Enable an image to be used as an alpha mask. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Image\_\-Content\_\-Hint \hyperlink{group__Evas__Object__Image_ga28881040682dbbf00937948124e9f3fb}{evas\_\-object\_\-image\_\-content\_\-hint\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the content hint of a given image of the canvas. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions used to create and manipulate image objects. Note -\/ Image objects may return or accept \char`\"{}image data\char`\"{} in multiple formats. This is based on the colorspace of an object. Here is a rundown on formats:
+
+EVAS\_\-COLORSPACE\_\-ARGB8888:
+
+This pixel format is a linear block of pixels, starting at the top-\/left row by row until the bottom right of the image or pixel region. All pixels are 32-\/bit unsigned int's with the high-\/byte being alpha and the low byte being blue in the format ARGB. Alpha may or may not be used by evas depending on the alpha flag of the image, but if not used, should be set to 0xff anyway.
+
+This colorspace uses premultiplied alpha. That means that R, G and B cannot exceed A in value. The conversion from non-\/premultiplied colorspace is:
+
+R = (r $\ast$ a) / 255; G = (g $\ast$ a) / 255; B = (b $\ast$ a) / 255;
+
+So 50\% transparent blue will be: 0x80000080. This will not be \char`\"{}dark\char`\"{} -\/ just 50\% transparent. Values are 0 == black, 255 == solid or full red, green or blue.
+
+EVAS\_\-COLORSPACE\_\-YCBCR422P601\_\-PL:
+
+This is a pointer-\/list indirected set of YUV (YCbCr) pixel data. This means that the data returned or set is not actual pixel data, but pointers TO lines of pixel data. The list of pointers will first be N rows of pointers to the Y plane -\/ pointing to the first pixel at the start of each row in the Y plane. N is the height of the image data in pixels. Each pixel in the Y, U and V planes is 1 byte exactly, packed. The next N / 2 pointers will point to rows in the U plane, and the next N / 2 pointers will point to the V plane rows. U and V planes are half the horizontal and vertical resolution of the Y plane.
+
+Row order is top to bottom and row pixels are stored left to right.
+
+There is a limitation that these images MUST be a multiple of 2 pixels in size horizontally or vertically. This is due to the U and V planes being half resolution. Also note that this assumes the itu601 YUV colorspace specification. This is defined for standard television and mpeg streams. HDTV may use the itu709 specification.
+
+Values are 0 to 255, indicating full or no signal in that plane respectively.
+
+EVAS\_\-COLORSPACE\_\-YCBCR422P709\_\-PL:
+
+Not implemented yet.
+
+EVAS\_\-COLORSPACE\_\-RGB565\_\-A5P:
+
+In the process of being implemented in 1 engine only. This may change.
+
+This is a pointer to image data for 16-\/bit half-\/word pixel data in 16bpp RGB 565 format (5 bits red, 6 bits green, 5 bits blue), with the high-\/byte containing red and the low byte containing blue, per pixel. This data is packed row by row from the top-\/left to the bottom right.
+
+If the image has an alpha channel enabled there will be an extra alpha plane after the color pixel plane. If not, then this data will not exist and should not be accessed in any way. This plane is a set of pixels with 1 byte per pixel defining the alpha values of all pixels in the image from the top-\/left to the bottom right of the image, row by row. Even though the values of the alpha pixels can be 0 to 255, only values 0 through to 32 are used, 32 being solid and 0 being transparent.
+
+RGB values can be 0 to 31 for red and blue and 0 to 63 for green, with 0 being black and 31 or 63 being full red, green or blue respectively. This colorspace is also pre-\/multiplied like EVAS\_\-COLORSPACE\_\-ARGB8888 so:
+
+R = (r $\ast$ a) / 32; G = (g $\ast$ a) / 32; B = (b $\ast$ a) / 32;
+
+EVAS\_\-COLORSPACE\_\-A8:
+
+The image is just a alpha mask (8 bit's per pixel). This is used for alpha masking. 
+
+\subsection{Typedef Documentation}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!Evas\_\-Colorspace@{Evas\_\-Colorspace}}
+\index{Evas\_\-Colorspace@{Evas\_\-Colorspace}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{Evas\_\-Colorspace}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf \_\-Evas\_\-Colorspace}  {\bf Evas\_\-Colorspace}}\label{group__Evas__Object__Image_ga8c6e60db9c8b83b155ccea52957ff656}
+
+
+Colorspaces for pixel data supported by Evas. 
+
+Colorspaces for pixel data supported by Evas 
+
+\subsection{Enumeration Type Documentation}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!\_\-Evas\_\-Colorspace@{\_\-Evas\_\-Colorspace}}
+\index{\_\-Evas\_\-Colorspace@{\_\-Evas\_\-Colorspace}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{\_\-Evas\_\-Colorspace}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf \_\-Evas\_\-Colorspace}}\label{group__Evas__Object__Image_ga84ff1db3d33d85c86d81dbe9046b54bb}
+
+
+Colorspaces for pixel data supported by Evas. 
+
+\begin{Desc}
+\item[Enumerator: ]\par
+\begin{description}
+\index{EVAS\_\-COLORSPACE\_\-ARGB8888@{EVAS\_\-COLORSPACE\_\-ARGB8888}!Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}}\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!EVAS\_\-COLORSPACE\_\-ARGB8888@{EVAS\_\-COLORSPACE\_\-ARGB8888}}\item[{\em 
+EVAS\_\-COLORSPACE\_\-ARGB8888\label{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba0948ad4d06f0f64f757aa673d47ac254}
+}]ARGB 32 bits per pixel, high-\/byte is Alpha, accessed 1 32bit word at a time. \index{EVAS\_\-COLORSPACE\_\-YCBCR422P601\_\-PL@{EVAS\_\-COLORSPACE\_\-YCBCR422P601\_\-PL}!Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}}\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!EVAS\_\-COLORSPACE\_\-YCBCR422P601\_\-PL@{EVAS\_\-COLORSPACE\_\-YCBCR422P601\_\-PL}}\item[{\em 
+EVAS\_\-COLORSPACE\_\-YCBCR422P601\_\-PL\label{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba5e861cf48ce8169485bb334c31678636}
+}]YCbCr 4:2:2 Planar, ITU.BT-\/601 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows \index{EVAS\_\-COLORSPACE\_\-YCBCR422P709\_\-PL@{EVAS\_\-COLORSPACE\_\-YCBCR422P709\_\-PL}!Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}}\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!EVAS\_\-COLORSPACE\_\-YCBCR422P709\_\-PL@{EVAS\_\-COLORSPACE\_\-YCBCR422P709\_\-PL}}\item[{\em 
+EVAS\_\-COLORSPACE\_\-YCBCR422P709\_\-PL\label{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba77eda7660a21d397912e0d6084300f22}
+}]YCbCr 4:2:2 Planar, ITU.BT-\/709 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows \index{EVAS\_\-COLORSPACE\_\-RGB565\_\-A5P@{EVAS\_\-COLORSPACE\_\-RGB565\_\-A5P}!Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}}\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!EVAS\_\-COLORSPACE\_\-RGB565\_\-A5P@{EVAS\_\-COLORSPACE\_\-RGB565\_\-A5P}}\item[{\em 
+EVAS\_\-COLORSPACE\_\-RGB565\_\-A5P\label{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba69c6f59ef385ef3443caa30ce009f729}
+}]16bit rgb565 + Alpha plane at end -\/ 5 bits of the 8 being used per alpha byte \index{EVAS\_\-COLORSPACE\_\-GRY8@{EVAS\_\-COLORSPACE\_\-GRY8}!Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}}\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!EVAS\_\-COLORSPACE\_\-GRY8@{EVAS\_\-COLORSPACE\_\-GRY8}}\item[{\em 
+EVAS\_\-COLORSPACE\_\-GRY8\label{group__Evas__Object__Image_gga84ff1db3d33d85c86d81dbe9046b54bba6d0303ab6ba63b8bf89e16d39105e0f0}
+}]8bit grayscale \end{description}
+\end{Desc}
+
+
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-add@{evas\_\-object\_\-image\_\-add}}
+\index{evas\_\-object\_\-image\_\-add@{evas\_\-object\_\-image\_\-add}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-image\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gae2bf7d73874a8b11ac4d7cb3bf2476ce}
+
+
+Creates a new image object on the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The created image object. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-object\_\-image\_\-filled\_\-add().
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-alpha\_\-get@{evas\_\-object\_\-image\_\-alpha\_\-get}}
+\index{evas\_\-object\_\-image\_\-alpha\_\-get@{evas\_\-object\_\-image\_\-alpha\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-alpha\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-image\_\-alpha\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gac136f7f65d8529427b1f6da055b47a30}
+
+
+Retrieves the alpha channel setting of the given image object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Whether the alpha channel data is being used.
+\end{DoxyReturn}
+This function returns 1 if the image object's alpha channel is being used, or 0 otherwise.
+
+See \hyperlink{group__Evas__Object__Image_gadf2df4027a211db3f9a1fb21f248d7fb}{evas\_\-object\_\-image\_\-alpha\_\-set} for more details. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-alpha\_\-mask\_\-set@{evas\_\-object\_\-image\_\-alpha\_\-mask\_\-set}}
+\index{evas\_\-object\_\-image\_\-alpha\_\-mask\_\-set@{evas\_\-object\_\-image\_\-alpha\_\-mask\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-alpha\_\-mask\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-alpha\_\-mask\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ ismask}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga154d8315842f4602878704951705e6cb}
+
+
+Enable an image to be used as an alpha mask. 
+
+This will set any flags, and discard any excess image data not used as an alpha mask.
+
+Note there is little point in using a image as alpha mask unless it has an alpha channel.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]Object to use as an alpha mask. \item[{\em ismask}]Use image as alphamask, must be true. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-alpha\_\-set@{evas\_\-object\_\-image\_\-alpha\_\-set}}
+\index{evas\_\-object\_\-image\_\-alpha\_\-set@{evas\_\-object\_\-image\_\-alpha\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-alpha\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-alpha\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ has\_\-alpha}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gadf2df4027a211db3f9a1fb21f248d7fb}
+
+
+Enable or disable alpha channel of the given image object. 
+
+This function sets a flag on an image object indicating whether or not to use alpha channel data. A value of 1 indicates to use alpha channel data, and 0 indicates to ignore any alpha channel data. Note that this has nothing to do with an object's color as manipulated by \hyperlink{group__Evas__Object__Group__Basic_ga6b2dfe01eb955cebf734f4e10ac9ce7f}{evas\_\-object\_\-color\_\-set()}.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em has\_\-alpha}]Whether to use alpha channel data or not. \end{DoxyParams}
+
+
+References evas\_\-object\_\-image\_\-data\_\-update\_\-add().
+
+
+
+Referenced by evas\_\-object\_\-image\_\-memfile\_\-set().
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-get@{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-get}}
+\index{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-get@{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Border\_\-Fill\_\-Mode evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga04f8a4f69c5ad37d9229e4c39bb7c010}
+
+
+Retrieves if the center of the given image object is to be drawn or not. 
+
+See \hyperlink{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}{evas\_\-object\_\-image\_\-fill\_\-set} for more details.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Fill mode of the center. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-set@{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-set}}
+\index{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-set@{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-border\_\-center\_\-fill\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Border\_\-Fill\_\-Mode}]{ fill}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga4caf736585ad602e6748e434ac1f5fc6}
+
+
+Sets if the center part of the given image object (not the border) should be drawn. 
+
+When rendering, the image may be scaled to fit the size of the image object. This function sets if the center part of the scaled image is to be drawn or left completely blank, or forced to be solid. Very useful for frames and decorations.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em fill}]Fill mode of the middle. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-border\_\-get@{evas\_\-object\_\-image\_\-border\_\-get}}
+\index{evas\_\-object\_\-image\_\-border\_\-get@{evas\_\-object\_\-image\_\-border\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-border\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-border\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int $\ast$}]{ l, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ t, }
+\item[{int $\ast$}]{ b}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gab666a37cbae8ee846cdeb518e7fd495c}
+
+
+Retrieves how much of each border of the given image object is not to be scaled. 
+
+See \hyperlink{group__Evas__Object__Image_ga6283aace5be077433bee45ec23ad072d}{evas\_\-object\_\-image\_\-border\_\-set} for more details.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em l}]Location to store the left border width in, or NULL. \item[{\em r}]Location to store the right border width in, or NULL. \item[{\em t}]Location to store the top border width in, or NULL. \item[{\em b}]Location to store the bottom border width in, or NULL. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-border\_\-scale\_\-get@{evas\_\-object\_\-image\_\-border\_\-scale\_\-get}}
+\index{evas\_\-object\_\-image\_\-border\_\-scale\_\-get@{evas\_\-object\_\-image\_\-border\_\-scale\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-border\_\-scale\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI double evas\_\-object\_\-image\_\-border\_\-scale\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga7cc1bf948a8a5d61c703211f0bd5d2dc}
+
+
+Retrieves the border scale factor. 
+
+See \hyperlink{group__Evas__Object__Image_gaba00498563648d2d3934e7e75449abd0}{evas\_\-object\_\-image\_\-border\_\-scale\_\-set()}
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The scale factor 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-border\_\-scale\_\-set@{evas\_\-object\_\-image\_\-border\_\-scale\_\-set}}
+\index{evas\_\-object\_\-image\_\-border\_\-scale\_\-set@{evas\_\-object\_\-image\_\-border\_\-scale\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-border\_\-scale\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-border\_\-scale\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{double}]{ scale}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gaba00498563648d2d3934e7e75449abd0}
+
+
+Sets a scale factor (multiplier) for the borders of an image. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em scale}]The scale factor (default is 1.0 -\/ i.e. no scale) \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-border\_\-set@{evas\_\-object\_\-image\_\-border\_\-set}}
+\index{evas\_\-object\_\-image\_\-border\_\-set@{evas\_\-object\_\-image\_\-border\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-border\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-border\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ l, }
+\item[{int}]{ r, }
+\item[{int}]{ t, }
+\item[{int}]{ b}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga6283aace5be077433bee45ec23ad072d}
+
+
+Sets how much of each border of the given image object is not to be scaled. 
+
+When rendering, the image may be scaled to fit the size of the image object. This function sets what area around the border of the image is not to be scaled. This sort of function is useful for widget theming, where, for example, buttons may be of varying sizes, but the border size must remain constant.
+
+The units used for {\ttfamily l}, {\ttfamily r}, {\ttfamily t} and {\ttfamily b} are output units.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em l}]Distance of the left border that is not to be stretched. \item[{\em r}]Distance of the right border that is not to be stretched. \item[{\em t}]Distance of the top border that is not to be stretched. \item[{\em b}]Distance of the bottom border that is not to be stretched. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-colorspace\_\-get@{evas\_\-object\_\-image\_\-colorspace\_\-get}}
+\index{evas\_\-object\_\-image\_\-colorspace\_\-get@{evas\_\-object\_\-image\_\-colorspace\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-colorspace\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Colorspace} evas\_\-object\_\-image\_\-colorspace\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gaa59339b6adb32081383fa5540641eb42}
+
+
+Get the colorspace of a given image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object pointer. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The colorspace of the image.
+\end{DoxyReturn}
+This function returns the colorspace of given canvas image. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-colorspace\_\-set@{evas\_\-object\_\-image\_\-colorspace\_\-set}}
+\index{evas\_\-object\_\-image\_\-colorspace\_\-set@{evas\_\-object\_\-image\_\-colorspace\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-colorspace\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-colorspace\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Colorspace}}]{ cspace}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gac352f7b110d7e527bf2d36fba5507d0c}
+
+
+Set the colorspace of a given image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object pointer. \item[{\em cspace}]The new color space.\end{DoxyParams}
+This function sets the colorspace of given canvas image. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-content\_\-hint\_\-get@{evas\_\-object\_\-image\_\-content\_\-hint\_\-get}}
+\index{evas\_\-object\_\-image\_\-content\_\-hint\_\-get@{evas\_\-object\_\-image\_\-content\_\-hint\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-content\_\-hint\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Image\_\-Content\_\-Hint evas\_\-object\_\-image\_\-content\_\-hint\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga28881040682dbbf00937948124e9f3fb}
+
+
+Get the content hint of a given image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas pointer.\end{DoxyParams}
+This function returns the content hint value of the given image of the canvas. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-content\_\-hint\_\-set@{evas\_\-object\_\-image\_\-content\_\-hint\_\-set}}
+\index{evas\_\-object\_\-image\_\-content\_\-hint\_\-set@{evas\_\-object\_\-image\_\-content\_\-hint\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-content\_\-hint\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-content\_\-hint\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Image\_\-Content\_\-Hint}]{ hint}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gaf6cc0faf39773e12eb496116afd67c6f}
+
+
+Set the content hint of a given image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas pointer. \item[{\em hint}]The content hint value.\end{DoxyParams}
+This function sets the content hint value of the given image of the canvas. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-data\_\-convert@{evas\_\-object\_\-image\_\-data\_\-convert}}
+\index{evas\_\-object\_\-image\_\-data\_\-convert@{evas\_\-object\_\-image\_\-data\_\-convert}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-data\_\-convert}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-image\_\-data\_\-convert (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Colorspace}}]{ to\_\-cspace}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga3072cf7c31cf33057abd8ae8876218cd}
+
+
+Converts the raw image data of the given image object to the specified colorspace. 
+
+Note that this function does not modify the raw image data. If the requested colorspace is the same as the image colorspace nothing is done and NULL is returned. You should use \hyperlink{group__Evas__Object__Image_gaa59339b6adb32081383fa5540641eb42}{evas\_\-object\_\-image\_\-colorspace\_\-get()} to check the current image colorspace.
+
+See \hyperlink{group__Evas__Object__Image_gaa59339b6adb32081383fa5540641eb42}{evas\_\-object\_\-image\_\-colorspace\_\-get}.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em to\_\-cspace}]The colorspace to which the image raw data will be converted. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+data A newly allocated data in the format specified by to\_\-cspace. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-data\_\-copy\_\-set@{evas\_\-object\_\-image\_\-data\_\-copy\_\-set}}
+\index{evas\_\-object\_\-image\_\-data\_\-copy\_\-set@{evas\_\-object\_\-image\_\-data\_\-copy\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-data\_\-copy\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-data\_\-copy\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga97d17b8d95f0ca01a264a6c303d00c27}
+
+
+Replaces the raw image data of the given image object. 
+
+This function lets the application replace an image object's internal pixel buffer with a user-\/allocated one. For best results, you should generally first call \hyperlink{group__Evas__Object__Image_gaf85031267b5fab16874ebbf944dded22}{evas\_\-object\_\-image\_\-size\_\-set()} with the width and height for the new buffer.
+
+This call is best suited for when you will be using image data with different dimensions than the existing image data, if any. If you only need to modify the existing image in some fashion, then using \hyperlink{group__Evas__Object__Image_gabe5883e22418071463f4ae97ca8885b2}{evas\_\-object\_\-image\_\-data\_\-get()} is probably what you are after.
+
+Note that the caller is responsible for freeing the buffer when finished with it, as user-\/set image data will not be automatically freed when the image object is deleted.
+
+See \hyperlink{group__Evas__Object__Image_gabe5883e22418071463f4ae97ca8885b2}{evas\_\-object\_\-image\_\-data\_\-get} for more details.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em data}]The raw data. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-data\_\-get@{evas\_\-object\_\-image\_\-data\_\-get}}
+\index{evas\_\-object\_\-image\_\-data\_\-get@{evas\_\-object\_\-image\_\-data\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-data\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-image\_\-data\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ for\_\-writing}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gabe5883e22418071463f4ae97ca8885b2}
+
+
+Get a pointer to the raw image data of the given image object. 
+
+This function returns a pointer to an image object's internal pixel buffer, for reading only or read/write. If you request it for writing, the image will be marked dirty so that it gets redrawn at the next update.
+
+This is best suited when you want to modify an existing image, without changing its dimensions.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em for\_\-writing}]Whether the data being retrieved will be modified. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The raw image data. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-data\_\-set@{evas\_\-object\_\-image\_\-data\_\-set}}
+\index{evas\_\-object\_\-image\_\-data\_\-set@{evas\_\-object\_\-image\_\-data\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-data\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-data\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gabdd65e4c69f422ddcf0d3c8720859a92}
+
+
+Sets the raw image data of the given image object. 
+
+Note that the raw data must be of the same size and colorspace of the image. If data is NULL the current image data will be freed.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em data}]The raw data, or NULL. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-data\_\-update\_\-add@{evas\_\-object\_\-image\_\-data\_\-update\_\-add}}
+\index{evas\_\-object\_\-image\_\-data\_\-update\_\-add@{evas\_\-object\_\-image\_\-data\_\-update\_\-add}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-data\_\-update\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-data\_\-update\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ x, }
+\item[{int}]{ y, }
+\item[{int}]{ w, }
+\item[{int}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gab6b763271781a2ab35f5849f6564e165}
+
+
+Mark a sub-\/region of the given image object to be redrawn. 
+
+This function schedules a particular rectangular region of an image object to be updated (redrawn) at the next render.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em x}]X-\/offset of the region to be updated. \item[{\em y}]Y-\/offset of the region to be updated. \item[{\em w}]Width of the region to be updated. \item[{\em h}]Height of the region to be updated. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-image\_\-alpha\_\-set().
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-file\_\-get@{evas\_\-object\_\-image\_\-file\_\-get}}
+\index{evas\_\-object\_\-image\_\-file\_\-get@{evas\_\-object\_\-image\_\-file\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-file\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-file\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$$\ast$}]{ file, }
+\item[{const char $\ast$$\ast$}]{ key}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga0c3b22438934db6f2b53a30ddd71ef1a}
+
+
+Retrieves the filename and key of the given image object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em file}]Location to store the image filename, or NULL. \item[{\em key}]Location to store the image key, or NULL. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-file\_\-set@{evas\_\-object\_\-image\_\-file\_\-set}}
+\index{evas\_\-object\_\-image\_\-file\_\-set@{evas\_\-object\_\-image\_\-file\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-file\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-file\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ file, }
+\item[{const char $\ast$}]{ key}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga70f63c055b2e248089e761f5c0f78a0f}
+
+
+Sets the filename and key of the given image object. 
+
+If the file supports multiple data stored in it as eet, you can specify the key to be used as the index of the image in this file.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em file}]The image filename. \item[{\em key}]The image key in file, or NULL. \end{DoxyParams}
+
+
+References EVAS\_\-LOAD\_\-ERROR\_\-NONE.
+
+
+
+Referenced by evas\_\-object\_\-image\_\-memfile\_\-set(), and evas\_\-object\_\-image\_\-source\_\-set().
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-fill\_\-get@{evas\_\-object\_\-image\_\-fill\_\-get}}
+\index{evas\_\-object\_\-image\_\-fill\_\-get@{evas\_\-object\_\-image\_\-fill\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-fill\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-fill\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord $\ast$}]{ x, }
+\item[{Evas\_\-Coord $\ast$}]{ y, }
+\item[{Evas\_\-Coord $\ast$}]{ w, }
+\item[{Evas\_\-Coord $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gaf1a7d6b8cf914234abdd5d3d3312f85e}
+
+
+Retrieves the dimensions of the rectangle of the given image object that the image will be drawn to. 
+
+See \hyperlink{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}{evas\_\-object\_\-image\_\-fill\_\-set} for more details.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em x}]Location to store the X coordinate for the top left corner of the image in, or NULL. \item[{\em y}]Location to store the Y coordinate for the top left corner of the image in, or NULL. \item[{\em w}]Location to store the width of the image in, or NULL. \item[{\em h}]Location to store the height of the image in, or NULL. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-fill\_\-set@{evas\_\-object\_\-image\_\-fill\_\-set}}
+\index{evas\_\-object\_\-image\_\-fill\_\-set@{evas\_\-object\_\-image\_\-fill\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-fill\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-fill\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y, }
+\item[{Evas\_\-Coord}]{ w, }
+\item[{Evas\_\-Coord}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}
+
+
+Sets the rectangle of the given image object that the image will be drawn to. 
+
+Note that the image will be tiled around this one rectangle. To have only one copy of the image drawn, {\ttfamily x} and {\ttfamily y} must be 0 and {\ttfamily w} and {\ttfamily h} need to be the width and height of the image object respectively.
+
+The default values for the fill parameters is {\ttfamily x} = 0, {\ttfamily y} = 0, {\ttfamily w} = 32 and {\ttfamily h} = 32.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em x}]The X coordinate for the top left corner of the image. \item[{\em y}]The Y coordinate for the top left corner of the image. \item[{\em w}]The width of the image. \item[{\em h}]The height of the image. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-image\_\-filled\_\-set().
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-fill\_\-spread\_\-get@{evas\_\-object\_\-image\_\-fill\_\-spread\_\-get}}
+\index{evas\_\-object\_\-image\_\-fill\_\-spread\_\-get@{evas\_\-object\_\-image\_\-fill\_\-spread\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-fill\_\-spread\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Fill\_\-Spread} evas\_\-object\_\-image\_\-fill\_\-spread\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gae86928005f983627c74dbaef6c0fbb0e}
+
+
+Retrieves the spread (tiling mode) for the given image object's fill. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas image object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The current spread mode of the image object. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-fill\_\-spread\_\-set@{evas\_\-object\_\-image\_\-fill\_\-spread\_\-set}}
+\index{evas\_\-object\_\-image\_\-fill\_\-spread\_\-set@{evas\_\-object\_\-image\_\-fill\_\-spread\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-fill\_\-spread\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-fill\_\-spread\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Fill\_\-Spread}}]{ spread}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga0015a660507a5562e118a1777947f881}
+
+
+Sets the tiling mode for the given evas image object's fill. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas image object. \item[{\em spread}]One of EVAS\_\-TEXTURE\_\-REFLECT, EVAS\_\-TEXTURE\_\-REPEAT, EVAS\_\-TEXTURE\_\-RESTRICT, or EVAS\_\-TEXTURE\_\-PAD. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-filled\_\-add@{evas\_\-object\_\-image\_\-filled\_\-add}}
+\index{evas\_\-object\_\-image\_\-filled\_\-add@{evas\_\-object\_\-image\_\-filled\_\-add}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-filled\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-image\_\-filled\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga2e4275b1aee95e338ffa8b39e81f4eee}
+
+
+Creates a new image object that automatically scales on the given evas. 
+
+This is a helper around \hyperlink{group__Evas__Object__Image_gae2bf7d73874a8b11ac4d7cb3bf2476ce}{evas\_\-object\_\-image\_\-add()} and \hyperlink{group__Evas__Object__Image_gae304964ee6769e559ca452c788f5aae4}{evas\_\-object\_\-image\_\-filled\_\-set()}, it will track object resizes and apply \hyperlink{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}{evas\_\-object\_\-image\_\-fill\_\-set()} with the new geometry.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Image_gae2bf7d73874a8b11ac4d7cb3bf2476ce}{evas\_\-object\_\-image\_\-add()} 
+
+\hyperlink{group__Evas__Object__Image_gae304964ee6769e559ca452c788f5aae4}{evas\_\-object\_\-image\_\-filled\_\-set()} 
+
+\hyperlink{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}{evas\_\-object\_\-image\_\-fill\_\-set()} 
+\end{DoxySeeAlso}
+
+
+References evas\_\-object\_\-image\_\-add(), and evas\_\-object\_\-image\_\-filled\_\-set().
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-filled\_\-get@{evas\_\-object\_\-image\_\-filled\_\-get}}
+\index{evas\_\-object\_\-image\_\-filled\_\-get@{evas\_\-object\_\-image\_\-filled\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-filled\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-image\_\-filled\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga3fbe9f33ccc93a5c45ffa3b26019694e}
+
+
+Retrieves if image fill property is tracking object size. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+1 if it is tracking, 0 if not and evas\_\-object\_\-fill\_\-set() must be called manually. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-filled\_\-set@{evas\_\-object\_\-image\_\-filled\_\-set}}
+\index{evas\_\-object\_\-image\_\-filled\_\-set@{evas\_\-object\_\-image\_\-filled\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-filled\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-filled\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ setting}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gae304964ee6769e559ca452c788f5aae4}
+
+
+Sets if image fill property should track object size. 
+
+If set to true, then every \hyperlink{group__Evas__Object__Group__Basic_ga34df8b33704deafd2a25f40e3c09d149}{evas\_\-object\_\-resize()} will automatically trigger call to \hyperlink{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}{evas\_\-object\_\-image\_\-fill\_\-set()} with the new size so image will fill the whole object area.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em setting}]whether to follow object size.\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Image_ga2e4275b1aee95e338ffa8b39e81f4eee}{evas\_\-object\_\-image\_\-filled\_\-add()} 
+
+\hyperlink{group__Evas__Object__Image_ga7182040bc16e68d3bbce3bd0f8ee8034}{evas\_\-object\_\-image\_\-fill\_\-set()} 
+\end{DoxySeeAlso}
+
+
+References EVAS\_\-CALLBACK\_\-RESIZE, evas\_\-object\_\-event\_\-callback\_\-add(), evas\_\-object\_\-event\_\-callback\_\-del(), evas\_\-object\_\-geometry\_\-get(), and evas\_\-object\_\-image\_\-fill\_\-set().
+
+
+
+Referenced by evas\_\-object\_\-image\_\-filled\_\-add().
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-load\_\-dpi\_\-get@{evas\_\-object\_\-image\_\-load\_\-dpi\_\-get}}
+\index{evas\_\-object\_\-image\_\-load\_\-dpi\_\-get@{evas\_\-object\_\-image\_\-load\_\-dpi\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-load\_\-dpi\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI double evas\_\-object\_\-image\_\-load\_\-dpi\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga92a5503085a5c0731bb9c299e7b42f78}
+
+
+Get the dpi resolution of a loaded image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas pointer. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The dpi resolution of the given canvas image.
+\end{DoxyReturn}
+This function returns the dpi resolution of given canvas image. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-load\_\-dpi\_\-set@{evas\_\-object\_\-image\_\-load\_\-dpi\_\-set}}
+\index{evas\_\-object\_\-image\_\-load\_\-dpi\_\-set@{evas\_\-object\_\-image\_\-load\_\-dpi\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-load\_\-dpi\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-load\_\-dpi\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{double}]{ dpi}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga88a20331cef0267ddc1d00419841580b}
+
+
+Set the dpi resolution of a loaded image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas pointer. \item[{\em dpi}]The new dpi resolution.\end{DoxyParams}
+This function set the dpi resolution of a given loaded canvas image. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-load\_\-error\_\-get@{evas\_\-object\_\-image\_\-load\_\-error\_\-get}}
+\index{evas\_\-object\_\-image\_\-load\_\-error\_\-get@{evas\_\-object\_\-image\_\-load\_\-error\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-load\_\-error\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Load\_\-Error} evas\_\-object\_\-image\_\-load\_\-error\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga46e4a0b2b916d28694ad054549f88e24}
+
+
+Retrieves a number representing any error that occurred during the last load of the given image object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+A value giving the last error that occurred. It should be one of the {\ttfamily EVAS\_\-LOAD\_\-ERROR\_\-$\ast$} values. {\ttfamily EVAS\_\-LOAD\_\-ERROR\_\-NONE} is returned if there was no error. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-get@{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-get}}
+\index{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-get@{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga259c48b3e2a4009e8a10f8e9874d3847}
+
+
+Get the scale down value of given image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object pointer.\end{DoxyParams}
+This function returns the scale down value of a given canvas image. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-set@{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-set}}
+\index{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-set@{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-load\_\-scale\_\-down\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ scale\_\-down}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga59796713b88c217ce5869cb003e404c0}
+
+
+Set the scale down of a loaded image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas pointer. \item[{\em scale\_\-down}]The scale to down value.\end{DoxyParams}
+This function sets the scale down of a given canvas image. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-load\_\-size\_\-get@{evas\_\-object\_\-image\_\-load\_\-size\_\-get}}
+\index{evas\_\-object\_\-image\_\-load\_\-size\_\-get@{evas\_\-object\_\-image\_\-load\_\-size\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-load\_\-size\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-load\_\-size\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int $\ast$}]{ w, }
+\item[{int $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gae8047183e894e1e1245f1f3aaf78f218}
+
+
+Get the size of a loaded image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas object. \item[{\em w}]The width of the canvas image given. \item[{\em h}]The height of the canvas image given.\end{DoxyParams}
+This function get the size of the given canvas image. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-load\_\-size\_\-set@{evas\_\-object\_\-image\_\-load\_\-size\_\-set}}
+\index{evas\_\-object\_\-image\_\-load\_\-size\_\-set@{evas\_\-object\_\-image\_\-load\_\-size\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-load\_\-size\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-load\_\-size\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ w, }
+\item[{int}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga1811fb73c1e138b5221cf4b25148111a}
+
+
+Set the size of a loaded image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas object. \item[{\em w}]The new width of the canvas image given. \item[{\em h}]The new height of the canvas image given.\end{DoxyParams}
+This function sets a new size for the given canvas image. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-memfile\_\-set@{evas\_\-object\_\-image\_\-memfile\_\-set}}
+\index{evas\_\-object\_\-image\_\-memfile\_\-set@{evas\_\-object\_\-image\_\-memfile\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-memfile\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-memfile\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{void $\ast$}]{ data, }
+\item[{int}]{ size, }
+\item[{char $\ast$}]{ format, }
+\item[{char $\ast$}]{ key}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga58846bf7f00892e6985264ea2681d73a}
+
+
+Sets the data for an image from memory to be loaded. 
+
+This is the same as \hyperlink{group__Evas__Object__Image_ga70f63c055b2e248089e761f5c0f78a0f}{evas\_\-object\_\-image\_\-file\_\-set()} but the file to be loaded may exist at an address in memory (the data for the file, not the filename itself). The {\ttfamily data} at the address is copied and stored for future use, so no {\ttfamily data} needs to be kept after this call is made. It will be managed and freed for you when no longer needed. The {\ttfamily size} is limited to 2 gigabytes in size, and must be greater than 0. A NULL {\ttfamily data} pointer is also invalid. Set the filename to NULL to reset to empty state and have the image file data freed from memory using \hyperlink{group__Evas__Object__Image_ga70f63c055b2e248089e761f5c0f78a0f}{evas\_\-object\_\-image\_\-file\_\-set()}.
+
+The {\ttfamily format} is optional (pass NULL if you don't need/use it). It is used to help Evas guess better which loader to use for the data. It may simply be the \char`\"{}extension\char`\"{} of the file as it would normally be on disk such as \char`\"{}jpg\char`\"{} or \char`\"{}png\char`\"{} or \char`\"{}gif\char`\"{} etc.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em data}]The image file data address \item[{\em size}]The size of the image file data in bytes \item[{\em format}]The format of the file (optional), or NULL if not needed \item[{\em key}]The image key in file, or NULL. \end{DoxyParams}
+
+
+References evas\_\-object\_\-image\_\-alpha\_\-set(), and evas\_\-object\_\-image\_\-file\_\-set().
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-native\_\-surface\_\-get@{evas\_\-object\_\-image\_\-native\_\-surface\_\-get}}
+\index{evas\_\-object\_\-image\_\-native\_\-surface\_\-get@{evas\_\-object\_\-image\_\-native\_\-surface\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-native\_\-surface\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Native\_\-Surface}$\ast$ evas\_\-object\_\-image\_\-native\_\-surface\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gabd3effabde6da00dfcac7cf0cfa22280}
+
+
+Get the native surface of a given image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas pointer. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The native surface of the given canvas image.
+\end{DoxyReturn}
+This function returns the native surface of a given canvas image. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-native\_\-surface\_\-set@{evas\_\-object\_\-image\_\-native\_\-surface\_\-set}}
+\index{evas\_\-object\_\-image\_\-native\_\-surface\_\-set@{evas\_\-object\_\-image\_\-native\_\-surface\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-native\_\-surface\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-native\_\-surface\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Native\_\-Surface} $\ast$}]{ surf}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gacbe4ec46460fd3321dd4f6161f09bbed}
+
+
+Set the native surface of a given image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas pointer. \item[{\em surf}]The new native surface.\end{DoxyParams}
+This function sets a native surface of a given canvas image. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-get@{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-get}}
+\index{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-get@{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga1d9e82da12f7831552fca02b9b313551}
+
+
+Retrieves whether the given image object is dirty (needs to be redrawn). 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Whether the image is dirty. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-set@{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-set}}
+\index{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-set@{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-pixels\_\-dirty\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ dirty}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gad230eeeb0c6ba49eafd32b20afa314cb}
+
+
+Mark whether the given image object is dirty (needs to be redrawn). 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em dirty}]Whether the image is dirty. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-pixels\_\-get\_\-callback\_\-set@{evas\_\-object\_\-image\_\-pixels\_\-get\_\-callback\_\-set}}
+\index{evas\_\-object\_\-image\_\-pixels\_\-get\_\-callback\_\-set@{evas\_\-object\_\-image\_\-pixels\_\-get\_\-callback\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-pixels\_\-get\_\-callback\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-pixels\_\-get\_\-callback\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Object\_\-Image\_\-Pixels\_\-Get\_\-Cb}]{ func, }
+\item[{void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga1602f8906760b1c871b84b4a287a52db}
+
+
+Set the callback function to get pixels from a canva's image. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas pointer. \item[{\em func}]The callback function. \item[{\em data}]The data pointer to be passed to {\itshape func\/}.\end{DoxyParams}
+This functions sets a function to be the callback function that get pixes from a image of the canvas. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-pixels\_\-import@{evas\_\-object\_\-image\_\-pixels\_\-import}}
+\index{evas\_\-object\_\-image\_\-pixels\_\-import@{evas\_\-object\_\-image\_\-pixels\_\-import}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-pixels\_\-import}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-image\_\-pixels\_\-import (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Pixel\_\-Import\_\-Source} $\ast$}]{ pixels}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gad87ced373138180afff4756fded5a4f3}
+
+
+Import pixels from given source to a given canvas image object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas object. \item[{\em pixels}]The pixel's source to be imported.\end{DoxyParams}
+This function imports pixels from a given source to a given canvas image. 
+
+References EVAS\_\-PIXEL\_\-FORMAT\_\-ARGB32, and EVAS\_\-PIXEL\_\-FORMAT\_\-YUV420P\_\-601.
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-preload@{evas\_\-object\_\-image\_\-preload}}
+\index{evas\_\-object\_\-image\_\-preload@{evas\_\-object\_\-image\_\-preload}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-preload}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-preload (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ cancel}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gad6383022c4013008d11827b32bf63d59}
+
+
+Preload image in the background. 
+
+This function request the preload of the data image in the background. The worked is queued before being processed.
+
+If image data is already loaded, it will callback EVAS\_\-CALLBACK\_\-IMAGE\_\-PRELOADED immediatelly and do nothing else.
+
+If cancel is set, it will remove the image from the workqueue.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em cancel}]0 means add to the workqueue, 1 remove it. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-reload@{evas\_\-object\_\-image\_\-reload}}
+\index{evas\_\-object\_\-image\_\-reload@{evas\_\-object\_\-image\_\-reload}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-reload}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-reload (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga764bec190c0812f61f5a18f38c9c6a4e}
+
+
+Reload a image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object pointer.\end{DoxyParams}
+This function reloads a image of the given canvas. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-save@{evas\_\-object\_\-image\_\-save}}
+\index{evas\_\-object\_\-image\_\-save@{evas\_\-object\_\-image\_\-save}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-save}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-image\_\-save (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ file, }
+\item[{const char $\ast$}]{ key, }
+\item[{const char $\ast$}]{ flags}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga68eee07a73dc2f5dc529970f5a1634c4}
+
+
+Save the given image object to a file. 
+
+Note that you should pass the filename extension when saving. If the file supports multiple data stored in it as eet, you can specify the key to be used as the index of the image in this file.
+
+You can specify some flags when saving the image. Currently acceptable flags are quality and compress. Eg.: \char`\"{}quality=100
+ compress=9\char`\"{}
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em file}]The filename to be used to save the image. \item[{\em key}]The image key in file, or NULL. \item[{\em flags}]String containing the flags to be used. \end{DoxyParams}
+
+
+References EVAS\_\-COLORSPACE\_\-ARGB8888.
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-scale\_\-hint\_\-get@{evas\_\-object\_\-image\_\-scale\_\-hint\_\-get}}
+\index{evas\_\-object\_\-image\_\-scale\_\-hint\_\-get@{evas\_\-object\_\-image\_\-scale\_\-hint\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-scale\_\-hint\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Image\_\-Scale\_\-Hint evas\_\-object\_\-image\_\-scale\_\-hint\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga8cce0086819196768915e5f2c2ed0cb2}
+
+
+Get the scale hint of a given image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas pointer.\end{DoxyParams}
+This function returns the scale hint value of the given image of the canvas. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-scale\_\-hint\_\-set@{evas\_\-object\_\-image\_\-scale\_\-hint\_\-set}}
+\index{evas\_\-object\_\-image\_\-scale\_\-hint\_\-set@{evas\_\-object\_\-image\_\-scale\_\-hint\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-scale\_\-hint\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-scale\_\-hint\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Image\_\-Scale\_\-Hint}]{ hint}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gad13d32b74c2cd82c95b85fa9640ae529}
+
+
+Set the scale hint of a given image of the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given canvas pointer. \item[{\em hint}]The scale hint value.\end{DoxyParams}
+This function sets the scale hint value of the given image of the canvas. \index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-size\_\-get@{evas\_\-object\_\-image\_\-size\_\-get}}
+\index{evas\_\-object\_\-image\_\-size\_\-get@{evas\_\-object\_\-image\_\-size\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-size\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-size\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int $\ast$}]{ w, }
+\item[{int $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga43e6f1b16ebe859826e6901cb36995ad}
+
+
+Retrieves the size of the given image object. 
+
+See \hyperlink{group__Evas__Object__Image_gaf85031267b5fab16874ebbf944dded22}{evas\_\-object\_\-image\_\-size\_\-set} for more details.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em w}]Location to store the width of the image in, or NULL. \item[{\em h}]Location to store the height of the image in, or NULL. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-size\_\-set@{evas\_\-object\_\-image\_\-size\_\-set}}
+\index{evas\_\-object\_\-image\_\-size\_\-set@{evas\_\-object\_\-image\_\-size\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-size\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-size\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ w, }
+\item[{int}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gaf85031267b5fab16874ebbf944dded22}
+
+
+Sets the size of the given image object. 
+
+This function will scale down or crop the image so that it is treated as if it were at the given size. If the size given is smaller than the image, it will be cropped. If the size given is larger, then the image will be treated as if it were in the upper left hand corner of a larger image that is otherwise transparent.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em w}]The new width of the image. \item[{\em h}]The new height of the image. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-smooth\_\-scale\_\-get@{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-get}}
+\index{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-get@{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-image\_\-smooth\_\-scale\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gae4acc1da719cb38122b92527df24388c}
+
+
+Retrieves whether the given image object is using use a high-\/quality image scaling algorithm. 
+
+See \hyperlink{group__Evas__Object__Image_ga670a0cf9176882f0ad339ccb4f37f510}{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-set} for more details.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Whether smooth scale is being used. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-smooth\_\-scale\_\-set@{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-set}}
+\index{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-set@{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-smooth\_\-scale\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-image\_\-smooth\_\-scale\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ smooth\_\-scale}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga670a0cf9176882f0ad339ccb4f37f510}
+
+
+Sets whether to use of high-\/quality image scaling algorithm of the given image object. 
+
+When enabled, a higher quality image scaling algorithm is used when scaling images to sizes other than the source image. This gives better results but is more computationally expensive.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \item[{\em smooth\_\-scale}]Whether to use smooth scale or not. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-source\_\-get@{evas\_\-object\_\-image\_\-source\_\-get}}
+\index{evas\_\-object\_\-image\_\-source\_\-get@{evas\_\-object\_\-image\_\-source\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-source\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object} $\ast$ evas\_\-object\_\-image\_\-source\_\-get (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga95a96ced932d6e7e17ee019654d9d901}
+
+
+Get the current source object of an image. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]Image object \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Source object, or NULL on error. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-source\_\-set@{evas\_\-object\_\-image\_\-source\_\-set}}
+\index{evas\_\-object\_\-image\_\-source\_\-set@{evas\_\-object\_\-image\_\-source\_\-set}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-source\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-image\_\-source\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ src}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_ga8f3b7eb8efaa3d77b9908a080b3d4c55}
+
+
+Set the source object on a proxy object. 
+
+The source must be another object. The proxy will have the same base appearance of the source object. Obviously other effects may be applied to the proxy, such as a map to create a reflection of the original object.
+
+Any existing source object will be removed. Setting the src to NULL clears the proxy object.
+
+You cannot set a proxy on a proxy.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]Proxy object. \item[{\em src}]Source of the proxy. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE on success, EINA\_\-FALSE on error. 
+\end{DoxyReturn}
+
+
+References evas\_\-object\_\-image\_\-file\_\-set().
+
+
+
+Referenced by evas\_\-object\_\-image\_\-source\_\-unset().
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-source\_\-unset@{evas\_\-object\_\-image\_\-source\_\-unset}}
+\index{evas\_\-object\_\-image\_\-source\_\-unset@{evas\_\-object\_\-image\_\-source\_\-unset}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-source\_\-unset}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-image\_\-source\_\-unset (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gad667fc9de032eb39bf07e33ef0f4d81b}
+
+
+Clear the source on a proxy image. 
+
+This is equivalent to calling evas\_\-object\_\-image\_\-source\_\-set with a NULL source.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]Image object to clear source of. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE on success, EINA\_\-FALSE on error. 
+\end{DoxyReturn}
+
+
+References evas\_\-object\_\-image\_\-source\_\-set().
+
+
+
+Referenced by evas\_\-object\_\-del().
+
+\index{Evas\_\-Object\_\-Image@{Evas\_\-Object\_\-Image}!evas\_\-object\_\-image\_\-stride\_\-get@{evas\_\-object\_\-image\_\-stride\_\-get}}
+\index{evas\_\-object\_\-image\_\-stride\_\-get@{evas\_\-object\_\-image\_\-stride\_\-get}!Evas_Object_Image@{Evas\_\-Object\_\-Image}}
+\subsubsection[{evas\_\-object\_\-image\_\-stride\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-object\_\-image\_\-stride\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Image_gab72175381532640c620dd032e56c590b}
+
+
+Retrieves the row stride of the given image object,. 
+
+The row stride is the number of units between the start of a row and the start of the next row.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given image object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The stride of the image. 
+\end{DoxyReturn}
diff --git a/doc/latex/group__Evas__Object__Polygon.tex b/doc/latex/group__Evas__Object__Polygon.tex
new file mode 100644 (file)
index 0000000..8a3f1cf
--- /dev/null
@@ -0,0 +1,77 @@
+\section{Polygon Object Functions}
+\label{group__Evas__Object__Polygon}\index{Polygon Object Functions@{Polygon Object Functions}}
+
+
+Functions that operate on evas polygon objects.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Polygon_gab6beb5b98de57a0f47707cac90f96bc9}{evas\_\-object\_\-polygon\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Adds a new evas polygon object to the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Polygon_ga92cb2d99c88404307e30eed74688da76}{evas\_\-object\_\-polygon\_\-point\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x, Evas\_\-Coord y)
+\begin{DoxyCompactList}\small\item\em Adds the given point to the given evas polygon object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Polygon_ga6d559daf3a5eea36a275aaf3c76c8be2}{evas\_\-object\_\-polygon\_\-points\_\-clear} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Removes all of the points from the given evas polygon object. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that operate on evas polygon objects. Hint: as evas does not provide ellipse, smooth paths or circle, one can calculate points and convert these to a polygon. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Polygon@{Evas\_\-Object\_\-Polygon}!evas\_\-object\_\-polygon\_\-add@{evas\_\-object\_\-polygon\_\-add}}
+\index{evas\_\-object\_\-polygon\_\-add@{evas\_\-object\_\-polygon\_\-add}!Evas_Object_Polygon@{Evas\_\-Object\_\-Polygon}}
+\subsubsection[{evas\_\-object\_\-polygon\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-polygon\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Polygon_gab6beb5b98de57a0f47707cac90f96bc9}
+
+
+Adds a new evas polygon object to the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+A new evas polygon object. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Polygon@{Evas\_\-Object\_\-Polygon}!evas\_\-object\_\-polygon\_\-point\_\-add@{evas\_\-object\_\-polygon\_\-point\_\-add}}
+\index{evas\_\-object\_\-polygon\_\-point\_\-add@{evas\_\-object\_\-polygon\_\-point\_\-add}!Evas_Object_Polygon@{Evas\_\-Object\_\-Polygon}}
+\subsubsection[{evas\_\-object\_\-polygon\_\-point\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-polygon\_\-point\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Polygon_ga92cb2d99c88404307e30eed74688da76}
+
+
+Adds the given point to the given evas polygon object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas polygon object. \item[{\em x}]The X coordinate of the given point. \item[{\em y}]The Y coordinate of the given point. \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+\index{Evas\_\-Object\_\-Polygon@{Evas\_\-Object\_\-Polygon}!evas\_\-object\_\-polygon\_\-points\_\-clear@{evas\_\-object\_\-polygon\_\-points\_\-clear}}
+\index{evas\_\-object\_\-polygon\_\-points\_\-clear@{evas\_\-object\_\-polygon\_\-points\_\-clear}!Evas_Object_Polygon@{Evas\_\-Object\_\-Polygon}}
+\subsubsection[{evas\_\-object\_\-polygon\_\-points\_\-clear}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-polygon\_\-points\_\-clear (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Polygon_ga6d559daf3a5eea36a275aaf3c76c8be2}
+
+
+Removes all of the points from the given evas polygon object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given polygon object. \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
diff --git a/doc/latex/group__Evas__Object__Rectangle.tex b/doc/latex/group__Evas__Object__Rectangle.tex
new file mode 100644 (file)
index 0000000..4b4d853
--- /dev/null
@@ -0,0 +1,35 @@
+\section{Rectangle Object Functions}
+\label{group__Evas__Object__Rectangle}\index{Rectangle Object Functions@{Rectangle Object Functions}}
+
+
+Functions that operate on evas rectangle objects.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Rectangle_gaa08a28171d59c43d106e1ea4f986fefa}{evas\_\-object\_\-rectangle\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Adds a rectangle to the given evas. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that operate on evas rectangle objects. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Rectangle@{Evas\_\-Object\_\-Rectangle}!evas\_\-object\_\-rectangle\_\-add@{evas\_\-object\_\-rectangle\_\-add}}
+\index{evas\_\-object\_\-rectangle\_\-add@{evas\_\-object\_\-rectangle\_\-add}!Evas_Object_Rectangle@{Evas\_\-Object\_\-Rectangle}}
+\subsubsection[{evas\_\-object\_\-rectangle\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-rectangle\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Rectangle_gaa08a28171d59c43d106e1ea4f986fefa}
+
+
+Adds a rectangle to the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The new rectangle object. 
+\end{DoxyReturn}
diff --git a/doc/latex/group__Evas__Object__Specific.tex b/doc/latex/group__Evas__Object__Specific.tex
new file mode 100644 (file)
index 0000000..bfb1cff
--- /dev/null
@@ -0,0 +1,50 @@
+\section{Specific Object Functions}
+\label{group__Evas__Object__Specific}\index{Specific Object Functions@{Specific Object Functions}}
+
+
+Functions that work on specific objects.  
+
+
+\subsection*{Modules}
+\begin{DoxyCompactItemize}
+\item 
+\hyperlink{group__Evas__Object__Rectangle}{Rectangle Object Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that operate on evas rectangle objects. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Image}{Image Object Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions used to create and manipulate image objects. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Text}{Text Object Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that operate on single line, single style text objects. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Textblock}{Textblock Object Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions used to create and manipulate textblock objects. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Line__Group}{Line Object Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions used to deal with evas line objects. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Polygon}{Polygon Object Functions}
+
+
+\begin{DoxyCompactList}\small\item\em Functions that operate on evas polygon objects. \item\end{DoxyCompactList}
+
+\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that work on specific objects. 
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Object__Table.tex b/doc/latex/group__Evas__Object__Table.tex
new file mode 100644 (file)
index 0000000..2709f3a
--- /dev/null
@@ -0,0 +1,346 @@
+\section{Table Smart Object.}
+\label{group__Evas__Object__Table}\index{Table Smart Object.@{Table Smart Object.}}
+
+
+Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space.  
+
+
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef enum \hyperlink{group__Evas__Object__Table_ga536e8e3c9e38ee6d82f918a341b053a8}{\_\-Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode} \hyperlink{group__Evas__Object__Table_ga04f33e792aea51d583c3e572a35ceebe}{Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode}
+\begin{DoxyCompactList}\small\item\em How to pack items into cells in a table. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Enumerations}
+\begin{DoxyCompactItemize}
+\item 
+enum \hyperlink{group__Evas__Object__Table_ga536e8e3c9e38ee6d82f918a341b053a8}{\_\-Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode} 
+\begin{DoxyCompactList}\small\item\em How to pack items into cells in a table. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Table_gaa8950ef1784409f64fc02345b839768d}{evas\_\-object\_\-table\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$evas)
+\begin{DoxyCompactList}\small\item\em Create a new table. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Table_gab5789072764ac24f48368182bd35d297}{evas\_\-object\_\-table\_\-add\_\-to} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$parent)
+\begin{DoxyCompactList}\small\item\em Create a table that is child of a given element {\itshape parent\/}. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga85462a0cbafd4ee4ceface6f3f69b413}{evas\_\-object\_\-table\_\-homogeneous\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Table_ga04f33e792aea51d583c3e572a35ceebe}{Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode} homogeneous)
+\begin{DoxyCompactList}\small\item\em Set how this table should layout children. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Table_ga04f33e792aea51d583c3e572a35ceebe}{Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode} \hyperlink{group__Evas__Object__Table_ga1b96719d71cb4ca89a31eb59635df387}{evas\_\-object\_\-table\_\-homogeneous\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o)
+\begin{DoxyCompactList}\small\item\em Get the current layout homogeneous mode. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga7299bcee8de1f9304fa31fff43347a45}{evas\_\-object\_\-table\_\-align\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, double horizontal, double vertical)\label{group__Evas__Object__Table_ga7299bcee8de1f9304fa31fff43347a45}
+
+\begin{DoxyCompactList}\small\item\em Set the alignment of the whole bounding box of contents. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga7a1ff64522920c2723675ca11d723d47}{evas\_\-object\_\-table\_\-align\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, double $\ast$horizontal, double $\ast$vertical)\label{group__Evas__Object__Table_ga7a1ff64522920c2723675ca11d723d47}
+
+\begin{DoxyCompactList}\small\item\em Get alignment of the whole bounding box of contents. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga6ea229f05036a9c5d30010ad40a30c66}{evas\_\-object\_\-table\_\-padding\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Evas\_\-Coord horizontal, Evas\_\-Coord vertical)\label{group__Evas__Object__Table_ga6ea229f05036a9c5d30010ad40a30c66}
+
+\begin{DoxyCompactList}\small\item\em Set padding between cells. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_gabe1af40fbd5e03068bc577e71939934a}{evas\_\-object\_\-table\_\-padding\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Evas\_\-Coord $\ast$horizontal, Evas\_\-Coord $\ast$vertical)\label{group__Evas__Object__Table_gabe1af40fbd5e03068bc577e71939934a}
+
+\begin{DoxyCompactList}\small\item\em Get padding between cells. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Table_ga6c1129dcd7509ebde06cf753cf6a681d}{evas\_\-object\_\-table\_\-pack} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)
+\begin{DoxyCompactList}\small\item\em Add a new child to a table object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Table_gac8b800b8a8f38589eae4b979ffc2d598}{evas\_\-object\_\-table\_\-unpack} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$child)
+\begin{DoxyCompactList}\small\item\em Remove child from table. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_gaec5a10416b76102f7e22c7b799bfac04}{evas\_\-object\_\-table\_\-clear} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, Eina\_\-Bool clear)
+\begin{DoxyCompactList}\small\item\em Faster way to remove all child objects from a table object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga007c88dba9eb3b326aa67a10c143f3a9}{evas\_\-object\_\-table\_\-col\_\-row\_\-size\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, int $\ast$cols, int $\ast$rows)
+\begin{DoxyCompactList}\small\item\em Get the number of columns and rows this table takes. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Iterator $\ast$ \hyperlink{group__Evas__Object__Table_ga07d18d5708745143c4b12280a7359e71}{evas\_\-object\_\-table\_\-iterator\_\-new} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o)
+\begin{DoxyCompactList}\small\item\em Get an iterator to walk the list of children for the table. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Accessor $\ast$ \hyperlink{group__Evas__Object__Table_gaaa6c5242faad0906b1fbf4bbc1088543}{evas\_\-object\_\-table\_\-accessor\_\-new} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o)
+\begin{DoxyCompactList}\small\item\em Get an accessor to get random access to the list of children for the table. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Table_ga1afb562131cd3a74a130c374fcea0632}{evas\_\-object\_\-table\_\-children\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o)
+\begin{DoxyCompactList}\small\item\em Get the list of children for the table. \item\end{DoxyCompactList}\item 
+\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Table_gaeb4a9d107dde8a4c7bc60d6f97b5ec46}{evas\_\-object\_\-table\_\-child\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$o, unsigned short col, unsigned short row)
+\begin{DoxyCompactList}\small\item\em Get a child from the table using its coordinates. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Table_gac008b924a1ba3b0133d0ac11b3e6af06}{evas\_\-object\_\-table\_\-mirrored\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Gets the mirrored mode of the table. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Table_ga8f775fb97bf5da5e8a0005a89027044b}{evas\_\-object\_\-table\_\-mirrored\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool mirrored)
+\begin{DoxyCompactList}\small\item\em Sets the mirrored mode of the table. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space. \begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Group__Size__Hints}{Size Hints} 
+\end{DoxySeeAlso}
+
+
+\subsection{Typedef Documentation}
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode@{Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode}}
+\index{Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode@{Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}typedef enum {\bf \_\-Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode}  {\bf Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode}}\label{group__Evas__Object__Table_ga04f33e792aea51d583c3e572a35ceebe}
+
+
+How to pack items into cells in a table. 
+
+Table cell pack mode. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-accessor\_\-new@{evas\_\-object\_\-table\_\-accessor\_\-new}}
+\index{evas\_\-object\_\-table\_\-accessor\_\-new@{evas\_\-object\_\-table\_\-accessor\_\-new}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-accessor\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Accessor$\ast$ evas\_\-object\_\-table\_\-accessor\_\-new (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ o}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_gaaa6c5242faad0906b1fbf4bbc1088543}
+
+
+Get an accessor to get random access to the list of children for the table. 
+
+\begin{DoxyNote}{Note}
+Do not remove or delete objects while walking the list. 
+\end{DoxyNote}
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-add@{evas\_\-object\_\-table\_\-add}}
+\index{evas\_\-object\_\-table\_\-add@{evas\_\-object\_\-table\_\-add}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-table\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ evas}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_gaa8950ef1784409f64fc02345b839768d}
+
+
+Create a new table. 
+
+It's set to non-\/homogeneous by default, add children with \hyperlink{group__Evas__Object__Table_ga6c1129dcd7509ebde06cf753cf6a681d}{evas\_\-object\_\-table\_\-pack()}. 
+
+References evas\_\-object\_\-smart\_\-add().
+
+
+
+Referenced by evas\_\-object\_\-table\_\-add\_\-to().
+
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-add\_\-to@{evas\_\-object\_\-table\_\-add\_\-to}}
+\index{evas\_\-object\_\-table\_\-add\_\-to@{evas\_\-object\_\-table\_\-add\_\-to}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-add\_\-to}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-table\_\-add\_\-to (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ parent}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_gab5789072764ac24f48368182bd35d297}
+
+
+Create a table that is child of a given element {\itshape parent\/}. 
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Table_gaa8950ef1784409f64fc02345b839768d}{evas\_\-object\_\-table\_\-add()} 
+\end{DoxySeeAlso}
+
+
+References evas\_\-object\_\-evas\_\-get(), evas\_\-object\_\-smart\_\-member\_\-add(), and evas\_\-object\_\-table\_\-add().
+
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-child\_\-get@{evas\_\-object\_\-table\_\-child\_\-get}}
+\index{evas\_\-object\_\-table\_\-child\_\-get@{evas\_\-object\_\-table\_\-child\_\-get}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-child\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-table\_\-child\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{unsigned short}]{ col, }
+\item[{unsigned short}]{ row}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_gaeb4a9d107dde8a4c7bc60d6f97b5ec46}
+
+
+Get a child from the table using its coordinates. 
+
+\begin{DoxyNote}{Note}
+This does not take into account col/row spanning 
+\end{DoxyNote}
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-children\_\-get@{evas\_\-object\_\-table\_\-children\_\-get}}
+\index{evas\_\-object\_\-table\_\-children\_\-get@{evas\_\-object\_\-table\_\-children\_\-get}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-children\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-List$\ast$ evas\_\-object\_\-table\_\-children\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ o}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_ga1afb562131cd3a74a130c374fcea0632}
+
+
+Get the list of children for the table. 
+
+\begin{DoxyNote}{Note}
+This is a duplicate of the list kept by the table internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the table when walking this list, but these removals won't be reflected on it. 
+\end{DoxyNote}
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-clear@{evas\_\-object\_\-table\_\-clear}}
+\index{evas\_\-object\_\-table\_\-clear@{evas\_\-object\_\-table\_\-clear}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-clear}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-table\_\-clear (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{Eina\_\-Bool}]{ clear}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_gaec5a10416b76102f7e22c7b799bfac04}
+
+
+Faster way to remove all child objects from a table object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em o}]The given table object. \item[{\em clear}]if true, it will delete just removed children. \end{DoxyParams}
+
+
+References evas\_\-object\_\-del(), evas\_\-object\_\-smart\_\-changed(), and evas\_\-object\_\-smart\_\-member\_\-del().
+
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-col\_\-row\_\-size\_\-get@{evas\_\-object\_\-table\_\-col\_\-row\_\-size\_\-get}}
+\index{evas\_\-object\_\-table\_\-col\_\-row\_\-size\_\-get@{evas\_\-object\_\-table\_\-col\_\-row\_\-size\_\-get}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-col\_\-row\_\-size\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-table\_\-col\_\-row\_\-size\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{int $\ast$}]{ cols, }
+\item[{int $\ast$}]{ rows}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_ga007c88dba9eb3b326aa67a10c143f3a9}
+
+
+Get the number of columns and rows this table takes. 
+
+\begin{DoxyNote}{Note}
+columns and rows are virtual entities, one can specify a table with a single object that takes 4 columns and 5 rows. The only difference for a single cell table is that paddings will be accounted proportionally. 
+\end{DoxyNote}
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-homogeneous\_\-get@{evas\_\-object\_\-table\_\-homogeneous\_\-get}}
+\index{evas\_\-object\_\-table\_\-homogeneous\_\-get@{evas\_\-object\_\-table\_\-homogeneous\_\-get}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-homogeneous\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode} evas\_\-object\_\-table\_\-homogeneous\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ o}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_ga1b96719d71cb4ca89a31eb59635df387}
+
+
+Get the current layout homogeneous mode. 
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Table_ga85462a0cbafd4ee4ceface6f3f69b413}{evas\_\-object\_\-table\_\-homogeneous\_\-set()} 
+\end{DoxySeeAlso}
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-homogeneous\_\-set@{evas\_\-object\_\-table\_\-homogeneous\_\-set}}
+\index{evas\_\-object\_\-table\_\-homogeneous\_\-set@{evas\_\-object\_\-table\_\-homogeneous\_\-set}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-homogeneous\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-table\_\-homogeneous\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode}}]{ homogeneous}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_ga85462a0cbafd4ee4ceface6f3f69b413}
+
+
+Set how this table should layout children. 
+
+\begin{Desc}
+\item[\hyperlink{todo__todo000002}{Todo}]consider aspect hint and respect it.\end{Desc}
+
+
+\begin{DoxyParagraph}{EVAS\_\-OBJECT\_\-TABLE\_\-HOMOGENEOUS\_\-NONE}
+If table does not use homogeneous mode then columns and rows will be calculated based on hints of individual cells. This operation mode is more flexible, but more complex and heavy to calculate as well. {\bfseries Weight} properties are handled as a boolean expand. Negative alignment will be considered as 0.5.
+\end{DoxyParagraph}
+\begin{Desc}
+\item[\hyperlink{todo__todo000003}{Todo}]{\ttfamily EVAS\_\-OBJECT\_\-TABLE\_\-HOMOGENEOUS\_\-NONE} should balance weight.\end{Desc}
+
+
+\begin{DoxyParagraph}{EVAS\_\-OBJECT\_\-TABLE\_\-HOMOGENEOUS\_\-TABLE}
+When homogeneous is relative to table the own table size is divided equally among children, filling the whole table area. That is, if table has {\ttfamily WIDTH} and {\ttfamily COLUMNS}, each cell will get {\ttfamily WIDTH / COLUMNS} pixels. If children have minimum size that is larger than this amount (including padding), then it will overflow and be aligned respecting the alignment hint, possible overlapping sibling cells. {\bfseries Weight} hint is used as a boolean, if greater than zero it will make the child expand in that axis, taking as much space as possible (bounded to maximum size hint). Negative alignment will be considered as 0.5.
+\end{DoxyParagraph}
+\begin{DoxyParagraph}{EVAS\_\-OBJECT\_\-TABLE\_\-HOMOGENEOUS\_\-ITEM}
+When homogeneous is relative to item it means the greatest minimum cell size will be used. That is, if no element is set to expand, the table will have its contents to a minimum size, the bounding box of all these children will be aligned relatively to the table object using \hyperlink{group__Evas__Object__Table_ga7a1ff64522920c2723675ca11d723d47}{evas\_\-object\_\-table\_\-align\_\-get()}. If the table area is too small to hold this minimum bounding box, then the objects will keep their size and the bounding box will overflow the box area, still respecting the alignment. {\bfseries Weight} hint is used as a boolean, if greater than zero it will make that cell expand in that axis, toggling the {\bfseries expand mode}, which makes the table behave much like {\bfseries EVAS\_\-OBJECT\_\-TABLE\_\-HOMOGENEOUS\_\-TABLE}, except that the bounding box will overflow and items will not overlap siblings. If no minimum size is provided at all then the table will fallback to expand mode as well. 
+\end{DoxyParagraph}
+
+
+References evas\_\-object\_\-smart\_\-changed().
+
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-iterator\_\-new@{evas\_\-object\_\-table\_\-iterator\_\-new}}
+\index{evas\_\-object\_\-table\_\-iterator\_\-new@{evas\_\-object\_\-table\_\-iterator\_\-new}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-iterator\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Iterator$\ast$ evas\_\-object\_\-table\_\-iterator\_\-new (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ o}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_ga07d18d5708745143c4b12280a7359e71}
+
+
+Get an iterator to walk the list of children for the table. 
+
+\begin{DoxyNote}{Note}
+Do not remove or delete objects while walking the list. 
+\end{DoxyNote}
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-mirrored\_\-get@{evas\_\-object\_\-table\_\-mirrored\_\-get}}
+\index{evas\_\-object\_\-table\_\-mirrored\_\-get@{evas\_\-object\_\-table\_\-mirrored\_\-get}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-mirrored\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-table\_\-mirrored\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_gac008b924a1ba3b0133d0ac11b3e6af06}
+
+
+Gets the mirrored mode of the table. 
+
+In mirrored mode the table items go from right to left instead of left to right. That is, 1,1 is top right, not to left.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The table object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE if it's a mirrored table, EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+\begin{DoxySince}{Since}
+1.1.0 
+\end{DoxySince}
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-mirrored\_\-set@{evas\_\-object\_\-table\_\-mirrored\_\-set}}
+\index{evas\_\-object\_\-table\_\-mirrored\_\-set@{evas\_\-object\_\-table\_\-mirrored\_\-set}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-mirrored\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-table\_\-mirrored\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ mirrored}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_ga8f775fb97bf5da5e8a0005a89027044b}
+
+
+Sets the mirrored mode of the table. 
+
+In mirrored mode the table items go from right to left instead of left to right. That is, 1,1 is top right, not to left.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The table object. \item[{\em mirrored}]the mirrored mode to set \end{DoxyParams}
+\begin{DoxySince}{Since}
+1.1.0 
+\end{DoxySince}
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-pack@{evas\_\-object\_\-table\_\-pack}}
+\index{evas\_\-object\_\-table\_\-pack@{evas\_\-object\_\-table\_\-pack}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-pack}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-table\_\-pack (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ child, }
+\item[{unsigned short}]{ col, }
+\item[{unsigned short}]{ row, }
+\item[{unsigned short}]{ colspan, }
+\item[{unsigned short}]{ rowspan}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_ga6c1129dcd7509ebde06cf753cf6a681d}
+
+
+Add a new child to a table object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em o}]The given table object. \item[{\em child}]The child object to add. \item[{\em col}]relative-\/horizontal position to place child. \item[{\em row}]relative-\/vertical position to place child. \item[{\em colspan}]how many relative-\/horizontal position to use for this child. \item[{\em rowspan}]how many relative-\/vertical position to use for this child.\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+1 on success, 0 on failure. 
+\end{DoxyReturn}
+
+
+References evas\_\-object\_\-smart\_\-changed(), and evas\_\-object\_\-smart\_\-member\_\-add().
+
+\index{Evas\_\-Object\_\-Table@{Evas\_\-Object\_\-Table}!evas\_\-object\_\-table\_\-unpack@{evas\_\-object\_\-table\_\-unpack}}
+\index{evas\_\-object\_\-table\_\-unpack@{evas\_\-object\_\-table\_\-unpack}!Evas_Object_Table@{Evas\_\-Object\_\-Table}}
+\subsubsection[{evas\_\-object\_\-table\_\-unpack}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-table\_\-unpack (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ o, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ child}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Table_gac8b800b8a8f38589eae4b979ffc2d598}
+
+
+Remove child from table. 
+
+\begin{DoxyNote}{Note}
+removing a child will immediately call a walk over children in order to recalculate numbers of columns and rows. If you plan to remove all children, use \hyperlink{group__Evas__Object__Table_gaec5a10416b76102f7e22c7b799bfac04}{evas\_\-object\_\-table\_\-clear()} instead.
+\end{DoxyNote}
+\begin{DoxyReturn}{Returns}
+1 on success, 0 on failure. 
+\end{DoxyReturn}
+
+
+References evas\_\-object\_\-smart\_\-changed(), evas\_\-object\_\-smart\_\-member\_\-del(), and evas\_\-object\_\-smart\_\-parent\_\-get().
+
diff --git a/doc/latex/group__Evas__Object__Text.tex b/doc/latex/group__Evas__Object__Text.tex
new file mode 100644 (file)
index 0000000..1c72f71
--- /dev/null
@@ -0,0 +1,508 @@
+\section{Text Object Functions}
+\label{group__Evas__Object__Text}\index{Text Object Functions@{Text Object Functions}}
+
+
+Functions that operate on single line, single style text objects.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Text_ga2da9ad20aec514dfeecb97c715e7f539}{evas\_\-object\_\-text\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Creates a new text {\ttfamily Evas\_\-Object} on the provided {\ttfamily Evas} canvas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga6f503ac55e126bebbadf96a152f5d02b}{evas\_\-object\_\-text\_\-font\_\-source\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$font\_\-source)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Text_gaa48bece59070032504a2c78ad8a66577}{evas\_\-object\_\-text\_\-font\_\-source\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga6c7fc38657a876997ad91ebd177669a6}{evas\_\-object\_\-text\_\-font\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$font, Evas\_\-Font\_\-Size size)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_gaa3ed4186d4a9a78c9ca95ea430dab242}{evas\_\-object\_\-text\_\-font\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$$\ast$font, Evas\_\-Font\_\-Size $\ast$size)
+\begin{DoxyCompactList}\small\item\em Query evas for font information of a text {\ttfamily Evas\_\-Object}. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga11d37807b5506e6cca746ebb91236532}{evas\_\-object\_\-text\_\-text\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$\_\-text)
+\begin{DoxyCompactList}\small\item\em Sets the text to be displayed by the given evas text object. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Text_gaef3b0b12eb63b9cd7574c1cf05afb7a8}{evas\_\-object\_\-text\_\-text\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the text currently being displayed by the given evas text object. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-BiDi\_\-Direction \hyperlink{group__Evas__Object__Text_ga2fdb3ff0318cd4b45d642ae317b19589}{evas\_\-object\_\-text\_\-direction\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieves the direction of the text currently being displayed in the text object. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga4aaf7a903228927fa0adac885304e43e}{evas\_\-object\_\-text\_\-ascent\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga71f9d96c6dfc8ec33cf0a97e614228a0}{evas\_\-object\_\-text\_\-descent\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga1a0bdf57c3ca6e7fb7833ddfbe23b735}{evas\_\-object\_\-text\_\-max\_\-ascent\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga28ee3eb5e199c23a14ac47e07ac49205}{evas\_\-object\_\-text\_\-max\_\-descent\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga6c5f45ff6e1be091d0382db0ccfb919d}{evas\_\-object\_\-text\_\-inset\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_ga972494bd4b9d807ea5f98404a82d8eab}{evas\_\-object\_\-text\_\-horiz\_\-advance\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Coord \hyperlink{group__Evas__Object__Text_gaec17348b4fa02b15162ef96abdbfbf41}{evas\_\-object\_\-text\_\-vert\_\-advance\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Text_ga823b09a9d05a1650e63970e329cd7b72}{evas\_\-object\_\-text\_\-char\_\-pos\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int pos, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch)
+\begin{DoxyCompactList}\small\item\em Retrieve position and dimension information of a character within a text {\ttfamily Evas\_\-Object}. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Text_ga464d40578e2fdc2ad8890556e0b97268}{evas\_\-object\_\-text\_\-last\_\-up\_\-to\_\-pos} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x, Evas\_\-Coord y)
+\begin{DoxyCompactList}\small\item\em Returns the logical position of the last char in the text up to the pos given. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Text_gab37f85358bd7d333cd6e8c7cf62b5daa}{evas\_\-object\_\-text\_\-char\_\-coords\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_gae7896521b9861d4bd3efc04ef1e8e91e}{evas\_\-object\_\-text\_\-style\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Text\_\-Style\_\-Type style)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Text\_\-Style\_\-Type \hyperlink{group__Evas__Object__Text_gaf08d4a9630d23ebdbf79cc8c2c91b2c6}{evas\_\-object\_\-text\_\-style\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga58f0bb7acf2c1d24e9ae5e4a391d19bc}{evas\_\-object\_\-text\_\-shadow\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int r, int g, int b, int a)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga7cf7432965327a571d413dbaeca66822}{evas\_\-object\_\-text\_\-shadow\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga74c4ea0f0befd6213f48163ee70041e6}{evas\_\-object\_\-text\_\-glow\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int r, int g, int b, int a)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga76bcc6322241875990b572f37d754266}{evas\_\-object\_\-text\_\-glow\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga7dabe4ce0120cdf0c4e60a8f7a7e3659}{evas\_\-object\_\-text\_\-glow2\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int r, int g, int b, int a)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga264a8425d8dab176a1b15e17a528d56d}{evas\_\-object\_\-text\_\-glow2\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga1c1cf05c6b31f06a4c79486d19ddaece}{evas\_\-object\_\-text\_\-outline\_\-color\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int r, int g, int b, int a)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_ga16485a0062a397faed21fad732ad16ba}{evas\_\-object\_\-text\_\-outline\_\-color\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$r, int $\ast$g, int $\ast$b, int $\ast$a)
+\begin{DoxyCompactList}\small\item\em To be documented. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Text_gafd638ae91c10d4139e41e6245c0712e1}{evas\_\-object\_\-text\_\-style\_\-pad\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int $\ast$l, int $\ast$r, int $\ast$t, int $\ast$b)
+\begin{DoxyCompactList}\small\item\em Gets the text style pad of a text object. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that operate on single line, single style text objects. For multiline and multiple style text, see \hyperlink{group__Evas__Object__Textblock}{Textblock Object Functions}. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-add@{evas\_\-object\_\-text\_\-add}}
+\index{evas\_\-object\_\-text\_\-add@{evas\_\-object\_\-text\_\-add}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-text\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga2da9ad20aec514dfeecb97c715e7f539}
+
+
+Creates a new text {\ttfamily Evas\_\-Object} on the provided {\ttfamily Evas} canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The {\ttfamily Evas} canvas to create the text object upon.\end{DoxyParams}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Text_ga6f503ac55e126bebbadf96a152f5d02b}{evas\_\-object\_\-text\_\-font\_\-source\_\-set} 
+
+\hyperlink{group__Evas__Object__Text_ga6c7fc38657a876997ad91ebd177669a6}{evas\_\-object\_\-text\_\-font\_\-set} 
+
+\hyperlink{group__Evas__Object__Text_ga11d37807b5506e6cca746ebb91236532}{evas\_\-object\_\-text\_\-text\_\-set}
+\end{DoxySeeAlso}
+\begin{DoxyReturn}{Returns}
+NULL on error, A pointer to a new {\ttfamily Evas\_\-Object} on success. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-ascent\_\-get@{evas\_\-object\_\-text\_\-ascent\_\-get}}
+\index{evas\_\-object\_\-text\_\-ascent\_\-get@{evas\_\-object\_\-text\_\-ascent\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-ascent\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Coord evas\_\-object\_\-text\_\-ascent\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga4aaf7a903228927fa0adac885304e43e}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-char\_\-coords\_\-get@{evas\_\-object\_\-text\_\-char\_\-coords\_\-get}}
+\index{evas\_\-object\_\-text\_\-char\_\-coords\_\-get@{evas\_\-object\_\-text\_\-char\_\-coords\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-char\_\-coords\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-object\_\-text\_\-char\_\-coords\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y, }
+\item[{Evas\_\-Coord $\ast$}]{ cx, }
+\item[{Evas\_\-Coord $\ast$}]{ cy, }
+\item[{Evas\_\-Coord $\ast$}]{ cw, }
+\item[{Evas\_\-Coord $\ast$}]{ ch}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_gab37f85358bd7d333cd6e8c7cf62b5daa}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-char\_\-pos\_\-get@{evas\_\-object\_\-text\_\-char\_\-pos\_\-get}}
+\index{evas\_\-object\_\-text\_\-char\_\-pos\_\-get@{evas\_\-object\_\-text\_\-char\_\-pos\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-char\_\-pos\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-text\_\-char\_\-pos\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ pos, }
+\item[{Evas\_\-Coord $\ast$}]{ cx, }
+\item[{Evas\_\-Coord $\ast$}]{ cy, }
+\item[{Evas\_\-Coord $\ast$}]{ cw, }
+\item[{Evas\_\-Coord $\ast$}]{ ch}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga823b09a9d05a1650e63970e329cd7b72}
+
+
+Retrieve position and dimension information of a character within a text {\ttfamily Evas\_\-Object}. 
+
+This function is used to obtain the X, Y, width and height of a the character located at {\ttfamily pos} within the {\ttfamily Evas\_\-Object} {\ttfamily obj}. {\ttfamily obj} must be a text object as created with \hyperlink{group__Evas__Object__Text_ga2da9ad20aec514dfeecb97c715e7f539}{evas\_\-object\_\-text\_\-add()}. Any of the {\ttfamily Evas\_\-Coord} parameters ({\ttfamily cx}, {\ttfamily cy}, {\ttfamily cw}, {\ttfamily ch}) may be NULL in which case no value will be assigned to that parameter.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The text object to retrieve position information for. \item[{\em pos}]The character position to request co-\/ordinates for. \item[{\em cx}]A pointer to an {\ttfamily Evas\_\-Coord} to store the X value in (can be NULL). \item[{\em cy}]A pointer to an {\ttfamily Evas\_\-Coord} to store the Y value in (can be NULL). \item[{\em cw}]A pointer to an {\ttfamily Evas\_\-Coord} to store the Width value in (can be NULL). \item[{\em ch}]A pointer to an {\ttfamily Evas\_\-Coord} to store the Height value in (can be NULL).\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-FALSE on error, EINA\_\-TRUE on success. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-descent\_\-get@{evas\_\-object\_\-text\_\-descent\_\-get}}
+\index{evas\_\-object\_\-text\_\-descent\_\-get@{evas\_\-object\_\-text\_\-descent\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-descent\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Coord evas\_\-object\_\-text\_\-descent\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga71f9d96c6dfc8ec33cf0a97e614228a0}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-direction\_\-get@{evas\_\-object\_\-text\_\-direction\_\-get}}
+\index{evas\_\-object\_\-text\_\-direction\_\-get@{evas\_\-object\_\-text\_\-direction\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-direction\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-BiDi\_\-Direction evas\_\-object\_\-text\_\-direction\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga2fdb3ff0318cd4b45d642ae317b19589}
+
+
+Retrieves the direction of the text currently being displayed in the text object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas text object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the direction of the text 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-font\_\-get@{evas\_\-object\_\-text\_\-font\_\-get}}
+\index{evas\_\-object\_\-text\_\-font\_\-get@{evas\_\-object\_\-text\_\-font\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-font\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-font\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$$\ast$}]{ font, }
+\item[{Evas\_\-Font\_\-Size $\ast$}]{ size}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_gaa3ed4186d4a9a78c9ca95ea430dab242}
+
+
+Query evas for font information of a text {\ttfamily Evas\_\-Object}. 
+
+This function allows the font name and size of a text {\ttfamily Evas\_\-Object} as created with \hyperlink{group__Evas__Object__Text_ga2da9ad20aec514dfeecb97c715e7f539}{evas\_\-object\_\-text\_\-add()} to be queried. Be aware that the font name string is still owned by Evas and should NOT have free() called on it by the caller of the function.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The evas text object to query for font information. \item[{\em font}]A pointer to the location to store the font name in (may be NULL). \item[{\em size}]A pointer to the location to store the font size in (may be NULL). \end{DoxyParams}
+\index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-font\_\-set@{evas\_\-object\_\-text\_\-font\_\-set}}
+\index{evas\_\-object\_\-text\_\-font\_\-set@{evas\_\-object\_\-text\_\-font\_\-set}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-font\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-font\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ font, }
+\item[{Evas\_\-Font\_\-Size}]{ size}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga6c7fc38657a876997ad91ebd177669a6}
+
+
+To be documented. 
+
+FIXME: To be fixed. 
+
+References ENFN, and evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+\index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-font\_\-source\_\-get@{evas\_\-object\_\-text\_\-font\_\-source\_\-get}}
+\index{evas\_\-object\_\-text\_\-font\_\-source\_\-get@{evas\_\-object\_\-text\_\-font\_\-source\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-font\_\-source\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-object\_\-text\_\-font\_\-source\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_gaa48bece59070032504a2c78ad8a66577}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-font\_\-source\_\-set@{evas\_\-object\_\-text\_\-font\_\-source\_\-set}}
+\index{evas\_\-object\_\-text\_\-font\_\-source\_\-set@{evas\_\-object\_\-text\_\-font\_\-source\_\-set}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-font\_\-source\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-font\_\-source\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ font\_\-source}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga6f503ac55e126bebbadf96a152f5d02b}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-glow2\_\-color\_\-get@{evas\_\-object\_\-text\_\-glow2\_\-color\_\-get}}
+\index{evas\_\-object\_\-text\_\-glow2\_\-color\_\-get@{evas\_\-object\_\-text\_\-glow2\_\-color\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-glow2\_\-color\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-glow2\_\-color\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ g, }
+\item[{int $\ast$}]{ b, }
+\item[{int $\ast$}]{ a}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga264a8425d8dab176a1b15e17a528d56d}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-glow2\_\-color\_\-set@{evas\_\-object\_\-text\_\-glow2\_\-color\_\-set}}
+\index{evas\_\-object\_\-text\_\-glow2\_\-color\_\-set@{evas\_\-object\_\-text\_\-glow2\_\-color\_\-set}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-glow2\_\-color\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-glow2\_\-color\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ r, }
+\item[{int}]{ g, }
+\item[{int}]{ b, }
+\item[{int}]{ a}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga7dabe4ce0120cdf0c4e60a8f7a7e3659}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-glow\_\-color\_\-get@{evas\_\-object\_\-text\_\-glow\_\-color\_\-get}}
+\index{evas\_\-object\_\-text\_\-glow\_\-color\_\-get@{evas\_\-object\_\-text\_\-glow\_\-color\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-glow\_\-color\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-glow\_\-color\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ g, }
+\item[{int $\ast$}]{ b, }
+\item[{int $\ast$}]{ a}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga76bcc6322241875990b572f37d754266}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-glow\_\-color\_\-set@{evas\_\-object\_\-text\_\-glow\_\-color\_\-set}}
+\index{evas\_\-object\_\-text\_\-glow\_\-color\_\-set@{evas\_\-object\_\-text\_\-glow\_\-color\_\-set}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-glow\_\-color\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-glow\_\-color\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ r, }
+\item[{int}]{ g, }
+\item[{int}]{ b, }
+\item[{int}]{ a}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga74c4ea0f0befd6213f48163ee70041e6}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-horiz\_\-advance\_\-get@{evas\_\-object\_\-text\_\-horiz\_\-advance\_\-get}}
+\index{evas\_\-object\_\-text\_\-horiz\_\-advance\_\-get@{evas\_\-object\_\-text\_\-horiz\_\-advance\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-horiz\_\-advance\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Coord evas\_\-object\_\-text\_\-horiz\_\-advance\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga972494bd4b9d807ea5f98404a82d8eab}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-inset\_\-get@{evas\_\-object\_\-text\_\-inset\_\-get}}
+\index{evas\_\-object\_\-text\_\-inset\_\-get@{evas\_\-object\_\-text\_\-inset\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-inset\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Coord evas\_\-object\_\-text\_\-inset\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga6c5f45ff6e1be091d0382db0ccfb919d}
+
+
+To be documented. 
+
+FIXME: To be fixed. 
+
+References ENFN.
+
+\index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-last\_\-up\_\-to\_\-pos@{evas\_\-object\_\-text\_\-last\_\-up\_\-to\_\-pos}}
+\index{evas\_\-object\_\-text\_\-last\_\-up\_\-to\_\-pos@{evas\_\-object\_\-text\_\-last\_\-up\_\-to\_\-pos}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-last\_\-up\_\-to\_\-pos}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-object\_\-text\_\-last\_\-up\_\-to\_\-pos (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga464d40578e2fdc2ad8890556e0b97268}
+
+
+Returns the logical position of the last char in the text up to the pos given. 
+
+this is NOT the position of the last char because of the possibility of RTL in the text. To be documented.
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-max\_\-ascent\_\-get@{evas\_\-object\_\-text\_\-max\_\-ascent\_\-get}}
+\index{evas\_\-object\_\-text\_\-max\_\-ascent\_\-get@{evas\_\-object\_\-text\_\-max\_\-ascent\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-max\_\-ascent\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Coord evas\_\-object\_\-text\_\-max\_\-ascent\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga1a0bdf57c3ca6e7fb7833ddfbe23b735}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-max\_\-descent\_\-get@{evas\_\-object\_\-text\_\-max\_\-descent\_\-get}}
+\index{evas\_\-object\_\-text\_\-max\_\-descent\_\-get@{evas\_\-object\_\-text\_\-max\_\-descent\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-max\_\-descent\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Coord evas\_\-object\_\-text\_\-max\_\-descent\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga28ee3eb5e199c23a14ac47e07ac49205}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-outline\_\-color\_\-get@{evas\_\-object\_\-text\_\-outline\_\-color\_\-get}}
+\index{evas\_\-object\_\-text\_\-outline\_\-color\_\-get@{evas\_\-object\_\-text\_\-outline\_\-color\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-outline\_\-color\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-outline\_\-color\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ g, }
+\item[{int $\ast$}]{ b, }
+\item[{int $\ast$}]{ a}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga16485a0062a397faed21fad732ad16ba}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-outline\_\-color\_\-set@{evas\_\-object\_\-text\_\-outline\_\-color\_\-set}}
+\index{evas\_\-object\_\-text\_\-outline\_\-color\_\-set@{evas\_\-object\_\-text\_\-outline\_\-color\_\-set}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-outline\_\-color\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-outline\_\-color\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ r, }
+\item[{int}]{ g, }
+\item[{int}]{ b, }
+\item[{int}]{ a}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga1c1cf05c6b31f06a4c79486d19ddaece}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-shadow\_\-color\_\-get@{evas\_\-object\_\-text\_\-shadow\_\-color\_\-get}}
+\index{evas\_\-object\_\-text\_\-shadow\_\-color\_\-get@{evas\_\-object\_\-text\_\-shadow\_\-color\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-shadow\_\-color\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-shadow\_\-color\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ g, }
+\item[{int $\ast$}]{ b, }
+\item[{int $\ast$}]{ a}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga7cf7432965327a571d413dbaeca66822}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-shadow\_\-color\_\-set@{evas\_\-object\_\-text\_\-shadow\_\-color\_\-set}}
+\index{evas\_\-object\_\-text\_\-shadow\_\-color\_\-set@{evas\_\-object\_\-text\_\-shadow\_\-color\_\-set}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-shadow\_\-color\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-shadow\_\-color\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ r, }
+\item[{int}]{ g, }
+\item[{int}]{ b, }
+\item[{int}]{ a}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga58f0bb7acf2c1d24e9ae5e4a391d19bc}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-style\_\-get@{evas\_\-object\_\-text\_\-style\_\-get}}
+\index{evas\_\-object\_\-text\_\-style\_\-get@{evas\_\-object\_\-text\_\-style\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-style\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Text\_\-Style\_\-Type evas\_\-object\_\-text\_\-style\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_gaf08d4a9630d23ebdbf79cc8c2c91b2c6}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-style\_\-pad\_\-get@{evas\_\-object\_\-text\_\-style\_\-pad\_\-get}}
+\index{evas\_\-object\_\-text\_\-style\_\-pad\_\-get@{evas\_\-object\_\-text\_\-style\_\-pad\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-style\_\-pad\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-style\_\-pad\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int $\ast$}]{ l, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ t, }
+\item[{int $\ast$}]{ b}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_gafd638ae91c10d4139e41e6245c0712e1}
+
+
+Gets the text style pad of a text object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given text object. \item[{\em l}]The left pad (or NULL). \item[{\em r}]The right pad (or NULL). \item[{\em t}]The top pad (or NULL). \item[{\em b}]The bottom pad (or NULL). \end{DoxyParams}
+\index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-style\_\-set@{evas\_\-object\_\-text\_\-style\_\-set}}
+\index{evas\_\-object\_\-text\_\-style\_\-set@{evas\_\-object\_\-text\_\-style\_\-set}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-style\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-style\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Text\_\-Style\_\-Type}]{ style}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_gae7896521b9861d4bd3efc04ef1e8e91e}
+
+
+To be documented. 
+
+FIXME: To be fixed. \index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-text\_\-get@{evas\_\-object\_\-text\_\-text\_\-get}}
+\index{evas\_\-object\_\-text\_\-text\_\-get@{evas\_\-object\_\-text\_\-text\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-text\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-object\_\-text\_\-text\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_gaef3b0b12eb63b9cd7574c1cf05afb7a8}
+
+
+Retrieves the text currently being displayed by the given evas text object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given evas text object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The text currently being displayed. Do not free it. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-text\_\-set@{evas\_\-object\_\-text\_\-text\_\-set}}
+\index{evas\_\-object\_\-text\_\-text\_\-set@{evas\_\-object\_\-text\_\-text\_\-set}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-text\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-text\_\-text\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ \_\-text}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_ga11d37807b5506e6cca746ebb91236532}
+
+
+Sets the text to be displayed by the given evas text object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]Evas text object. \item[{\em text}]Text to display. \end{DoxyParams}
+
+
+References evas\_\-event\_\-feed\_\-mouse\_\-move().
+
+\index{Evas\_\-Object\_\-Text@{Evas\_\-Object\_\-Text}!evas\_\-object\_\-text\_\-vert\_\-advance\_\-get@{evas\_\-object\_\-text\_\-vert\_\-advance\_\-get}}
+\index{evas\_\-object\_\-text\_\-vert\_\-advance\_\-get@{evas\_\-object\_\-text\_\-vert\_\-advance\_\-get}!Evas_Object_Text@{Evas\_\-Object\_\-Text}}
+\subsubsection[{evas\_\-object\_\-text\_\-vert\_\-advance\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Coord evas\_\-object\_\-text\_\-vert\_\-advance\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Text_gaec17348b4fa02b15162ef96abdbfbf41}
+
+
+To be documented. 
+
+FIXME: To be fixed. 
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Object__Textblock.tex b/doc/latex/group__Evas__Object__Textblock.tex
new file mode 100644 (file)
index 0000000..c26384d
--- /dev/null
@@ -0,0 +1,1779 @@
+\section{Textblock Object Functions}
+\label{group__Evas__Object__Textblock}\index{Textblock Object Functions@{Textblock Object Functions}}
+
+
+Functions used to create and manipulate textblock objects.  
+
+
+\subsection*{Defines}
+\begin{DoxyCompactItemize}
+\item 
+\#define \hyperlink{group__Evas__Object__Textblock_gac8ab2a94f6b027a2b24fffdd23b113fb}{ENFN}~obj-\/$>$layer-\/$>$evas-\/$>$engine.func
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Object__Textblock_gac43a253bc767da912ee1818a8dfa5713}{evas\_\-object\_\-textblock\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Adds a textblock to the given evas. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Textblock\_\-Style $\ast$ \hyperlink{group__Evas__Object__Textblock_ga00cc8baec308c583ac801811dd381d4c}{evas\_\-textblock\_\-style\_\-new} (void)
+\begin{DoxyCompactList}\small\item\em Creates a new textblock style. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaf527de9ea652e4435a0eaa6cda09585f}{evas\_\-textblock\_\-style\_\-free} (Evas\_\-Textblock\_\-Style $\ast$ts)
+\begin{DoxyCompactList}\small\item\em Destroys a textblock style. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gac239e4649b0893284ea962a2183c3f14}{evas\_\-textblock\_\-style\_\-set} (Evas\_\-Textblock\_\-Style $\ast$ts, const char $\ast$text)
+\begin{DoxyCompactList}\small\item\em Sets the style ts to the style passed as text by text. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_gae106e0cfb957f1916eb3833c1214394c}{evas\_\-textblock\_\-style\_\-get} (const Evas\_\-Textblock\_\-Style $\ast$ts)
+\begin{DoxyCompactList}\small\item\em Return the text of the style ts. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaf581b9400cb7176a137451ab6193e3c0}{evas\_\-object\_\-textblock\_\-style\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Textblock\_\-Style $\ast$ts)
+\begin{DoxyCompactList}\small\item\em Set the objects style to ts. \item\end{DoxyCompactList}\item 
+EAPI const Evas\_\-Textblock\_\-Style $\ast$ \hyperlink{group__Evas__Object__Textblock_ga9f3164f28981c6d6188a8de202848197}{evas\_\-object\_\-textblock\_\-style\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Return the style of an object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gab5d3958f4d73b2d9e3cccd828816b672}{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$ch)
+\begin{DoxyCompactList}\small\item\em Set the \char`\"{}replacement character\char`\"{} to use for the given textblock object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gae637041b07efe438e3539bb549a915e3}{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool mode)
+\begin{DoxyCompactList}\small\item\em Sets newline mode. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga0832ab9fd2820efee68bec6d1d80e427}{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Gets newline mode. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga5f08b5b6222ed341574ec8167a86c9a0}{evas\_\-object\_\-textblock\_\-valign\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, double align)
+\begin{DoxyCompactList}\small\item\em Sets the vertical alignment of text within the textblock object as a whole. \item\end{DoxyCompactList}\item 
+EAPI double \hyperlink{group__Evas__Object__Textblock_ga431ec30179fc3d7bcd98f508453e41bb}{evas\_\-object\_\-textblock\_\-valign\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Gets the vertical alignment of a textblock. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga61f6c6ea8c0ce2028424396eb2ff4a81}{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-get} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the \char`\"{}replacement character\char`\"{} for given textblock object. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_gac165d57003e552fa6739158dc2ed73f5}{evas\_\-textblock\_\-escape\_\-string\_\-get} (const char $\ast$escape)
+\begin{DoxyCompactList}\small\item\em Returns the unescaped version of escape. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga57940db29ffb910af130dd2100e48ff2}{evas\_\-textblock\_\-escape\_\-string\_\-range\_\-get} (const char $\ast$escape\_\-start, const char $\ast$escape\_\-end)
+\begin{DoxyCompactList}\small\item\em Return the unescaped version of the string between start and end. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga70b3680a8691c70bab39bd1c127424a5}{evas\_\-textblock\_\-string\_\-escape\_\-get} (const char $\ast$string, int $\ast$len\_\-ret)
+\begin{DoxyCompactList}\small\item\em Returns the escaped version of the string. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gadaed9758086de4545aa6fb561445816f}{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$text)
+\begin{DoxyCompactList}\small\item\em Sets the tetxblock's text to the markup text. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga4f7a3b1ee59e3c07f35726773c576a8d}{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-prepend} (Evas\_\-Textblock\_\-Cursor $\ast$cur, const char $\ast$text)
+\begin{DoxyCompactList}\small\item\em Prepends markup to the cursor cur. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga0896326ca8d9ca1dd194f322d0bc87b2}{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Return the markup of the object. \item\end{DoxyCompactList}\item 
+EAPI const Evas\_\-Textblock\_\-Cursor $\ast$ \hyperlink{group__Evas__Object__Textblock_ga2bbd5e4e1cc36e18790dc09fbd2a6c18}{evas\_\-object\_\-textblock\_\-cursor\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Return the object's main cursor. \item\end{DoxyCompactList}\item 
+EAPI Evas\_\-Textblock\_\-Cursor $\ast$ \hyperlink{group__Evas__Object__Textblock_ga6f6242cc087a6cc65196b09e813e2c45}{evas\_\-object\_\-textblock\_\-cursor\_\-new} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Create a new cursor, associate it to the obj and init it to point to the start of the textblock. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaec3e250258e2f587381bcd1539469137}{evas\_\-textblock\_\-cursor\_\-free} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Free the cursor and unassociate it from the object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gaf389372f80b4cd3f2fc1fd8b99637367}{evas\_\-textblock\_\-cursor\_\-is\_\-format} (const Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Returns true if the cursor points to a format. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$ \hyperlink{group__Evas__Object__Textblock_ga56e9057e5845fe785710ba6c5d07ab3e}{evas\_\-textblock\_\-node\_\-format\_\-first\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Returns the first format node. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$ \hyperlink{group__Evas__Object__Textblock_ga091521044b95190c75c57ca1661bcc83}{evas\_\-textblock\_\-node\_\-format\_\-last\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Returns the last format node. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$ \hyperlink{group__Evas__Object__Textblock_ga341e85b5bb0c9b2c82db4eb5a2432a9d}{evas\_\-textblock\_\-node\_\-format\_\-next\_\-get} (const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$n)
+\begin{DoxyCompactList}\small\item\em Returns the next format node (after n). \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$ \hyperlink{group__Evas__Object__Textblock_ga8566bfff8ca71cc89cf704c9a082780c}{evas\_\-textblock\_\-node\_\-format\_\-prev\_\-get} (const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$n)
+\begin{DoxyCompactList}\small\item\em Returns the prev format node (after n). \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gab53e3b12b9332180ad6736100333eb71}{evas\_\-textblock\_\-node\_\-format\_\-remove\_\-pair} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$n)
+\begin{DoxyCompactList}\small\item\em Remove a format node and it's match. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga445a498191535460cf6de442cb2b3a41}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-first} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Sets the cursor to the start of the first text node. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga2654bf905bdd0fe98402abe105c815d0}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-last} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em sets the cursor to the end of the last text node. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga85773221b22e6d042cc6b581de08c87a}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-next} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Advances to the the start of the next text node. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gabe9fa26c799408129f013440e518f699}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-prev} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Advances to the the end of the previous text node. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga74682be12e8108f2956ab8b02f39d9ab}{evas\_\-textblock\_\-cursor\_\-set\_\-at\_\-format} (Evas\_\-Textblock\_\-Cursor $\ast$cur, const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$n)
+\begin{DoxyCompactList}\small\item\em Sets the cursor to point to the place where format points to. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gaedae64aa95805f0c3480cf6001297ae9}{evas\_\-textblock\_\-cursor\_\-format\_\-next} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Advances to the next format node. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga560593895b7ba6e3d309463c921ad9ec}{evas\_\-textblock\_\-cursor\_\-format\_\-prev} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Advances to the previous format node. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga8f3fba0d1d853db5694b3803db73d9cd}{evas\_\-textblock\_\-cursor\_\-char\_\-next} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Advances 1 char forward. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gace122729e6764dc54bfee83b9865efc9}{evas\_\-textblock\_\-cursor\_\-char\_\-prev} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Advances 1 char backward. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga14a0a29c79eeb378c73f1383bb09424d}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-first} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Go to the first char in the node the cursor is pointing on. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaf504e62cf0b498631ec8154c14b2efb4}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Go to the last char in a text node. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga6da9c7bff6073756a619f9b8a00d0e0b}{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-first} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Go to the start of the current line. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaf96505739a5a805922f86b0e9c577afe}{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-last} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Go to the end of the current line. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga7f74459b59870c258bd312ff114778bc}{evas\_\-textblock\_\-cursor\_\-pos\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Return the current cursor pos. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gacde95e638bba6858b73f316afe2cfef0}{evas\_\-textblock\_\-cursor\_\-pos\_\-set} (Evas\_\-Textblock\_\-Cursor $\ast$cur, int \_\-pos)
+\begin{DoxyCompactList}\small\item\em Set the cursor pos. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gaa1992968fd64630687b18a5f9d632edf}{evas\_\-textblock\_\-cursor\_\-line\_\-set} (Evas\_\-Textblock\_\-Cursor $\ast$cur, int line)
+\begin{DoxyCompactList}\small\item\em Go to the start of the line passed. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga194b0bc812a6c031bc80a195bff0a40e}{evas\_\-textblock\_\-cursor\_\-compare} (const Evas\_\-Textblock\_\-Cursor $\ast$cur1, const Evas\_\-Textblock\_\-Cursor $\ast$cur2)
+\begin{DoxyCompactList}\small\item\em Compare two cursors. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gadeff0745dac418696bdd9a380ad54e9a}{evas\_\-textblock\_\-cursor\_\-copy} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Textblock\_\-Cursor $\ast$cur\_\-dest)
+\begin{DoxyCompactList}\small\item\em Make cur\_\-dest point to the same place as cur. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga674d0cf1c0273fa58f1f2b4007b0b455}{evas\_\-textblock\_\-cursor\_\-text\_\-append} (Evas\_\-Textblock\_\-Cursor $\ast$cur, const char $\ast$\_\-text)
+\begin{DoxyCompactList}\small\item\em Adds text to the current cursor position and set the cursor to $\ast$before$\ast$ the start of the text just added. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_gacc79760e60e2aa49cb5c2aaa8bb73ba0}{evas\_\-textblock\_\-cursor\_\-text\_\-prepend} (Evas\_\-Textblock\_\-Cursor $\ast$cur, const char $\ast$\_\-text)
+\begin{DoxyCompactList}\small\item\em Adds text to the current cursor position and set the cursor to $\ast$after$\ast$ the start of the text just added. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga6c8336913e645d5bedbc93ba7d06d079}{evas\_\-textblock\_\-cursor\_\-format\_\-append} (Evas\_\-Textblock\_\-Cursor $\ast$cur, const char $\ast$format)
+\begin{DoxyCompactList}\small\item\em Adds format to the current cursor position. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga7e819b359a7e12cb3ecf3357029b9cb6}{evas\_\-textblock\_\-cursor\_\-format\_\-prepend} (Evas\_\-Textblock\_\-Cursor $\ast$cur, const char $\ast$format)
+\begin{DoxyCompactList}\small\item\em Adds format to the current cursor position. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gaf9cd7ffa37008c0d6f61413703a0670e}{evas\_\-textblock\_\-cursor\_\-char\_\-delete} (Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Delete the character at the location of the cursor. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga1b581bb089e3f335cde9f7e824e9e0d4}{evas\_\-textblock\_\-cursor\_\-range\_\-delete} (Evas\_\-Textblock\_\-Cursor $\ast$cur1, Evas\_\-Textblock\_\-Cursor $\ast$cur2)
+\begin{DoxyCompactList}\small\item\em Delete the range between cur1 and cur2. \item\end{DoxyCompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga77a5f2b742f74110aad4f0b2af6a91aa}{evas\_\-textblock\_\-cursor\_\-content\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Return the content of the cursor. \item\end{DoxyCompactList}\item 
+EAPI char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga0ac2a1684a7def72b027d573f235c3c6}{evas\_\-textblock\_\-cursor\_\-range\_\-text\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur1, const Evas\_\-Textblock\_\-Cursor $\ast$\_\-cur2, Evas\_\-Textblock\_\-Text\_\-Type format \_\-\_\-UNUSED\_\-\_\-)
+\begin{DoxyCompactList}\small\item\em Return the text in the range between cur1 and cur2. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_ga2369c2b14e0a58379e28327870a57f23}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Return the text of the paragraph cur points to -\/ returns the text in markup. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga57b2e7d853306c435946e0db83080db5}{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-length\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Return the length of the paragraph, cheaper the eina\_\-unicode\_\-strlen(). \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$ \hyperlink{group__Evas__Object__Textblock_gad4abd947509949e9b683003018481aa3}{evas\_\-textblock\_\-cursor\_\-format\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Return the format node at the position pointed by cur. \item\end{DoxyCompactList}\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Object__Textblock_gae386e3627175b7d20a14ad58ddd5aaa8}{evas\_\-textblock\_\-node\_\-format\_\-text\_\-get} (const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$fmt)
+\begin{DoxyCompactList}\small\item\em Get the text format representation of the format node. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gabd21b412b8cbc90419cd7d375cc1b625}{evas\_\-textblock\_\-cursor\_\-at\_\-format\_\-set} (Evas\_\-Textblock\_\-Cursor $\ast$cur, const \hyperlink{Evas_8h_adcd2409468741c89d607f06e17da1f64}{Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$fmt)
+\begin{DoxyCompactList}\small\item\em Set the cursor to point to the position of fmt. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga8a85968d8fe24bcb92738df510993d8c}{evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Check if the current cursor position is a visible format. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga53de4d5aa108014959e6eef6cc09e463}{evas\_\-textblock\_\-cursor\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch, Evas\_\-BiDi\_\-Direction $\ast$dir, Evas\_\-Textblock\_\-Cursor\_\-Type ctype)
+\begin{DoxyCompactList}\small\item\em Returns the geometry of the cursor. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga47950e666e252bbf0ad9d46b59e74269}{evas\_\-textblock\_\-cursor\_\-char\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch)
+\begin{DoxyCompactList}\small\item\em Returns the geometry of the char at cur. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_ga07130c3e5323cc4aab5740e926221105}{evas\_\-textblock\_\-cursor\_\-pen\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch)
+\begin{DoxyCompactList}\small\item\em Returns the geometry of the pen at cur. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_gaa49a0235809d49fb5f988253050dd101}{evas\_\-textblock\_\-cursor\_\-line\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch)
+\begin{DoxyCompactList}\small\item\em Returns the geometry of the line at cur. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga216d7d74aae2d58f0cc42bf1a0291b00}{evas\_\-textblock\_\-cursor\_\-char\_\-coord\_\-set} (Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord x, Evas\_\-Coord y)
+\begin{DoxyCompactList}\small\item\em Set the position of the cursor according to the X and Y coordinates. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Object__Textblock_gab730b9223f43f4bf255f7b3bd44f3ddb}{evas\_\-textblock\_\-cursor\_\-line\_\-coord\_\-set} (Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord y)
+\begin{DoxyCompactList}\small\item\em Set the cursor position according to the y coord. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Object__Textblock_ga5c69a5636c96fec1835e58b361037bdc}{evas\_\-textblock\_\-cursor\_\-range\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur1, const Evas\_\-Textblock\_\-Cursor $\ast$cur2)
+\begin{DoxyCompactList}\small\item\em Get the geometry of a range. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga6938413ee2c12497dfa517c3575e0311}{evas\_\-textblock\_\-cursor\_\-format\_\-item\_\-geometry\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch)
+\begin{DoxyCompactList}\small\item\em to be documented. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_gad5c9c6526512b13fe53aa763778aa6f8}{evas\_\-textblock\_\-cursor\_\-eol\_\-get} (const Evas\_\-Textblock\_\-Cursor $\ast$cur)
+\begin{DoxyCompactList}\small\item\em Checks if the cursor points to the end of the line. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Object__Textblock_ga77d99df8bcb139f2a499a0dda4c5dca1}{evas\_\-object\_\-textblock\_\-line\_\-number\_\-geometry\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, int line, Evas\_\-Coord $\ast$cx, Evas\_\-Coord $\ast$cy, Evas\_\-Coord $\ast$cw, Evas\_\-Coord $\ast$ch)
+\begin{DoxyCompactList}\small\item\em Get the geometry of a line number. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_gad5ee9184f370f602d2005ea8091a2c29}{evas\_\-object\_\-textblock\_\-clear} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Clear the textblock object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga5b77e11b6e478b81ed13d469cb8e21db}{evas\_\-object\_\-textblock\_\-size\_\-formatted\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h)
+\begin{DoxyCompactList}\small\item\em Get the formatted width and height. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga9a956c2712537a1e1f83e997c79a4c1e}{evas\_\-object\_\-textblock\_\-size\_\-native\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h)
+\begin{DoxyCompactList}\small\item\em Get the native width and height. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Object__Textblock_ga851cb385b547a958790a0d60d386a1d8}{evas\_\-object\_\-textblock\_\-style\_\-insets\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord $\ast$l, Evas\_\-Coord $\ast$r, Evas\_\-Coord $\ast$t, Evas\_\-Coord $\ast$b)
+\begin{DoxyCompactList}\small\item\em to be documented. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions used to create and manipulate textblock objects. Unlike \hyperlink{group__Evas__Object__Text}{Text Object Functions}, these handle complex text, doing multiple styles and multiline text based on HTML-\/like tags. Of these extra features will be heavier on memory and processing cost.
+
+\begin{Desc}
+\item[\hyperlink{todo__todo000006}{Todo}]put here some usage examples\end{Desc}
+
+
+\subsection{Define Documentation}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!ENFN@{ENFN}}
+\index{ENFN@{ENFN}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{ENFN}]{\setlength{\rightskip}{0pt plus 5cm}\#define ENFN~obj-\/$>$layer-\/$>$evas-\/$>$engine.func}\label{group__Evas__Object__Textblock_gac8ab2a94f6b027a2b24fffdd23b113fb}
+\hypertarget{group__Evas__Object__Textblock_Evas_Object_Textblock_Tutorial}{}\subsection{Textblock Object Tutorial}\label{group__Evas__Object__Textblock_Evas_Object_Textblock_Tutorial}
+This part explains about the textblock object's API and proper usage. If you want to develop textblock, you should also refer to Evas\_\-Object\_\-Textblock\_\-Internal. The main user of the textblock object is the edje entry object in Edje, so that's a good place to learn from, but I think this document is more than enough, if it's not, please request for me info and I'll update it.\hypertarget{group__Evas__Object__Textblock_textblock_intro}{}\subsubsection{Introduction}\label{group__Evas__Object__Textblock_textblock_intro}
+The textblock objects is, as implied, an object that can show big chunks of text. Textblock supports many features including: Text formatting, automatic and manual text alignment, embedding items (for example icons) and more. Textblock has three important parts, the text paragraphs, the format nodes and the cursors.\hypertarget{group__Evas__Object__Textblock_textblock_cursors}{}\subsubsection{Textblock Object Cursors}\label{group__Evas__Object__Textblock_textblock_cursors}
+A textblock Cursor Evas\_\-Textblock\_\-Cursor is data type that represents a position in a textblock. Each cursor contains information about the paragraph it points to, the position in that paragraph and the object itself. Cursors register to textblock objects upon creation, this means that once you created a cursor, it belongs to a specific obj and you can't for example copy a cursor \char`\"{}into\char`\"{} a cursor of a different object. Registered cursors also have the added benefit of updating automatically upon textblock changes, this means that if you have a cursor pointing to a specific character, it'll still point to it even after you change the whole object completely (as long as the char was not deleted), this is not possible without updating, because as mentioned, each cursor holds a character position. There are many functions that handle cursors, just check out the evas\_\-textblock\_\-cursor$\ast$ functions. For creation and deletion of cursors check out: \begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Textblock_ga6f6242cc087a6cc65196b09e813e2c45}{evas\_\-object\_\-textblock\_\-cursor\_\-new()} 
+
+\hyperlink{group__Evas__Object__Textblock_gaec3e250258e2f587381bcd1539469137}{evas\_\-textblock\_\-cursor\_\-free()} 
+\end{DoxySeeAlso}
+\begin{DoxyNote}{Note}
+Cursors are generally the correct way to handle text in the textblock object, and there are enough functions to do everything you need with them (no need to get big chunks of text and processing them yourself).
+\end{DoxyNote}
+\hypertarget{group__Evas__Object__Textblock_textblock_paragraphs}{}\subsubsection{Textblock Object Paragraphs}\label{group__Evas__Object__Textblock_textblock_paragraphs}
+The textblock object is made out of text splitted to paragraphs (delimited by the paragraph separation character). Each paragraph has many (or none) format nodes associated with it which are responsible for the formatting of that paragraph.\hypertarget{group__Evas__Object__Textblock_textblock_format_nodes}{}\subsubsection{Textblock Object Format Nodes}\label{group__Evas__Object__Textblock_textblock_format_nodes}
+As explained in \hyperlink{group__Evas__Object__Textblock_textblock_paragraphs}{Textblock Object Paragraphs} each one of the format nodes is associated with a paragraph. There are two types of format nodes, visible and invisible: Visible: formats that a cursor can point to, i.e formats that occupy space, for example: newlines, tabs, items and etc. Some visible items are made of two parts, in this case, only the opening tag is visible. A closing tag (i.e a $<$/tag$>$ tag) should NEVER be visible. Invisible: formats that don't occupy space, for example: bold and underline. Being able to access format nodes is very important for some uses. For example, edje uses the \char`\"{}$<$a$>$\char`\"{} format to create links in the text (and pop popups above them when clicked). For the textblock object a is just a formatting instruction (how to color the text), but edje utilizes the access to the format nodes to make it do more. For more information, take a look at all the evas\_\-textblock\_\-node\_\-format\_\-$\ast$ functions. The translation of \char`\"{}$<$tag$>$\char`\"{} tags to actual format is done according to the tags defined in the style, see \hyperlink{group__Evas__Object__Textblock_gac239e4649b0893284ea962a2183c3f14}{evas\_\-textblock\_\-style\_\-set}\hypertarget{group__Evas__Object__Textblock_textblock_special_formats}{}\subsubsection{Special Formats}\label{group__Evas__Object__Textblock_textblock_special_formats}
+This section is not yet written. If you want some info about styles/formats and how to use them, expedite's textblock\_\-basic test is a great start. \begin{Desc}
+\item[\hyperlink{todo__todo000004}{Todo}]Write  \end{Desc}
+
+
+Referenced by evas\_\-object\_\-text\_\-font\_\-set(), and evas\_\-object\_\-text\_\-inset\_\-get().
+
+
+
+\subsection{Function Documentation}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-add@{evas\_\-object\_\-textblock\_\-add}}
+\index{evas\_\-object\_\-textblock\_\-add@{evas\_\-object\_\-textblock\_\-add}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-textblock\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gac43a253bc767da912ee1818a8dfa5713}
+
+
+Adds a textblock to the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The new textblock object. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-clear@{evas\_\-object\_\-textblock\_\-clear}}
+\index{evas\_\-object\_\-textblock\_\-clear@{evas\_\-object\_\-textblock\_\-clear}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-clear}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-textblock\_\-clear (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gad5ee9184f370f602d2005ea8091a2c29}
+
+
+Clear the textblock object. 
+
+\begin{DoxyNote}{Note}
+Does $\ast$NOT$\ast$ free the evas object itself.
+\end{DoxyNote}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the object to clear. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+nothing. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-cursor\_\-get@{evas\_\-object\_\-textblock\_\-cursor\_\-get}}
+\index{evas\_\-object\_\-textblock\_\-cursor\_\-get@{evas\_\-object\_\-textblock\_\-cursor\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-cursor\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const Evas\_\-Textblock\_\-Cursor$\ast$ evas\_\-object\_\-textblock\_\-cursor\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga2bbd5e4e1cc36e18790dc09fbd2a6c18}
+
+
+Return the object's main cursor. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the obj's main cursor. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-cursor\_\-new@{evas\_\-object\_\-textblock\_\-cursor\_\-new}}
+\index{evas\_\-object\_\-textblock\_\-cursor\_\-new@{evas\_\-object\_\-textblock\_\-cursor\_\-new}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-cursor\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Textblock\_\-Cursor$\ast$ evas\_\-object\_\-textblock\_\-cursor\_\-new (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga6f6242cc087a6cc65196b09e813e2c45}
+
+
+Create a new cursor, associate it to the obj and init it to point to the start of the textblock. 
+
+Association to the object means the cursor will be updated when the object will change.
+
+\begin{DoxyNote}{Note}
+if you need speed and you know what you are doing, it's slightly faster to just allocate the cursor yourself and not associate it. (only people developing the actual object, and not users of the object).
+\end{DoxyNote}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the object to associate to. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the new cursor. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-line\_\-number\_\-geometry\_\-get@{evas\_\-object\_\-textblock\_\-line\_\-number\_\-geometry\_\-get}}
+\index{evas\_\-object\_\-textblock\_\-line\_\-number\_\-geometry\_\-get@{evas\_\-object\_\-textblock\_\-line\_\-number\_\-geometry\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-line\_\-number\_\-geometry\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-textblock\_\-line\_\-number\_\-geometry\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{int}]{ line, }
+\item[{Evas\_\-Coord $\ast$}]{ cx, }
+\item[{Evas\_\-Coord $\ast$}]{ cy, }
+\item[{Evas\_\-Coord $\ast$}]{ cw, }
+\item[{Evas\_\-Coord $\ast$}]{ ch}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga77d99df8bcb139f2a499a0dda4c5dca1}
+
+
+Get the geometry of a line number. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the object. \item[{\em line}]the line number. \item[{\em cx}]x coord of the line. \item[{\em cy}]y coord of the line. \item[{\em cw}]w coord of the line. \item[{\em ch}]h coord of the line. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE on success, EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-get@{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-get}}
+\index{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-get@{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga0832ab9fd2820efee68bec6d1d80e427}
+
+
+Gets newline mode. 
+
+When true, newline character behaves as a paragraph separator.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given textblock object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE if in PS mode, EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+\begin{DoxySince}{Since}
+1.1.0 
+\end{DoxySince}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-set@{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-set}}
+\index{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-set@{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-textblock\_\-newline\_\-mode\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ mode}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gae637041b07efe438e3539bb549a915e3}
+
+
+Sets newline mode. 
+
+When true, newline character will behave as a paragraph separator.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given textblock object. \item[{\em mode}]EINA\_\-TRUE for PS mode, EINA\_\-FALSE otherwise. \end{DoxyParams}
+\begin{DoxySince}{Since}
+1.1.0 
+\end{DoxySince}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-replace\_\-char\_\-get@{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-get}}
+\index{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-get@{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-object\_\-textblock\_\-replace\_\-char\_\-get (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga61f6c6ea8c0ce2028424396eb2ff4a81}
+
+
+Get the \char`\"{}replacement character\char`\"{} for given textblock object. 
+
+Returns NULL if no replacement character is in use.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given textblock object \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+replacement character or NULL 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-replace\_\-char\_\-set@{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-set}}
+\index{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-set@{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-replace\_\-char\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-textblock\_\-replace\_\-char\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ ch}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gab5d3958f4d73b2d9e3cccd828816b672}
+
+
+Set the \char`\"{}replacement character\char`\"{} to use for the given textblock object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given textblock object. \item[{\em ch}]The charset name. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-size\_\-formatted\_\-get@{evas\_\-object\_\-textblock\_\-size\_\-formatted\_\-get}}
+\index{evas\_\-object\_\-textblock\_\-size\_\-formatted\_\-get@{evas\_\-object\_\-textblock\_\-size\_\-formatted\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-size\_\-formatted\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-textblock\_\-size\_\-formatted\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord $\ast$}]{ w, }
+\item[{Evas\_\-Coord $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga5b77e11b6e478b81ed13d469cb8e21db}
+
+
+Get the formatted width and height. 
+
+This calculates the actual size after restricting the textblock to the current size of the object. The main difference between this and \hyperlink{group__Evas__Object__Textblock_ga9a956c2712537a1e1f83e997c79a4c1e}{evas\_\-object\_\-textblock\_\-size\_\-native\_\-get} is that the \char`\"{}native\char`\"{} function does not wrapping into account it just calculates the real width of the object if it was placed on an infinite canvas, while this function gives the size after wrapping according to the size restrictions of the object.
+
+For example for a textblock containing the text: \char`\"{}You shall not pass!\char`\"{} with no margins or padding and assuming a monospace font and a size of 7x10 char widths (for simplicity) has a native size of 19x1 and a formatted size of 5x4.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the evas object. \item[{\em w\mbox{[}out\mbox{]}}]the width of the object. \item[{\em h\mbox{[}out\mbox{]}}]the height of the object \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Textblock_ga9a956c2712537a1e1f83e997c79a4c1e}{evas\_\-object\_\-textblock\_\-size\_\-native\_\-get} 
+\end{DoxySeeAlso}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-size\_\-native\_\-get@{evas\_\-object\_\-textblock\_\-size\_\-native\_\-get}}
+\index{evas\_\-object\_\-textblock\_\-size\_\-native\_\-get@{evas\_\-object\_\-textblock\_\-size\_\-native\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-size\_\-native\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-textblock\_\-size\_\-native\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord $\ast$}]{ w, }
+\item[{Evas\_\-Coord $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga9a956c2712537a1e1f83e997c79a4c1e}
+
+
+Get the native width and height. 
+
+This calculates the actual size without taking account the current size of the object. The main difference between this and \hyperlink{group__Evas__Object__Textblock_ga5b77e11b6e478b81ed13d469cb8e21db}{evas\_\-object\_\-textblock\_\-size\_\-formatted\_\-get} is that the \char`\"{}native\char`\"{} function does not take wrapping into account it just calculates the real width of the object if it was placed on an infinite canvas, while the \char`\"{}formatted\char`\"{} function gives the size after wrapping text according to the size restrictions of the object.
+
+For example for a textblock containing the text: \char`\"{}You shall not pass!\char`\"{} with no margins or padding and assuming a monospace font and a size of 7x10 char widths (for simplicity) has a native size of 19x1 and a formatted size of 5x4.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the evas object of the textblock \item[{\em w\mbox{[}out\mbox{]}}]the width returned \item[{\em h\mbox{[}out\mbox{]}}]the height returned \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-style\_\-get@{evas\_\-object\_\-textblock\_\-style\_\-get}}
+\index{evas\_\-object\_\-textblock\_\-style\_\-get@{evas\_\-object\_\-textblock\_\-style\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-style\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const Evas\_\-Textblock\_\-Style$\ast$ evas\_\-object\_\-textblock\_\-style\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga9f3164f28981c6d6188a8de202848197}
+
+
+Return the style of an object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the object to get the style from. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the style of the object. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-style\_\-insets\_\-get@{evas\_\-object\_\-textblock\_\-style\_\-insets\_\-get}}
+\index{evas\_\-object\_\-textblock\_\-style\_\-insets\_\-get@{evas\_\-object\_\-textblock\_\-style\_\-insets\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-style\_\-insets\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-textblock\_\-style\_\-insets\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord $\ast$}]{ l, }
+\item[{Evas\_\-Coord $\ast$}]{ r, }
+\item[{Evas\_\-Coord $\ast$}]{ t, }
+\item[{Evas\_\-Coord $\ast$}]{ b}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga851cb385b547a958790a0d60d386a1d8}
+
+
+to be documented. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]to be documented. \item[{\em l}]to be documented. \item[{\em r}]to be documented. \item[{\em t}]to be documented. \item[{\em b}]to be documented. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-style\_\-set@{evas\_\-object\_\-textblock\_\-style\_\-set}}
+\index{evas\_\-object\_\-textblock\_\-style\_\-set@{evas\_\-object\_\-textblock\_\-style\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-style\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-textblock\_\-style\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Textblock\_\-Style $\ast$}]{ ts}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gaf581b9400cb7176a137451ab6193e3c0}
+
+
+Set the objects style to ts. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the evas object to set the style to. \item[{\em ts}]the style to set. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-style\_\-free().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-text\_\-markup\_\-get@{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-get}}
+\index{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-get@{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-object\_\-textblock\_\-text\_\-markup\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga0896326ca8d9ca1dd194f322d0bc87b2}
+
+
+Return the markup of the object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the evas object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the markup text of the object. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-text\_\-markup\_\-prepend@{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-prepend}}
+\index{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-prepend@{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-prepend}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-prepend}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-textblock\_\-text\_\-markup\_\-prepend (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{const char $\ast$}]{ text}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga4f7a3b1ee59e3c07f35726773c576a8d}
+
+
+Prepends markup to the cursor cur. 
+
+\begin{DoxyNote}{Note}
+assumes text does not include the unicode object replacement char (0xFFFC)
+\end{DoxyNote}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to prepend to. \item[{\em text}]the markup text to prepend. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Return no value. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-format\_\-prepend().
+
+
+
+Referenced by evas\_\-object\_\-textblock\_\-text\_\-markup\_\-set().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-text\_\-markup\_\-set@{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-set}}
+\index{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-set@{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-text\_\-markup\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-textblock\_\-text\_\-markup\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ text}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gadaed9758086de4545aa6fb561445816f}
+
+
+Sets the tetxblock's text to the markup text. 
+
+\begin{DoxyNote}{Note}
+assumes text does not include the unicode object replacement char (0xFFFC)
+\end{DoxyNote}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the textblock object. \item[{\em text}]the markup text to use. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Return no value. 
+\end{DoxyReturn}
+
+
+References evas\_\-object\_\-textblock\_\-text\_\-markup\_\-prepend(), and evas\_\-textblock\_\-cursor\_\-paragraph\_\-first().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-valign\_\-get@{evas\_\-object\_\-textblock\_\-valign\_\-get}}
+\index{evas\_\-object\_\-textblock\_\-valign\_\-get@{evas\_\-object\_\-textblock\_\-valign\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-valign\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI double evas\_\-object\_\-textblock\_\-valign\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga431ec30179fc3d7bcd98f508453e41bb}
+
+
+Gets the vertical alignment of a textblock. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given textblock object. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The elignment set for the object 
+\end{DoxyReturn}
+\begin{DoxySince}{Since}
+1.1.0 
+\end{DoxySince}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-object\_\-textblock\_\-valign\_\-set@{evas\_\-object\_\-textblock\_\-valign\_\-set}}
+\index{evas\_\-object\_\-textblock\_\-valign\_\-set@{evas\_\-object\_\-textblock\_\-valign\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-object\_\-textblock\_\-valign\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-textblock\_\-valign\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{double}]{ align}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga5f08b5b6222ed341574ec8167a86c9a0}
+
+
+Sets the vertical alignment of text within the textblock object as a whole. 
+
+Normally alignment is 0.0 (top of object). Values given should be between 0.0 and 1.0 (1.0 bottom of object, 0.5 being vertically centered etc.).
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The given textblock object. \item[{\em align}]A value between 0.0 and 1.0 \end{DoxyParams}
+\begin{DoxySince}{Since}
+1.1.0 
+\end{DoxySince}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-at\_\-format\_\-set@{evas\_\-textblock\_\-cursor\_\-at\_\-format\_\-set}}
+\index{evas\_\-textblock\_\-cursor\_\-at\_\-format\_\-set@{evas\_\-textblock\_\-cursor\_\-at\_\-format\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-at\_\-format\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-at\_\-format\_\-set (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{const {\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$}]{ fmt}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gabd21b412b8cbc90419cd7d375cc1b625}
+
+
+Set the cursor to point to the position of fmt. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to update \item[{\em fmt}]the format to update according to. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-char\_\-coord\_\-set@{evas\_\-textblock\_\-cursor\_\-char\_\-coord\_\-set}}
+\index{evas\_\-textblock\_\-cursor\_\-char\_\-coord\_\-set@{evas\_\-textblock\_\-cursor\_\-char\_\-coord\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-char\_\-coord\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-char\_\-coord\_\-set (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga216d7d74aae2d58f0cc42bf1a0291b00}
+
+
+Set the position of the cursor according to the X and Y coordinates. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to set. \item[{\em x}]coord to set by. \item[{\em y}]coord to set by. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE on success, EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-last().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-char\_\-delete@{evas\_\-textblock\_\-cursor\_\-char\_\-delete}}
+\index{evas\_\-textblock\_\-cursor\_\-char\_\-delete@{evas\_\-textblock\_\-cursor\_\-char\_\-delete}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-char\_\-delete}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-char\_\-delete (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gaf9cd7ffa37008c0d6f61413703a0670e}
+
+
+Delete the character at the location of the cursor. 
+
+If there's a format pointing to this position, delete it as well.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor pointing to the current location. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-char\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-char\_\-geometry\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-char\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-char\_\-geometry\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-char\_\-geometry\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-textblock\_\-cursor\_\-char\_\-geometry\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{Evas\_\-Coord $\ast$}]{ cx, }
+\item[{Evas\_\-Coord $\ast$}]{ cy, }
+\item[{Evas\_\-Coord $\ast$}]{ cw, }
+\item[{Evas\_\-Coord $\ast$}]{ ch}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga47950e666e252bbf0ad9d46b59e74269}
+
+
+Returns the geometry of the char at cur. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the position of the char. \item[{\em cx}]the x of the char. \item[{\em cy}]the y of the char. \item[{\em cw}]the w of the char. \item[{\em ch}]the h of the char. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+line number of the char on success, -\/1 on error. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-char\_\-next@{evas\_\-textblock\_\-cursor\_\-char\_\-next}}
+\index{evas\_\-textblock\_\-cursor\_\-char\_\-next@{evas\_\-textblock\_\-cursor\_\-char\_\-next}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-char\_\-next}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-char\_\-next (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga8f3fba0d1d853db5694b3803db73d9cd}
+
+
+Advances 1 char forward. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to advance. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE on success EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-paragraph\_\-next().
+
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-format\_\-prepend().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-char\_\-prev@{evas\_\-textblock\_\-cursor\_\-char\_\-prev}}
+\index{evas\_\-textblock\_\-cursor\_\-char\_\-prev@{evas\_\-textblock\_\-cursor\_\-char\_\-prev}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-char\_\-prev}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-char\_\-prev (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gace122729e6764dc54bfee83b9865efc9}
+
+
+Advances 1 char backward. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to advance. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE on success EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-paragraph\_\-prev().
+
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-geometry\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-compare@{evas\_\-textblock\_\-cursor\_\-compare}}
+\index{evas\_\-textblock\_\-cursor\_\-compare@{evas\_\-textblock\_\-cursor\_\-compare}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-compare}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-textblock\_\-cursor\_\-compare (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur1, }
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur2}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga194b0bc812a6c031bc80a195bff0a40e}
+
+
+Compare two cursors. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur1}]the first cursor. \item[{\em cur2}]the second cursor. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+-\/1 if cur1 $<$ cur2, 0 if cur1 == cur2 and 1 otherwise. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-range\_\-delete(), evas\_\-textblock\_\-cursor\_\-range\_\-geometry\_\-get(), and evas\_\-textblock\_\-cursor\_\-range\_\-text\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-content\_\-get@{evas\_\-textblock\_\-cursor\_\-content\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-content\_\-get@{evas\_\-textblock\_\-cursor\_\-content\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-content\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ evas\_\-textblock\_\-cursor\_\-content\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga77a5f2b742f74110aad4f0b2af6a91aa}
+
+
+Return the content of the cursor. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the text in the range 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-format\_\-get(), evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get(), and evas\_\-textblock\_\-node\_\-format\_\-text\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-copy@{evas\_\-textblock\_\-cursor\_\-copy}}
+\index{evas\_\-textblock\_\-cursor\_\-copy@{evas\_\-textblock\_\-cursor\_\-copy}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-copy}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-copy (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur\_\-dest}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gadeff0745dac418696bdd9a380ad54e9a}
+
+
+Make cur\_\-dest point to the same place as cur. 
+
+Does not work if they don't point to the same object.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the source cursor. \item[{\em cur\_\-dest}]destination cursor. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-eol\_\-get(), evas\_\-textblock\_\-cursor\_\-geometry\_\-get(), evas\_\-textblock\_\-cursor\_\-range\_\-delete(), and evas\_\-textblock\_\-cursor\_\-range\_\-text\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-eol\_\-get@{evas\_\-textblock\_\-cursor\_\-eol\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-eol\_\-get@{evas\_\-textblock\_\-cursor\_\-eol\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-eol\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-eol\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gad5c9c6526512b13fe53aa763778aa6f8}
+
+
+Checks if the cursor points to the end of the line. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to check. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE if true, EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-copy(), and evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-last().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-format\_\-append@{evas\_\-textblock\_\-cursor\_\-format\_\-append}}
+\index{evas\_\-textblock\_\-cursor\_\-format\_\-append@{evas\_\-textblock\_\-cursor\_\-format\_\-append}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-format\_\-append}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-format\_\-append (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{const char $\ast$}]{ format}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga6c8336913e645d5bedbc93ba7d06d079}
+
+
+Adds format to the current cursor position. 
+
+If the format being added is a visible format, add it $\ast$before$\ast$ the cursor position, otherwise, add it after. This behavior is because visible formats are like characters and invisible should be stacked in a way that the last one is added last.
+
+This function works with native formats, that means that style defined tags like \par
+ won't work here. For those kind of things use markup prepend.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to where to add format at. \item[{\em format}]the format to add. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns true if a visible format was added, false otherwise. 
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Textblock_ga7e819b359a7e12cb3ecf3357029b9cb6}{evas\_\-textblock\_\-cursor\_\-format\_\-prepend()} 
+\end{DoxySeeAlso}
+
+
+References evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get(), and evas\_\-textblock\_\-cursor\_\-text\_\-prepend().
+
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-format\_\-prepend().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-format\_\-get@{evas\_\-textblock\_\-cursor\_\-format\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-format\_\-get@{evas\_\-textblock\_\-cursor\_\-format\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-format\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format}$\ast$ evas\_\-textblock\_\-cursor\_\-format\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gad4abd947509949e9b683003018481aa3}
+
+
+Return the format node at the position pointed by cur. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the position to look at. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the format node if found, NULL otherwise. 
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Textblock_ga8a85968d8fe24bcb92738df510993d8c}{evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get()} 
+\end{DoxySeeAlso}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-content\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get@{evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get@{evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga8a85968d8fe24bcb92738df510993d8c}
+
+
+Check if the current cursor position is a visible format. 
+
+This way is more efficient than \hyperlink{group__Evas__Object__Textblock_gad4abd947509949e9b683003018481aa3}{evas\_\-textblock\_\-cursor\_\-format\_\-get()} to check for the existence of a visible format.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to look at. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE if the cursor points to a visible format, EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Textblock_gad4abd947509949e9b683003018481aa3}{evas\_\-textblock\_\-cursor\_\-format\_\-get()} 
+\end{DoxySeeAlso}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-content\_\-get(), evas\_\-textblock\_\-cursor\_\-format\_\-append(), evas\_\-textblock\_\-cursor\_\-format\_\-item\_\-geometry\_\-get(), evas\_\-textblock\_\-cursor\_\-is\_\-format(), and evas\_\-textblock\_\-cursor\_\-text\_\-append().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-format\_\-item\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-format\_\-item\_\-geometry\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-format\_\-item\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-format\_\-item\_\-geometry\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-format\_\-item\_\-geometry\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-format\_\-item\_\-geometry\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{Evas\_\-Coord $\ast$}]{ cx, }
+\item[{Evas\_\-Coord $\ast$}]{ cy, }
+\item[{Evas\_\-Coord $\ast$}]{ cw, }
+\item[{Evas\_\-Coord $\ast$}]{ ch}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga6938413ee2c12497dfa517c3575e0311}
+
+
+to be documented. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]to be documented. \item[{\em cx}]to be documented. \item[{\em cy}]to be documented. \item[{\em cw}]to be documented. \item[{\em ch}]to be documented. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+to be documented. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-format\_\-next@{evas\_\-textblock\_\-cursor\_\-format\_\-next}}
+\index{evas\_\-textblock\_\-cursor\_\-format\_\-next@{evas\_\-textblock\_\-cursor\_\-format\_\-next}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-format\_\-next}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-format\_\-next (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gaedae64aa95805f0c3480cf6001297ae9}
+
+
+Advances to the next format node. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to be updated. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE on success EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-format\_\-prepend@{evas\_\-textblock\_\-cursor\_\-format\_\-prepend}}
+\index{evas\_\-textblock\_\-cursor\_\-format\_\-prepend@{evas\_\-textblock\_\-cursor\_\-format\_\-prepend}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-format\_\-prepend}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-format\_\-prepend (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{const char $\ast$}]{ format}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga7e819b359a7e12cb3ecf3357029b9cb6}
+
+
+Adds format to the current cursor position. 
+
+If the format being added is a visible format, add it $\ast$before$\ast$ the cursor position, otherwise, add it after. This behavior is because visible formats are like characters and invisible should be stacked in a way that the last one is added last. If the format is visible the cursor is advanced after it.
+
+This function works with native formats, that means that style defined tags like \par
+ won't work here. For those kind of things use markup prepend.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to where to add format at. \item[{\em format}]the format to add. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns true if a visible format was added, false otherwise. 
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Textblock_ga7e819b359a7e12cb3ecf3357029b9cb6}{evas\_\-textblock\_\-cursor\_\-format\_\-prepend()} 
+\end{DoxySeeAlso}
+
+
+References evas\_\-textblock\_\-cursor\_\-char\_\-next(), and evas\_\-textblock\_\-cursor\_\-format\_\-append().
+
+
+
+Referenced by evas\_\-object\_\-textblock\_\-text\_\-markup\_\-prepend().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-format\_\-prev@{evas\_\-textblock\_\-cursor\_\-format\_\-prev}}
+\index{evas\_\-textblock\_\-cursor\_\-format\_\-prev@{evas\_\-textblock\_\-cursor\_\-format\_\-prev}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-format\_\-prev}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-format\_\-prev (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga560593895b7ba6e3d309463c921ad9ec}
+
+
+Advances to the previous format node. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to update. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE on success EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-is\_\-format().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-free@{evas\_\-textblock\_\-cursor\_\-free}}
+\index{evas\_\-textblock\_\-cursor\_\-free@{evas\_\-textblock\_\-cursor\_\-free}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-free (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gaec3e250258e2f587381bcd1539469137}
+
+
+Free the cursor and unassociate it from the object. 
+
+\begin{DoxyNote}{Note}
+do not use it to free unassociated cursors.
+\end{DoxyNote}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to free. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-geometry\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-geometry\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-geometry\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-textblock\_\-cursor\_\-geometry\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{Evas\_\-Coord $\ast$}]{ cx, }
+\item[{Evas\_\-Coord $\ast$}]{ cy, }
+\item[{Evas\_\-Coord $\ast$}]{ cw, }
+\item[{Evas\_\-Coord $\ast$}]{ ch, }
+\item[{Evas\_\-BiDi\_\-Direction $\ast$}]{ dir, }
+\item[{Evas\_\-Textblock\_\-Cursor\_\-Type}]{ ctype}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga53de4d5aa108014959e6eef6cc09e463}
+
+
+Returns the geometry of the cursor. 
+
+Depends on the type of cursor requested. This should be used instead of char\_\-geometry\_\-get because there are weird special cases with BiDi text. in '\_\-' cursor mode (i.e a line below the char) it's the same as char\_\-geometry get, except for the case of the last char of a line which depends on the paragraph direction.
+
+in '$|$' cursor mode (i.e a line between two chars) it is very varyable. For example consider the following visual string: \char`\"{}abcCBA\char`\"{} (ABC are rtl chars), a cursor pointing on A should actually draw a '$|$' between the c and the C.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor. \item[{\em cx}]the x of the cursor \item[{\em cy}]the y of the cursor \item[{\em cw}]the width of the cursor \item[{\em ch}]the height of the cursor \item[{\em dir}]the direction of the cursor, can be NULL. \item[{\em ctype}]the type of the cursor. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+line number of the char on success, -\/1 on error. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-char\_\-prev(), evas\_\-textblock\_\-cursor\_\-copy(), and evas\_\-textblock\_\-cursor\_\-pen\_\-geometry\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-is\_\-format@{evas\_\-textblock\_\-cursor\_\-is\_\-format}}
+\index{evas\_\-textblock\_\-cursor\_\-is\_\-format@{evas\_\-textblock\_\-cursor\_\-is\_\-format}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-is\_\-format}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-is\_\-format (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gaf389372f80b4cd3f2fc1fd8b99637367}
+
+
+Returns true if the cursor points to a format. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to check. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns EINA\_\-TRUE if a cursor points to a format EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get().
+
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-format\_\-prev().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-first@{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-first}}
+\index{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-first@{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-first}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-first}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-first (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga6da9c7bff6073756a619f9b8a00d0e0b}
+
+
+Go to the start of the current line. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to update. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-last@{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-last}}
+\index{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-last@{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-last}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-last}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-line\_\-char\_\-last (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gaf96505739a5a805922f86b0e9c577afe}
+
+
+Go to the end of the current line. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to update. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-char\_\-coord\_\-set(), and evas\_\-textblock\_\-cursor\_\-eol\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-line\_\-coord\_\-set@{evas\_\-textblock\_\-cursor\_\-line\_\-coord\_\-set}}
+\index{evas\_\-textblock\_\-cursor\_\-line\_\-coord\_\-set@{evas\_\-textblock\_\-cursor\_\-line\_\-coord\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-line\_\-coord\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-textblock\_\-cursor\_\-line\_\-coord\_\-set (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{Evas\_\-Coord}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gab730b9223f43f4bf255f7b3bd44f3ddb}
+
+
+Set the cursor position according to the y coord. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cur to be set. \item[{\em y}]the coord to set by. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the line number found, -\/1 on error. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-line\_\-set().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-line\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-line\_\-geometry\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-line\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-line\_\-geometry\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-line\_\-geometry\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-textblock\_\-cursor\_\-line\_\-geometry\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{Evas\_\-Coord $\ast$}]{ cx, }
+\item[{Evas\_\-Coord $\ast$}]{ cy, }
+\item[{Evas\_\-Coord $\ast$}]{ cw, }
+\item[{Evas\_\-Coord $\ast$}]{ ch}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gaa49a0235809d49fb5f988253050dd101}
+
+
+Returns the geometry of the line at cur. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the position of the line. \item[{\em cx}]the x of the line. \item[{\em cy}]the y of the line. \item[{\em cw}]the width of the line. \item[{\em ch}]the height of the line. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+line number of the line on success, -\/1 on error. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-line\_\-set@{evas\_\-textblock\_\-cursor\_\-line\_\-set}}
+\index{evas\_\-textblock\_\-cursor\_\-line\_\-set@{evas\_\-textblock\_\-cursor\_\-line\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-line\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-line\_\-set (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{int}]{ line}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gaa1992968fd64630687b18a5f9d632edf}
+
+
+Go to the start of the line passed. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]cursor to update. \item[{\em line}]numer to set. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE on success, EINA\_\-FALSE on error. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-line\_\-coord\_\-set().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-first@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-first}}
+\index{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-first@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-first}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-first}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-first (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga14a0a29c79eeb378c73f1383bb09424d}
+
+
+Go to the first char in the node the cursor is pointing on. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to update. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last}}
+\index{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gaf504e62cf0b498631ec8154c14b2efb4}
+
+
+Go to the last char in a text node. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to update. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-paragraph\_\-last(), evas\_\-textblock\_\-cursor\_\-paragraph\_\-prev(), and evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-paragraph\_\-first@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-first}}
+\index{evas\_\-textblock\_\-cursor\_\-paragraph\_\-first@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-first}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-paragraph\_\-first}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-paragraph\_\-first (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga445a498191535460cf6de442cb2b3a41}
+
+
+Sets the cursor to the start of the first text node. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to update. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-object\_\-textblock\_\-text\_\-markup\_\-set().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-paragraph\_\-last@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-last}}
+\index{evas\_\-textblock\_\-cursor\_\-paragraph\_\-last@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-last}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-paragraph\_\-last}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-paragraph\_\-last (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga2654bf905bdd0fe98402abe105c815d0}
+
+
+sets the cursor to the end of the last text node. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to set. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-paragraph\_\-next@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-next}}
+\index{evas\_\-textblock\_\-cursor\_\-paragraph\_\-next@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-next}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-paragraph\_\-next}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-paragraph\_\-next (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga85773221b22e6d042cc6b581de08c87a}
+
+
+Advances to the the start of the next text node. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to update \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE if it managed to advance a paragraph, EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-char\_\-next().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-paragraph\_\-prev@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-prev}}
+\index{evas\_\-textblock\_\-cursor\_\-paragraph\_\-prev@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-prev}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-paragraph\_\-prev}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-textblock\_\-cursor\_\-paragraph\_\-prev (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gabe9fa26c799408129f013440e518f699}
+
+
+Advances to the the end of the previous text node. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to update \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE if it managed to advance a paragraph, EINA\_\-FALSE otherwise. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last().
+
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-char\_\-prev().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga2369c2b14e0a58379e28327870a57f23}
+
+
+Return the text of the paragraph cur points to -\/ returns the text in markup. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor pointing to the paragraph. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the text on success, NULL otherwise. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-first(), evas\_\-textblock\_\-cursor\_\-paragraph\_\-char\_\-last(), and evas\_\-textblock\_\-cursor\_\-range\_\-text\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-length\_\-get@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-length\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-length\_\-get@{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-length\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-length\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-length\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga57b2e7d853306c435946e0db83080db5}
+
+
+Return the length of the paragraph, cheaper the eina\_\-unicode\_\-strlen(). 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the position of the paragraph. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the length of the paragraph on success, -\/1 otehrwise. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-pen\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-pen\_\-geometry\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-pen\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-pen\_\-geometry\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-pen\_\-geometry\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-textblock\_\-cursor\_\-pen\_\-geometry\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{Evas\_\-Coord $\ast$}]{ cx, }
+\item[{Evas\_\-Coord $\ast$}]{ cy, }
+\item[{Evas\_\-Coord $\ast$}]{ cw, }
+\item[{Evas\_\-Coord $\ast$}]{ ch}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga07130c3e5323cc4aab5740e926221105}
+
+
+Returns the geometry of the pen at cur. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the position of the char. \item[{\em cpen\_\-x}]the pen\_\-x of the char. \item[{\em cy}]the y of the char. \item[{\em cadv}]the adv of the char. \item[{\em ch}]the h of the char. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+line number of the char on success, -\/1 on error. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-geometry\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-pos\_\-get@{evas\_\-textblock\_\-cursor\_\-pos\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-pos\_\-get@{evas\_\-textblock\_\-cursor\_\-pos\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-pos\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-textblock\_\-cursor\_\-pos\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga7f74459b59870c258bd312ff114778bc}
+
+
+Return the current cursor pos. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to take the position from. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the position or -\/1 on error 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-pos\_\-set@{evas\_\-textblock\_\-cursor\_\-pos\_\-set}}
+\index{evas\_\-textblock\_\-cursor\_\-pos\_\-set@{evas\_\-textblock\_\-cursor\_\-pos\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-pos\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-pos\_\-set (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{int}]{ \_\-pos}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gacde95e638bba6858b73f316afe2cfef0}
+
+
+Set the cursor pos. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to be set. \item[{\em pos}]the pos to set. \end{DoxyParams}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-range\_\-delete@{evas\_\-textblock\_\-cursor\_\-range\_\-delete}}
+\index{evas\_\-textblock\_\-cursor\_\-range\_\-delete@{evas\_\-textblock\_\-cursor\_\-range\_\-delete}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-range\_\-delete}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-range\_\-delete (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur1, }
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur2}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga1b581bb089e3f335cde9f7e824e9e0d4}
+
+
+Delete the range between cur1 and cur2. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur1}]one side of the range. \item[{\em cur2}]the second side of the range \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-compare(), and evas\_\-textblock\_\-cursor\_\-copy().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-range\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-range\_\-geometry\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-range\_\-geometry\_\-get@{evas\_\-textblock\_\-cursor\_\-range\_\-geometry\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-range\_\-geometry\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-List$\ast$ evas\_\-textblock\_\-cursor\_\-range\_\-geometry\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur1, }
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur2}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga5c69a5636c96fec1835e58b361037bdc}
+
+
+Get the geometry of a range. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur1}]one side of the range. \item[{\em cur2}]other side of the range. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+a list of Rectangles representing the geometry of the range. 
+\end{DoxyReturn}
+
+
+References evas\_\-textblock\_\-cursor\_\-compare().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-range\_\-text\_\-get@{evas\_\-textblock\_\-cursor\_\-range\_\-text\_\-get}}
+\index{evas\_\-textblock\_\-cursor\_\-range\_\-text\_\-get@{evas\_\-textblock\_\-cursor\_\-range\_\-text\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-range\_\-text\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI char$\ast$ evas\_\-textblock\_\-cursor\_\-range\_\-text\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur1, }
+\item[{const Evas\_\-Textblock\_\-Cursor $\ast$}]{ \_\-cur2, }
+\item[{Evas\_\-Textblock\_\-Text\_\-Type format}]{ \_\-\_\-UNUSED\_\-\_\-}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga0ac2a1684a7def72b027d573f235c3c6}
+
+
+Return the text in the range between cur1 and cur2. 
+
+FIXME: format is currently unused, you always get markup back.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur1}]one side of the range. \item[{\em cur2}]the other side of the range \item[{\em format}]to be documented \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the text in the range 
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+elm\_\-entry\_\-markup\_\-to\_\-utf8() 
+\end{DoxySeeAlso}
+
+
+References evas\_\-textblock\_\-cursor\_\-compare(), and evas\_\-textblock\_\-cursor\_\-copy().
+
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-paragraph\_\-text\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-set\_\-at\_\-format@{evas\_\-textblock\_\-cursor\_\-set\_\-at\_\-format}}
+\index{evas\_\-textblock\_\-cursor\_\-set\_\-at\_\-format@{evas\_\-textblock\_\-cursor\_\-set\_\-at\_\-format}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-set\_\-at\_\-format}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-cursor\_\-set\_\-at\_\-format (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{const {\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$}]{ n}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga74682be12e8108f2956ab8b02f39d9ab}
+
+
+Sets the cursor to point to the place where format points to. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to update. \item[{\em n}]the format node to update according. \end{DoxyParams}
+
+
+Referenced by evas\_\-textblock\_\-node\_\-format\_\-remove\_\-pair().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-text\_\-append@{evas\_\-textblock\_\-cursor\_\-text\_\-append}}
+\index{evas\_\-textblock\_\-cursor\_\-text\_\-append@{evas\_\-textblock\_\-cursor\_\-text\_\-append}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-text\_\-append}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-textblock\_\-cursor\_\-text\_\-append (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{const char $\ast$}]{ \_\-text}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga674d0cf1c0273fa58f1f2b4007b0b455}
+
+
+Adds text to the current cursor position and set the cursor to $\ast$before$\ast$ the start of the text just added. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to where to add text at. \item[{\em \_\-text}]the text to add. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns the len of the text added. 
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Textblock_gacc79760e60e2aa49cb5c2aaa8bb73ba0}{evas\_\-textblock\_\-cursor\_\-text\_\-prepend()} 
+\end{DoxySeeAlso}
+
+
+References evas\_\-textblock\_\-cursor\_\-format\_\-is\_\-visible\_\-get().
+
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-text\_\-prepend().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-cursor\_\-text\_\-prepend@{evas\_\-textblock\_\-cursor\_\-text\_\-prepend}}
+\index{evas\_\-textblock\_\-cursor\_\-text\_\-prepend@{evas\_\-textblock\_\-cursor\_\-text\_\-prepend}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-cursor\_\-text\_\-prepend}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-textblock\_\-cursor\_\-text\_\-prepend (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Cursor $\ast$}]{ cur, }
+\item[{const char $\ast$}]{ \_\-text}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gacc79760e60e2aa49cb5c2aaa8bb73ba0}
+
+
+Adds text to the current cursor position and set the cursor to $\ast$after$\ast$ the start of the text just added. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em cur}]the cursor to where to add text at. \item[{\em \_\-text}]the text to add. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns the len of the text added. 
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Object__Textblock_ga674d0cf1c0273fa58f1f2b4007b0b455}{evas\_\-textblock\_\-cursor\_\-text\_\-append()} 
+\end{DoxySeeAlso}
+
+
+References evas\_\-textblock\_\-cursor\_\-text\_\-append().
+
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-format\_\-append().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-escape\_\-string\_\-get@{evas\_\-textblock\_\-escape\_\-string\_\-get}}
+\index{evas\_\-textblock\_\-escape\_\-string\_\-get@{evas\_\-textblock\_\-escape\_\-string\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-escape\_\-string\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-textblock\_\-escape\_\-string\_\-get (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{ escape}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gac165d57003e552fa6739158dc2ed73f5}
+
+
+Returns the unescaped version of escape. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em escape}]the string to be escaped \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the unescaped version of escape 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-escape\_\-string\_\-range\_\-get@{evas\_\-textblock\_\-escape\_\-string\_\-range\_\-get}}
+\index{evas\_\-textblock\_\-escape\_\-string\_\-range\_\-get@{evas\_\-textblock\_\-escape\_\-string\_\-range\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-escape\_\-string\_\-range\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-textblock\_\-escape\_\-string\_\-range\_\-get (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{ escape\_\-start, }
+\item[{const char $\ast$}]{ escape\_\-end}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga57940db29ffb910af130dd2100e48ff2}
+
+
+Return the unescaped version of the string between start and end. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em escape\_\-start}]the start of the string. \item[{\em escape\_\-end}]the end of the string. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the unescaped version of the range 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-node\_\-format\_\-first\_\-get@{evas\_\-textblock\_\-node\_\-format\_\-first\_\-get}}
+\index{evas\_\-textblock\_\-node\_\-format\_\-first\_\-get@{evas\_\-textblock\_\-node\_\-format\_\-first\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-node\_\-format\_\-first\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format}$\ast$ evas\_\-textblock\_\-node\_\-format\_\-first\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga56e9057e5845fe785710ba6c5d07ab3e}
+
+
+Returns the first format node. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The evas, must not be NULL. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns the first format node, may be null if there are none. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-node\_\-format\_\-last\_\-get@{evas\_\-textblock\_\-node\_\-format\_\-last\_\-get}}
+\index{evas\_\-textblock\_\-node\_\-format\_\-last\_\-get@{evas\_\-textblock\_\-node\_\-format\_\-last\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-node\_\-format\_\-last\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format}$\ast$ evas\_\-textblock\_\-node\_\-format\_\-last\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga091521044b95190c75c57ca1661bcc83}
+
+
+Returns the last format node. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The evas textblock, must not be NULL. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns the first format node, may be null if there are none. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-node\_\-format\_\-next\_\-get@{evas\_\-textblock\_\-node\_\-format\_\-next\_\-get}}
+\index{evas\_\-textblock\_\-node\_\-format\_\-next\_\-get@{evas\_\-textblock\_\-node\_\-format\_\-next\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-node\_\-format\_\-next\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format}$\ast$ evas\_\-textblock\_\-node\_\-format\_\-next\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$}]{ n}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga341e85b5bb0c9b2c82db4eb5a2432a9d}
+
+
+Returns the next format node (after n). 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em n}]the current format node -\/ not null. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns the next format node, may be null. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-node\_\-format\_\-prev\_\-get@{evas\_\-textblock\_\-node\_\-format\_\-prev\_\-get}}
+\index{evas\_\-textblock\_\-node\_\-format\_\-prev\_\-get@{evas\_\-textblock\_\-node\_\-format\_\-prev\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-node\_\-format\_\-prev\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format}$\ast$ evas\_\-textblock\_\-node\_\-format\_\-prev\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$}]{ n}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga8566bfff8ca71cc89cf704c9a082780c}
+
+
+Returns the prev format node (after n). 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em n}]the current format node -\/ not null. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns the prev format node, may be null. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-node\_\-format\_\-remove\_\-pair@{evas\_\-textblock\_\-node\_\-format\_\-remove\_\-pair}}
+\index{evas\_\-textblock\_\-node\_\-format\_\-remove\_\-pair@{evas\_\-textblock\_\-node\_\-format\_\-remove\_\-pair}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-node\_\-format\_\-remove\_\-pair}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-node\_\-format\_\-remove\_\-pair (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$}]{ n}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gab53e3b12b9332180ad6736100333eb71}
+
+
+Remove a format node and it's match. 
+
+i.e, removes a $<$tag$>$ $<$/tag$>$ pair. Assumes the node is the first part of $<$tag$>$ i.e, this won't work if n is a closing tag.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the evas object of the textblock -\/ not null. \item[{\em n}]the current format node -\/ not null. \end{DoxyParams}
+
+
+References evas\_\-textblock\_\-cursor\_\-set\_\-at\_\-format().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-node\_\-format\_\-text\_\-get@{evas\_\-textblock\_\-node\_\-format\_\-text\_\-get}}
+\index{evas\_\-textblock\_\-node\_\-format\_\-text\_\-get@{evas\_\-textblock\_\-node\_\-format\_\-text\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-node\_\-format\_\-text\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-textblock\_\-node\_\-format\_\-text\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object\_\-Textblock\_\-Node\_\-Format} $\ast$}]{ fmt}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gae386e3627175b7d20a14ad58ddd5aaa8}
+
+
+Get the text format representation of the format node. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em fmt}]the format node. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the textual format of the format node. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-textblock\_\-cursor\_\-content\_\-get().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-string\_\-escape\_\-get@{evas\_\-textblock\_\-string\_\-escape\_\-get}}
+\index{evas\_\-textblock\_\-string\_\-escape\_\-get@{evas\_\-textblock\_\-string\_\-escape\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-string\_\-escape\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-textblock\_\-string\_\-escape\_\-get (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{ string, }
+\item[{int $\ast$}]{ len\_\-ret}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga70b3680a8691c70bab39bd1c127424a5}
+
+
+Returns the escaped version of the string. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em string}]to escape \item[{\em len\_\-ret}]the len of the new escape \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the escaped string. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-style\_\-free@{evas\_\-textblock\_\-style\_\-free}}
+\index{evas\_\-textblock\_\-style\_\-free@{evas\_\-textblock\_\-style\_\-free}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-style\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-style\_\-free (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Style $\ast$}]{ ts}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gaf527de9ea652e4435a0eaa6cda09585f}
+
+
+Destroys a textblock style. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em ts}]The textblock style to free. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-textblock\_\-style\_\-set().
+
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-style\_\-get@{evas\_\-textblock\_\-style\_\-get}}
+\index{evas\_\-textblock\_\-style\_\-get@{evas\_\-textblock\_\-style\_\-get}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-style\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-textblock\_\-style\_\-get (
+\begin{DoxyParamCaption}
+\item[{const Evas\_\-Textblock\_\-Style $\ast$}]{ ts}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gae106e0cfb957f1916eb3833c1214394c}
+
+
+Return the text of the style ts. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em ts}]the style to get it's text. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the text of the style or null on error. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-style\_\-new@{evas\_\-textblock\_\-style\_\-new}}
+\index{evas\_\-textblock\_\-style\_\-new@{evas\_\-textblock\_\-style\_\-new}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-style\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Evas\_\-Textblock\_\-Style$\ast$ evas\_\-textblock\_\-style\_\-new (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_ga00cc8baec308c583ac801811dd381d4c}
+
+
+Creates a new textblock style. 
+
+\begin{DoxyReturn}{Returns}
+The new textblock style. 
+\end{DoxyReturn}
+\index{Evas\_\-Object\_\-Textblock@{Evas\_\-Object\_\-Textblock}!evas\_\-textblock\_\-style\_\-set@{evas\_\-textblock\_\-style\_\-set}}
+\index{evas\_\-textblock\_\-style\_\-set@{evas\_\-textblock\_\-style\_\-set}!Evas_Object_Textblock@{Evas\_\-Object\_\-Textblock}}
+\subsubsection[{evas\_\-textblock\_\-style\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-textblock\_\-style\_\-set (
+\begin{DoxyParamCaption}
+\item[{Evas\_\-Textblock\_\-Style $\ast$}]{ ts, }
+\item[{const char $\ast$}]{ text}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Object__Textblock_gac239e4649b0893284ea962a2183c3f14}
+
+
+Sets the style ts to the style passed as text by text. 
+
+Expected a string consisting of many (or none) tag='format' pairs.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em ts}]the style to set. \item[{\em text}]the text to parse -\/ NOT NULL. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns no value. 
+\end{DoxyReturn}
diff --git a/doc/latex/group__Evas__Output__Method.tex b/doc/latex/group__Evas__Output__Method.tex
new file mode 100644 (file)
index 0000000..b96a5e3
--- /dev/null
@@ -0,0 +1,251 @@
+\section{Render Engine Functions}
+\label{group__Evas__Output__Method}\index{Render Engine Functions@{Render Engine Functions}}
+
+
+Functions that are used to set the render engine for a given function, and then get that engine working.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Output__Method_gab6cca6c7a5edabef057790889d560b11}{evas\_\-output\_\-method\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int render\_\-method)
+\begin{DoxyCompactList}\small\item\em Sets the output engine for the given evas. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Output__Method_gac4127a10231f1851cc3443a84fb0b059}{evas\_\-output\_\-method\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Retrieves the number of the output engine used for the given evas. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{struct__Evas__Engine__Info}{Evas\_\-Engine\_\-Info} $\ast$ \hyperlink{group__Evas__Output__Method_ga882d5f9411b5556719bdf28a134ee713}{evas\_\-engine\_\-info\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Retrieves the current render engine info struct from the given evas. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Output__Method_gafeff04b89b4498eedf99c89e0a06e604}{evas\_\-engine\_\-info\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, \hyperlink{struct__Evas__Engine__Info}{Evas\_\-Engine\_\-Info} $\ast$info)
+\begin{DoxyCompactList}\small\item\em Applies the engine settings for the given evas from the given {\ttfamily Evas\_\-Engine\_\-Info} structure. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Output__Method_gad8a701a8d4a2acbb2ce4b741ae55ce6b}{evas\_\-render\_\-method\_\-lookup} (const char $\ast$name)
+\begin{DoxyCompactList}\small\item\em Look up a numeric ID from a string name of a rendering engine. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-List $\ast$ \hyperlink{group__Evas__Output__Method_ga23d8fc2c859f5dfcc9f50f441b96d285}{evas\_\-render\_\-method\_\-list} (void)
+\begin{DoxyCompactList}\small\item\em List all the rendering engines compiled into the copy of the Evas library. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Output__Method_gab7f4a90e3082364eca04b39d3c1c2693}{evas\_\-render\_\-method\_\-list\_\-free} (Eina\_\-List $\ast$list)
+\begin{DoxyCompactList}\small\item\em This function should be called to free a list of engine names. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that are used to set the render engine for a given function, and then get that engine working. The following code snippet shows how they can be used to initialise an evas that uses the X11 software engine: 
+\begin{DoxyCode}
+ Evas *evas;
+ Evas_Engine_Info_Software_X11 *einfo;
+ extern Display *display;
+ extern Window win;
+
+ evas_init();
+
+ evas = evas_new();
+ evas_output_method_set(evas, evas_render_method_lookup("software_x11"));
+ evas_output_size_set(evas, 640, 480);
+ evas_output_viewport_set(evas, 0, 0, 640, 480);
+ einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(evas);
+ einfo->info.display = display;
+ einfo->info.visual = DefaultVisual(display, DefaultScreen(display));
+ einfo->info.colormap = DefaultColormap(display, DefaultScreen(display));
+ einfo->info.drawable = win;
+ einfo->info.depth = DefaultDepth(display, DefaultScreen(display));
+ evas_engine_info_set(evas, (Evas_Engine_Info *)einfo);
+\end{DoxyCode}
+
+\subsection{Function Documentation}
+\index{Evas\_\-Output\_\-Method@{Evas\_\-Output\_\-Method}!evas\_\-engine\_\-info\_\-get@{evas\_\-engine\_\-info\_\-get}}
+\index{evas\_\-engine\_\-info\_\-get@{evas\_\-engine\_\-info\_\-get}!Evas_Output_Method@{Evas\_\-Output\_\-Method}}
+\subsubsection[{evas\_\-engine\_\-info\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Engine\_\-Info}$\ast$ evas\_\-engine\_\-info\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Method_ga882d5f9411b5556719bdf28a134ee713}
+
+
+Retrieves the current render engine info struct from the given evas. 
+
+The returned structure is publicly modifiable. The contents are valid until either \hyperlink{group__Evas__Output__Method_gafeff04b89b4498eedf99c89e0a06e604}{evas\_\-engine\_\-info\_\-set} or \hyperlink{group__Evas__Canvas_ga241869ebb085b8ab11ff6af26e1aeaaf}{evas\_\-render} are called.
+
+This structure does not need to be freed by the caller.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+A pointer to the Engine Info structure. {\ttfamily NULL} is returned if an engine has not yet been assigned. 
+\end{DoxyReturn}
+
+
+References \_\-Evas\_\-Engine\_\-Info::magic.
+
+\index{Evas\_\-Output\_\-Method@{Evas\_\-Output\_\-Method}!evas\_\-engine\_\-info\_\-set@{evas\_\-engine\_\-info\_\-set}}
+\index{evas\_\-engine\_\-info\_\-set@{evas\_\-engine\_\-info\_\-set}!Evas_Output_Method@{Evas\_\-Output\_\-Method}}
+\subsubsection[{evas\_\-engine\_\-info\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-engine\_\-info\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{{\bf Evas\_\-Engine\_\-Info} $\ast$}]{ info}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Method_gafeff04b89b4498eedf99c89e0a06e604}
+
+
+Applies the engine settings for the given evas from the given {\ttfamily Evas\_\-Engine\_\-Info} structure. 
+
+To get the Evas\_\-Engine\_\-Info structure to use, call \hyperlink{group__Evas__Output__Method_ga882d5f9411b5556719bdf28a134ee713}{evas\_\-engine\_\-info\_\-get} . Do not try to obtain a pointer to an {\ttfamily Evas\_\-Engine\_\-Info} structure in any other way.
+
+You will need to call this function at least once before you can create objects on an evas or render that evas. Some engines allow their settings to be changed more than once.
+
+Once called, the {\ttfamily info} pointer should be considered invalid.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas \item[{\em info}]The pointer to the Engine Info to use \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+1 if no error occurred, 0 otherwise 
+\end{DoxyReturn}
+
+
+References \_\-Evas\_\-Engine\_\-Info::magic.
+
+\index{Evas\_\-Output\_\-Method@{Evas\_\-Output\_\-Method}!evas\_\-output\_\-method\_\-get@{evas\_\-output\_\-method\_\-get}}
+\index{evas\_\-output\_\-method\_\-get@{evas\_\-output\_\-method\_\-get}!Evas_Output_Method@{Evas\_\-Output\_\-Method}}
+\subsubsection[{evas\_\-output\_\-method\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-output\_\-method\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Method_gac4127a10231f1851cc3443a84fb0b059}
+
+
+Retrieves the number of the output engine used for the given evas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The ID number of the output engine being used. {\ttfamily 0} is returned if there is an error. 
+\end{DoxyReturn}
+\index{Evas\_\-Output\_\-Method@{Evas\_\-Output\_\-Method}!evas\_\-output\_\-method\_\-set@{evas\_\-output\_\-method\_\-set}}
+\index{evas\_\-output\_\-method\_\-set@{evas\_\-output\_\-method\_\-set}!Evas_Output_Method@{Evas\_\-Output\_\-Method}}
+\subsubsection[{evas\_\-output\_\-method\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-output\_\-method\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ render\_\-method}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Method_gab6cca6c7a5edabef057790889d560b11}
+
+
+Sets the output engine for the given evas. 
+
+Once the output engine for an evas is set, any attempt to change it will be ignored. The value for {\ttfamily render\_\-method} can be found using \hyperlink{group__Evas__Output__Method_gad8a701a8d4a2acbb2ce4b741ae55ce6b}{evas\_\-render\_\-method\_\-lookup} .
+
+\begin{DoxyAttention}{Attention}
+it is mandatory that one calls \hyperlink{group__Evas__Group_ga939a904ec53bf80796a8ad763cbb4c3c}{evas\_\-init()} before setting the output method.
+\end{DoxyAttention}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \item[{\em render\_\-method}]The numeric engine value to use. \end{DoxyParams}
+\index{Evas\_\-Output\_\-Method@{Evas\_\-Output\_\-Method}!evas\_\-render\_\-method\_\-list@{evas\_\-render\_\-method\_\-list}}
+\index{evas\_\-render\_\-method\_\-list@{evas\_\-render\_\-method\_\-list}!Evas_Output_Method@{Evas\_\-Output\_\-Method}}
+\subsubsection[{evas\_\-render\_\-method\_\-list}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-List$\ast$ evas\_\-render\_\-method\_\-list (
+\begin{DoxyParamCaption}
+\item[{void}]{}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Method_ga23d8fc2c859f5dfcc9f50f441b96d285}
+
+
+List all the rendering engines compiled into the copy of the Evas library. 
+
+\begin{DoxyReturn}{Returns}
+A linked list whose data members are C strings of engine names
+\end{DoxyReturn}
+Calling this will return a handle (pointer) to an Evas linked list. Each node in the linked list will have the data pointer be a (char $\ast$) pointer to the string name of the rendering engine available. The strings should never be modified, neither should the list be modified. This list should be cleaned up as soon as the program no longer needs it using \hyperlink{group__Evas__Output__Method_gab7f4a90e3082364eca04b39d3c1c2693}{evas\_\-render\_\-method\_\-list\_\-free()}. If no engines are available from Evas, NULL will be returned.
+
+Example: 
+\begin{DoxyCode}
+ Eina_List *engine_list, *l;
+ char *engine_name;
+
+ engine_list = evas_render_method_list();
+ if (!engine_list)
+   {
+     fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n");
+     exit(-1);
+   }
+ printf("Availible Evas Engines:\n");
+ EINA_LIST_FOREACH(engine_list, l, engine_name)
+     printf("%s\n", engine_name);
+ evas_render_method_list_free(engine_list);
+\end{DoxyCode}
+ \index{Evas\_\-Output\_\-Method@{Evas\_\-Output\_\-Method}!evas\_\-render\_\-method\_\-list\_\-free@{evas\_\-render\_\-method\_\-list\_\-free}}
+\index{evas\_\-render\_\-method\_\-list\_\-free@{evas\_\-render\_\-method\_\-list\_\-free}!Evas_Output_Method@{Evas\_\-Output\_\-Method}}
+\subsubsection[{evas\_\-render\_\-method\_\-list\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-render\_\-method\_\-list\_\-free (
+\begin{DoxyParamCaption}
+\item[{Eina\_\-List $\ast$}]{ list}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Method_gab7f4a90e3082364eca04b39d3c1c2693}
+
+
+This function should be called to free a list of engine names. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em list}]The Eina\_\-List base pointer for the engine list to be freed\end{DoxyParams}
+When this function is called it will free the engine list passed in as {\ttfamily list}. The list should only be a list of engines generated by calling \hyperlink{group__Evas__Output__Method_ga23d8fc2c859f5dfcc9f50f441b96d285}{evas\_\-render\_\-method\_\-list()}. If {\ttfamily list} is NULL, nothing will happen.
+
+Example: 
+\begin{DoxyCode}
+ Eina_List *engine_list, *l;
+ char *engine_name;
+
+ engine_list = evas_render_method_list();
+ if (!engine_list)
+   {
+     fprintf(stderr, "ERROR: Evas supports no engines! Exit.\n");
+     exit(-1);
+   }
+ printf("Availible Evas Engines:\n");
+ EINA_LIST_FOREACH(engine_list, l, engine_name)
+     printf("%s\n", engine_name);
+ evas_render_method_list_free(engine_list);
+\end{DoxyCode}
+ \index{Evas\_\-Output\_\-Method@{Evas\_\-Output\_\-Method}!evas\_\-render\_\-method\_\-lookup@{evas\_\-render\_\-method\_\-lookup}}
+\index{evas\_\-render\_\-method\_\-lookup@{evas\_\-render\_\-method\_\-lookup}!Evas_Output_Method@{Evas\_\-Output\_\-Method}}
+\subsubsection[{evas\_\-render\_\-method\_\-lookup}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-render\_\-method\_\-lookup (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{ name}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Method_gad8a701a8d4a2acbb2ce4b741ae55ce6b}
+
+
+Look up a numeric ID from a string name of a rendering engine. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em name}]The string name of an engine \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+A numeric (opaque) ID for the rendering engine
+\end{DoxyReturn}
+This function looks up a numeric return value for the named engine in the string {\ttfamily name}. This is a normal C string, NUL byte terminated. The name is case sensitive. If the rendering engine is available, a numeric ID for that engine is returned that is not 0. If the engine is not available, 0 is returned, indicating an invalid engine.
+
+The programmer should NEVER rely on the numeric ID of an engine unless it is returned by this function. Programs should NOT be written accessing render method ID's directly, without first obtaining it from this function.
+
+\begin{DoxyAttention}{Attention}
+it is mandatory that one calls \hyperlink{group__Evas__Group_ga939a904ec53bf80796a8ad763cbb4c3c}{evas\_\-init()} before looking up the render method.
+\end{DoxyAttention}
+Example: 
+\begin{DoxyCode}
+ int engine_id;
+ Evas *evas;
+
+ evas_init();
+
+ evas = evas_new();
+ if (!evas)
+   {
+     fprintf(stderr, "ERROR: Canvas creation failed. Fatal error.\n");
+     exit(-1);
+   }
+ engine_id = evas_render_method_lookup("software_x11");
+ if (!engine_id)
+   {
+     fprintf(stderr, "ERROR: Requested rendering engine is absent.\n");
+     exit(-1);
+   }
+ evas_output_method_set(evas, engine_id);
+\end{DoxyCode}
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Output__Size.tex b/doc/latex/group__Evas__Output__Size.tex
new file mode 100644 (file)
index 0000000..3e71768
--- /dev/null
@@ -0,0 +1,114 @@
+\section{Output and Viewport Resizing Functions}
+\label{group__Evas__Output__Size}\index{Output and Viewport Resizing Functions@{Output and Viewport Resizing Functions}}
+
+
+Functions that set and retrieve the output and viewport size of an evas.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Output__Size_gaaf571f18f97f4067f554ab7713f01063}{evas\_\-output\_\-size\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int w, int h)
+\begin{DoxyCompactList}\small\item\em Sets the output size of the render engine of the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Output__Size_ga1f3497644d526ff5ded49b19c1ec732a}{evas\_\-output\_\-size\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int $\ast$w, int $\ast$h)
+\begin{DoxyCompactList}\small\item\em Retrieve the output size of the render engine of the given evas. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Output__Size_ga1d39edcaff429d884d4a70aa1fca0c08}{evas\_\-output\_\-viewport\_\-set} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord x, Evas\_\-Coord y, Evas\_\-Coord w, Evas\_\-Coord h)
+\begin{DoxyCompactList}\small\item\em Sets the output viewport of the given evas in evas units. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Output__Size_gab94e38ef64004f0ead8cd8f7a8f69fee}{evas\_\-output\_\-viewport\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord $\ast$x, Evas\_\-Coord $\ast$y, Evas\_\-Coord $\ast$w, Evas\_\-Coord $\ast$h)
+\begin{DoxyCompactList}\small\item\em Get the render engine's output viewport co-\/ordinates in canvas units. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that set and retrieve the output and viewport size of an evas. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Output\_\-Size@{Evas\_\-Output\_\-Size}!evas\_\-output\_\-size\_\-get@{evas\_\-output\_\-size\_\-get}}
+\index{evas\_\-output\_\-size\_\-get@{evas\_\-output\_\-size\_\-get}!Evas_Output_Size@{Evas\_\-Output\_\-Size}}
+\subsubsection[{evas\_\-output\_\-size\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-output\_\-size\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{int $\ast$}]{ w, }
+\item[{int $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Size_ga1f3497644d526ff5ded49b19c1ec732a}
+
+
+Retrieve the output size of the render engine of the given evas. 
+
+The output size is given in whatever the output units are for the engine.
+
+If either {\ttfamily w} or {\ttfamily h} is {\ttfamily NULL}, then it is ignored. If {\ttfamily e} is invalid, the returned results are undefined.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \item[{\em w}]The pointer to an integer to store the width in. \item[{\em h}]The pointer to an integer to store the height in. \end{DoxyParams}
+\index{Evas\_\-Output\_\-Size@{Evas\_\-Output\_\-Size}!evas\_\-output\_\-size\_\-set@{evas\_\-output\_\-size\_\-set}}
+\index{evas\_\-output\_\-size\_\-set@{evas\_\-output\_\-size\_\-set}!Evas_Output_Size@{Evas\_\-Output\_\-Size}}
+\subsubsection[{evas\_\-output\_\-size\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-output\_\-size\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{int}]{ w, }
+\item[{int}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Size_gaaf571f18f97f4067f554ab7713f01063}
+
+
+Sets the output size of the render engine of the given evas. 
+
+The evas will render to a rectangle of the given size once this function is called. The output size is independent of the viewport size. The viewport will be stretched to fill the given rectangle.
+
+The units used for {\ttfamily w} and {\ttfamily h} depend on the engine used by the evas.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \item[{\em w}]The width in output units, usually pixels. \item[{\em h}]The height in output units, usually pixels. \end{DoxyParams}
+\index{Evas\_\-Output\_\-Size@{Evas\_\-Output\_\-Size}!evas\_\-output\_\-viewport\_\-get@{evas\_\-output\_\-viewport\_\-get}}
+\index{evas\_\-output\_\-viewport\_\-get@{evas\_\-output\_\-viewport\_\-get}!Evas_Output_Size@{Evas\_\-Output\_\-Size}}
+\subsubsection[{evas\_\-output\_\-viewport\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-output\_\-viewport\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Coord $\ast$}]{ x, }
+\item[{Evas\_\-Coord $\ast$}]{ y, }
+\item[{Evas\_\-Coord $\ast$}]{ w, }
+\item[{Evas\_\-Coord $\ast$}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Size_gab94e38ef64004f0ead8cd8f7a8f69fee}
+
+
+Get the render engine's output viewport co-\/ordinates in canvas units. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas \item[{\em x}]The pointer to a x variable to be filled in \item[{\em y}]The pointer to a y variable to be filled in \item[{\em w}]The pointer to a width variable to be filled in \item[{\em h}]The pointer to a height variable to be filled in\end{DoxyParams}
+Calling this function writes the current canvas output viewport size and location values into the variables pointed to by {\ttfamily x}, {\ttfamily y}, {\ttfamily w} and {\ttfamily h}. On success the variables have the output location and size values written to them in canvas units. Any of {\ttfamily x}, {\ttfamily y}, {\ttfamily w} or {\ttfamily h} that are NULL will not be written to. If {\ttfamily e} is invalid, the results are undefined.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+ Evas_Coord x, y, width, height;
+
+ evas_output_viewport_get(evas, &x, &y, &w, &h);
+\end{DoxyCode}
+ \index{Evas\_\-Output\_\-Size@{Evas\_\-Output\_\-Size}!evas\_\-output\_\-viewport\_\-set@{evas\_\-output\_\-viewport\_\-set}}
+\index{evas\_\-output\_\-viewport\_\-set@{evas\_\-output\_\-viewport\_\-set}!Evas_Output_Size@{Evas\_\-Output\_\-Size}}
+\subsubsection[{evas\_\-output\_\-viewport\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-output\_\-viewport\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Coord}]{ x, }
+\item[{Evas\_\-Coord}]{ y, }
+\item[{Evas\_\-Coord}]{ w, }
+\item[{Evas\_\-Coord}]{ h}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Output__Size_ga1d39edcaff429d884d4a70aa1fca0c08}
+
+
+Sets the output viewport of the given evas in evas units. 
+
+The output viewport is the area of the evas that will be visible to the viewer. The viewport will be stretched to fit the output target of the evas when rendering is performed.
+
+\begin{DoxyNote}{Note}
+The coordinate values do not have to map 1-\/to-\/1 with the output target. However, it is generally advised that it is done for ease of use.
+\end{DoxyNote}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The given evas. \item[{\em x}]The top-\/left corner x value of the viewport. \item[{\em y}]The top-\/left corner y value of the viewport. \item[{\em w}]The width of the viewport. Must be greater than 0. \item[{\em h}]The height of the viewport. Must be greater than 0. \end{DoxyParams}
diff --git a/doc/latex/group__Evas__Pointer__Group.tex b/doc/latex/group__Evas__Pointer__Group.tex
new file mode 100644 (file)
index 0000000..d68be57
--- /dev/null
@@ -0,0 +1,146 @@
+\section{Pointer (Mouse) Functions}
+\label{group__Evas__Pointer__Group}\index{Pointer (Mouse) Functions@{Pointer (Mouse) Functions}}
+
+
+Functions that deal with the status of the pointer (mouse cursor).  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Pointer__Group_gad8e78aded475fe26ea14b7410f510a98}{evas\_\-pointer\_\-output\_\-xy\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, int $\ast$x, int $\ast$y)
+\begin{DoxyCompactList}\small\item\em This function returns the current known pointer co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Pointer__Group_ga2f7bf87c9b1268e68c85d4bb8b9e4b15}{evas\_\-pointer\_\-canvas\_\-xy\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, Evas\_\-Coord $\ast$x, Evas\_\-Coord $\ast$y)
+\begin{DoxyCompactList}\small\item\em This function returns the current known pointer co-\/ordinates. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Pointer__Group_gaae658f627d7f31b051345e45377c3580}{evas\_\-pointer\_\-button\_\-down\_\-mask\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Returns a bitmask with the mouse buttons currently pressed, set to 1. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Pointer__Group_ga39a1840fd43442c20f321437bd5f427a}{evas\_\-pointer\_\-inside\_\-get} (const \hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Returns whether the mouse pointer is logically inside the canvas. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with the status of the pointer (mouse cursor). 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Pointer\_\-Group@{Evas\_\-Pointer\_\-Group}!evas\_\-pointer\_\-button\_\-down\_\-mask\_\-get@{evas\_\-pointer\_\-button\_\-down\_\-mask\_\-get}}
+\index{evas\_\-pointer\_\-button\_\-down\_\-mask\_\-get@{evas\_\-pointer\_\-button\_\-down\_\-mask\_\-get}!Evas_Pointer_Group@{Evas\_\-Pointer\_\-Group}}
+\subsubsection[{evas\_\-pointer\_\-button\_\-down\_\-mask\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-pointer\_\-button\_\-down\_\-mask\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Pointer__Group_gaae658f627d7f31b051345e45377c3580}
+
+
+Returns a bitmask with the mouse buttons currently pressed, set to 1. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+A bitmask of the currently depressed buttons on the cavas
+\end{DoxyReturn}
+Calling this function will return a 32-\/bit integer with the appropriate bits set to 1 that correspond to a mouse button being depressed. This limits Evas to a mouse devices with a maximum of 32 buttons, but that is generally in excess of any host system's pointing device abilities.
+
+A canvas by default begins with no mouse buttons being pressed and only calls to \hyperlink{group__Evas__Event__Feeding__Group_ga5c9811b87406a96ff573b83d1efd52f2}{evas\_\-event\_\-feed\_\-mouse\_\-down()}, evas\_\-event\_\-feed\_\-mouse\_\-down\_\-data(), \hyperlink{group__Evas__Event__Feeding__Group_gacb400569d04ecfd2b89eb0f39856581c}{evas\_\-event\_\-feed\_\-mouse\_\-up()} and evas\_\-event\_\-feed\_\-mouse\_\-up\_\-data() will alter that.
+
+The least significant bit corresponds to the first mouse button (button 1) and the most significant bit corresponds to the last mouse button (button 32).
+
+If {\ttfamily e} is not a valid canvas, the return value is undefined.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+ int button_mask, i;
+
+ button_mask = evas_pointer_button_down_mask_get(evas);
+ printf("Buttons currently pressed:\n");
+ for (i = 0; i < 32; i++)
+   {
+     if ((button_mask & (1 << i)) != 0) printf("Button %i\n", i + 1);
+   }
+\end{DoxyCode}
+ \index{Evas\_\-Pointer\_\-Group@{Evas\_\-Pointer\_\-Group}!evas\_\-pointer\_\-canvas\_\-xy\_\-get@{evas\_\-pointer\_\-canvas\_\-xy\_\-get}}
+\index{evas\_\-pointer\_\-canvas\_\-xy\_\-get@{evas\_\-pointer\_\-canvas\_\-xy\_\-get}!Evas_Pointer_Group@{Evas\_\-Pointer\_\-Group}}
+\subsubsection[{evas\_\-pointer\_\-canvas\_\-xy\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-pointer\_\-canvas\_\-xy\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{Evas\_\-Coord $\ast$}]{ x, }
+\item[{Evas\_\-Coord $\ast$}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Pointer__Group_ga2f7bf87c9b1268e68c85d4bb8b9e4b15}
+
+
+This function returns the current known pointer co-\/ordinates. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas \item[{\em x}]The pointer to a Evas\_\-Coord to be filled in \item[{\em y}]The pointer to a Evas\_\-Coord to be filled in\end{DoxyParams}
+This function returns the current known canvas unit co-\/ordinates of the mouse pointer and sets the contents of the Evas\_\-Coords pointed to by {\ttfamily x} and {\ttfamily y} to contain these co-\/ordinates. If {\ttfamily e} is not a valid canvas the results of this function are undefined.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+ Evas_Coord mouse_x, mouse_y;
+
+ evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y);
+ printf("Mouse is at canvas position %f, %f\n", mouse_x, mouse_y);
+\end{DoxyCode}
+ \index{Evas\_\-Pointer\_\-Group@{Evas\_\-Pointer\_\-Group}!evas\_\-pointer\_\-inside\_\-get@{evas\_\-pointer\_\-inside\_\-get}}
+\index{evas\_\-pointer\_\-inside\_\-get@{evas\_\-pointer\_\-inside\_\-get}!Evas_Pointer_Group@{Evas\_\-Pointer\_\-Group}}
+\subsubsection[{evas\_\-pointer\_\-inside\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-pointer\_\-inside\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Pointer__Group_ga39a1840fd43442c20f321437bd5f427a}
+
+
+Returns whether the mouse pointer is logically inside the canvas. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+An integer that is 1 if the mouse is inside the canvas, 0 otherwise
+\end{DoxyReturn}
+When this function is called it will return a value of either 0 or 1, depending on if \hyperlink{group__Evas__Event__Feeding__Group_gac9c7fada70cfee1f8124ab5446cc59ed}{evas\_\-event\_\-feed\_\-mouse\_\-in()}, evas\_\-event\_\-feed\_\-mouse\_\-in\_\-data(), or \hyperlink{group__Evas__Event__Feeding__Group_ga64f5f2d26a018f4e6154b91251e6bb13}{evas\_\-event\_\-feed\_\-mouse\_\-out()}, evas\_\-event\_\-feed\_\-mouse\_\-out\_\-data() have been called to feed in a mouse enter event into the canvas.
+
+A return value of 1 indicates the mouse is logically inside the canvas, and 0 implies it is logically outside the canvas.
+
+A canvas begins with the mouse being assumed outside (0).
+
+If {\ttfamily e} is not a valid canvas, the return value is undefined.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+
+ if (evas_pointer_inside_get(evas)) printf("Mouse is in!\n");
+ else printf("Mouse is out!\n");
+\end{DoxyCode}
+ \index{Evas\_\-Pointer\_\-Group@{Evas\_\-Pointer\_\-Group}!evas\_\-pointer\_\-output\_\-xy\_\-get@{evas\_\-pointer\_\-output\_\-xy\_\-get}}
+\index{evas\_\-pointer\_\-output\_\-xy\_\-get@{evas\_\-pointer\_\-output\_\-xy\_\-get}!Evas_Pointer_Group@{Evas\_\-Pointer\_\-Group}}
+\subsubsection[{evas\_\-pointer\_\-output\_\-xy\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-pointer\_\-output\_\-xy\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas} $\ast$}]{ e, }
+\item[{int $\ast$}]{ x, }
+\item[{int $\ast$}]{ y}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Pointer__Group_gad8e78aded475fe26ea14b7410f510a98}
+
+
+This function returns the current known pointer co-\/ordinates. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The pointer to the Evas Canvas \item[{\em x}]The pointer to an integer to be filled in \item[{\em y}]The pointer to an integer to be filled in\end{DoxyParams}
+This function returns the current known screen/output co-\/ordinates of the mouse pointer and sets the contents of the integers pointed to by {\ttfamily x} and {\ttfamily y} to contain these co-\/ordinates. If {\ttfamily e} is not a valid canvas the results of this function are undefined.
+
+Example: 
+\begin{DoxyCode}
+ extern Evas *evas;
+ int mouse_x, mouse_y;
+
+ evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y);
+ printf("Mouse is at screen position %i, %i\n", mouse_x, mouse_y);
+\end{DoxyCode}
\ No newline at end of file
diff --git a/doc/latex/group__Evas__Smart__Group.tex b/doc/latex/group__Evas__Smart__Group.tex
new file mode 100644 (file)
index 0000000..de41751
--- /dev/null
@@ -0,0 +1,432 @@
+\section{Smart Functions}
+\label{group__Evas__Smart__Group}\index{Smart Functions@{Smart Functions}}
+
+
+Functions that deal with Evas\_\-Smart's, creating definition (classes) of objects that will have customized behavior for methods like \hyperlink{group__Evas__Object__Group__Basic_ga78fa8858c51707f1a557b720014b71cc}{evas\_\-object\_\-move()}, \hyperlink{group__Evas__Object__Group__Basic_ga34df8b33704deafd2a25f40e3c09d149}{evas\_\-object\_\-resize()}, \hyperlink{group__Evas__Object__Group__Basic_ga19eabaaeec1ea375366e201f533f3d56}{evas\_\-object\_\-clip\_\-set()} and others.  
+
+
+\subsection*{Data Structures}
+\begin{DoxyCompactItemize}
+\item 
+struct \hyperlink{struct__Evas__Smart__Class}{\_\-Evas\_\-Smart\_\-Class}
+\begin{DoxyCompactList}\small\item\em a smart object class \item\end{DoxyCompactList}\item 
+struct \hyperlink{struct__Evas__Smart__Cb__Description}{\_\-Evas\_\-Smart\_\-Cb\_\-Description}
+\begin{DoxyCompactList}\small\item\em Describes a callback used by a smart class \hyperlink{group__Evas__Smart__Object__Group_ga17bbe660f5bf9d8997913b08882f6f9e}{evas\_\-object\_\-smart\_\-callback\_\-call()}, particularly useful to explain to user and its code (ie: introspection) what the parameter {\ttfamily event\_\-info} will contain. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Defines}
+\begin{DoxyCompactItemize}
+\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga1ca1514302a47188c921b232d6ce42db}{EVAS\_\-SMART\_\-CLASS\_\-VERSION}~4\label{group__Evas__Smart__Group_ga1ca1514302a47188c921b232d6ce42db}
+
+\begin{DoxyCompactList}\small\item\em The version you have to put into the version field in the smart class struct. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga223f5d420c1e22275cd6490cd77c85f0}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL}~\{NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Smart\_\-Class structure. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_gaaa610a135c79167162405b56cffe8562}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION}~\{NULL, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set version. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_gaff2bbd5bb79e51ad8d31f98106caff77}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION}(name)~\{name, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set name and version. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga653b7bf36c2c87bd38d8126e11a4671d}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT}(name, parent)~\{name, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set name, version and parent class. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga5ebe1775142621cc3b75a3c57085ec83}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS}(name, parent, callbacks)~\{name, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL\}
+\begin{DoxyCompactList}\small\item\em Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set name, version, parent class and callbacks definition. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga58dc94af6f064b39b2bf0155908fbe52}{EVAS\_\-SMART\_\-SUBCLASS\_\-NEW}(smart\_\-name, prefix, api\_\-type, parent\_\-type, parent\_\-func, cb\_\-desc)
+\begin{DoxyCompactList}\small\item\em Convenience macro to subclass a Smart Class. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga4aa4b72aafa0391144fb0171aeff2ccd}{EVAS\_\-SMART\_\-DATA\_\-ALLOC}(o, priv\_\-type)
+\begin{DoxyCompactList}\small\item\em Convenience macro to allocate smart data only if needed. \item\end{DoxyCompactList}\item 
+\#define \hyperlink{group__Evas__Smart__Group_ga6888875280ccf11f026e09c890650c95}{evas\_\-smart\_\-class\_\-inherit}(sc, parent\_\-sc)~evas\_\-smart\_\-class\_\-inherit\_\-full(sc, parent\_\-sc, sizeof($\ast$parent\_\-sc))
+\begin{DoxyCompactList}\small\item\em Easy to use version of \hyperlink{group__Evas__Smart__Group_ga21f5af32f724500c3380906d166fc49f}{evas\_\-smart\_\-class\_\-inherit\_\-full()}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Typedefs}
+\begin{DoxyCompactItemize}
+\item 
+typedef struct \hyperlink{struct__Evas__Smart__Class}{\_\-Evas\_\-Smart\_\-Class} \hyperlink{group__Evas__Smart__Group_gaea15f67e901bf5380cdb67dc1bb43391}{Evas\_\-Smart\_\-Class}\label{group__Evas__Smart__Group_gaea15f67e901bf5380cdb67dc1bb43391}
+
+\begin{DoxyCompactList}\small\item\em A smart object base class. \item\end{DoxyCompactList}\item 
+typedef struct \hyperlink{struct__Evas__Smart__Cb__Description}{\_\-Evas\_\-Smart\_\-Cb\_\-Description} \hyperlink{group__Evas__Smart__Group_ga0ad0e7d482d7660e756e275d355e3634}{Evas\_\-Smart\_\-Cb\_\-Description}\label{group__Evas__Smart__Group_ga0ad0e7d482d7660e756e275d355e3634}
+
+\begin{DoxyCompactList}\small\item\em A smart object callback description, used to provide introspection. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Smart__Group_ga3501ae449533ae15eee9cbf65811cad2}{evas\_\-smart\_\-free} (\hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$s)
+\begin{DoxyCompactList}\small\item\em Free an Evas\_\-Smart. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$ \hyperlink{group__Evas__Smart__Group_ga25a97a07a32a460c8c2d55916481dd1a}{evas\_\-smart\_\-class\_\-new} (const \hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$sc)
+\begin{DoxyCompactList}\small\item\em Creates an Evas\_\-Smart from an Evas\_\-Smart\_\-Class. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$ \hyperlink{group__Evas__Smart__Group_gac41799a0e334d515fa8e07313b88c611}{evas\_\-smart\_\-class\_\-get} (const \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$s)
+\begin{DoxyCompactList}\small\item\em Get the Evas\_\-Smart\_\-Class of an Evas\_\-Smart. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Smart__Group_gaa88f3f98a71031573b8dfc4bfeac2f64}{evas\_\-smart\_\-data\_\-get} (const \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$s)
+\begin{DoxyCompactList}\small\item\em Get the data pointer set on an Evas\_\-Smart. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{struct__Evas__Smart__Cb__Description}{Evas\_\-Smart\_\-Cb\_\-Description} $\ast$$\ast$ \hyperlink{group__Evas__Smart__Group_ga67ca7d389fd32a2dc4d7d6e29430d900}{evas\_\-smart\_\-callbacks\_\-descriptions\_\-get} (const \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$s, unsigned int $\ast$count)
+\begin{DoxyCompactList}\small\item\em Get the callbacks known by this Evas\_\-Smart. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{struct__Evas__Smart__Cb__Description}{Evas\_\-Smart\_\-Cb\_\-Description} $\ast$ \hyperlink{group__Evas__Smart__Group_ga5532335a315b4c84ab914afbbe771363}{evas\_\-smart\_\-callback\_\-description\_\-find} (const \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$s, const char $\ast$name)
+\begin{DoxyCompactList}\small\item\em Find callback description for callback called {\itshape name\/}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Smart__Group_ga21f5af32f724500c3380906d166fc49f}{evas\_\-smart\_\-class\_\-inherit\_\-full} (\hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$sc, const \hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$parent\_\-sc, unsigned int parent\_\-sc\_\-size)
+\begin{DoxyCompactList}\small\item\em Sets one class to inherit from the other. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions that deal with Evas\_\-Smart's, creating definition (classes) of objects that will have customized behavior for methods like \hyperlink{group__Evas__Object__Group__Basic_ga78fa8858c51707f1a557b720014b71cc}{evas\_\-object\_\-move()}, \hyperlink{group__Evas__Object__Group__Basic_ga34df8b33704deafd2a25f40e3c09d149}{evas\_\-object\_\-resize()}, \hyperlink{group__Evas__Object__Group__Basic_ga19eabaaeec1ea375366e201f533f3d56}{evas\_\-object\_\-clip\_\-set()} and others. These objects will accept the generic methods defined in \hyperlink{group__Evas__Object__Group}{Generic Object Functions} and the extensions defined in \hyperlink{group__Evas__Smart__Object__Group}{Smart Object Functions}. There are couple of existent smart objects in Evas itself, see \hyperlink{group__Evas__Object__Box}{Box (Sequence) Smart Object.}, \hyperlink{group__Evas__Object__Table}{Table Smart Object.} and \hyperlink{group__Evas__Smart__Object__Clipped}{Clipped Smart Object}. 
+
+\subsection{Define Documentation}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!evas\_\-smart\_\-class\_\-inherit@{evas\_\-smart\_\-class\_\-inherit}}
+\index{evas\_\-smart\_\-class\_\-inherit@{evas\_\-smart\_\-class\_\-inherit}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{evas\_\-smart\_\-class\_\-inherit}]{\setlength{\rightskip}{0pt plus 5cm}\#define evas\_\-smart\_\-class\_\-inherit(
+\begin{DoxyParamCaption}
+\item[{}]{sc, }
+\item[{}]{parent\_\-sc}
+\end{DoxyParamCaption}
+)~evas\_\-smart\_\-class\_\-inherit\_\-full(sc, parent\_\-sc, sizeof($\ast$parent\_\-sc))}\label{group__Evas__Smart__Group_ga6888875280ccf11f026e09c890650c95}
+
+
+Easy to use version of \hyperlink{group__Evas__Smart__Group_ga21f5af32f724500c3380906d166fc49f}{evas\_\-smart\_\-class\_\-inherit\_\-full()}. 
+
+This version will use sizeof(parent\_\-sc), copying everything.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em sc}]child class, will have methods copied from {\itshape parent\_\-sc\/} \item[{\em parent\_\-sc}]parent class, will provide contents to be copied. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+1 on success, 0 on failure. 
+\end{DoxyReturn}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION@{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION}}
+\index{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION@{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION(
+\begin{DoxyParamCaption}
+\item[{}]{name}
+\end{DoxyParamCaption}
+)~\{name, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}}\label{group__Evas__Smart__Group_gaff2bbd5bb79e51ad8d31f98106caff77}
+
+
+Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set name and version. 
+
+Similar to EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL, but will set version field to latest EVAS\_\-SMART\_\-CLASS\_\-VERSION and name to the specified value.
+
+It will keep a reference to name field as a \char`\"{}const char $\ast$\char`\"{}, that is, name must be available while the structure is used (hint: static or global!) and will not be modified.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Group_ga223f5d420c1e22275cd6490cd77c85f0}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL} 
+
+\hyperlink{group__Evas__Smart__Group_gaaa610a135c79167162405b56cffe8562}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION} 
+
+\hyperlink{group__Evas__Smart__Group_ga653b7bf36c2c87bd38d8126e11a4671d}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT} 
+
+\hyperlink{group__Evas__Smart__Group_ga5ebe1775142621cc3b75a3c57085ec83}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS} 
+\end{DoxySeeAlso}
+
+
+Referenced by evas\_\-object\_\-smart\_\-clipped\_\-class\_\-get().
+
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT@{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT}}
+\index{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT@{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT(
+\begin{DoxyParamCaption}
+\item[{}]{name, }
+\item[{}]{parent}
+\end{DoxyParamCaption}
+)~\{name, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL\}}\label{group__Evas__Smart__Group_ga653b7bf36c2c87bd38d8126e11a4671d}
+
+
+Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set name, version and parent class. 
+
+Similar to EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL, but will set version field to latest EVAS\_\-SMART\_\-CLASS\_\-VERSION, name to the specified value and parent class.
+
+It will keep a reference to name field as a \char`\"{}const char $\ast$\char`\"{}, that is, name must be available while the structure is used (hint: static or global!) and will not be modified. Similarly, parent reference will be kept.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Group_ga223f5d420c1e22275cd6490cd77c85f0}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL} 
+
+\hyperlink{group__Evas__Smart__Group_gaaa610a135c79167162405b56cffe8562}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION} 
+
+\hyperlink{group__Evas__Smart__Group_gaff2bbd5bb79e51ad8d31f98106caff77}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION} 
+
+\hyperlink{group__Evas__Smart__Group_ga5ebe1775142621cc3b75a3c57085ec83}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS} 
+\end{DoxySeeAlso}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS@{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS}}
+\index{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS@{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS(
+\begin{DoxyParamCaption}
+\item[{}]{name, }
+\item[{}]{parent, }
+\item[{}]{callbacks}
+\end{DoxyParamCaption}
+)~\{name, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL\}}\label{group__Evas__Smart__Group_ga5ebe1775142621cc3b75a3c57085ec83}
+
+
+Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set name, version, parent class and callbacks definition. 
+
+Similar to EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL, but will set version field to latest EVAS\_\-SMART\_\-CLASS\_\-VERSION, name to the specified value, parent class and callbacks at this level.
+
+It will keep a reference to name field as a \char`\"{}const char $\ast$\char`\"{}, that is, name must be available while the structure is used (hint: static or global!) and will not be modified. Similarly, parent and callbacks reference will be kept.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Group_ga223f5d420c1e22275cd6490cd77c85f0}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL} 
+
+\hyperlink{group__Evas__Smart__Group_gaaa610a135c79167162405b56cffe8562}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION} 
+
+\hyperlink{group__Evas__Smart__Group_gaff2bbd5bb79e51ad8d31f98106caff77}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION} 
+
+\hyperlink{group__Evas__Smart__Group_ga653b7bf36c2c87bd38d8126e11a4671d}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT} 
+\end{DoxySeeAlso}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL@{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL}}
+\index{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL@{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL~\{NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}}\label{group__Evas__Smart__Group_ga223f5d420c1e22275cd6490cd77c85f0}
+
+
+Initializer to zero a whole Evas\_\-Smart\_\-Class structure. 
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Group_gaaa610a135c79167162405b56cffe8562}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION} 
+
+\hyperlink{group__Evas__Smart__Group_gaff2bbd5bb79e51ad8d31f98106caff77}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION} 
+
+\hyperlink{group__Evas__Smart__Group_ga653b7bf36c2c87bd38d8126e11a4671d}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT} 
+
+\hyperlink{group__Evas__Smart__Group_ga5ebe1775142621cc3b75a3c57085ec83}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS} 
+\end{DoxySeeAlso}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION@{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION}}
+\index{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION@{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-VERSION~\{NULL, EVAS\_\-SMART\_\-CLASS\_\-VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL\}}\label{group__Evas__Smart__Group_gaaa610a135c79167162405b56cffe8562}
+
+
+Initializer to zero a whole Evas\_\-Smart\_\-Class structure and set version. 
+
+Similar to EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL, but will set version field to latest EVAS\_\-SMART\_\-CLASS\_\-VERSION.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Group_ga223f5d420c1e22275cd6490cd77c85f0}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NULL} 
+
+\hyperlink{group__Evas__Smart__Group_gaff2bbd5bb79e51ad8d31f98106caff77}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION} 
+
+\hyperlink{group__Evas__Smart__Group_ga653b7bf36c2c87bd38d8126e11a4671d}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT} 
+
+\hyperlink{group__Evas__Smart__Group_ga5ebe1775142621cc3b75a3c57085ec83}{EVAS\_\-SMART\_\-CLASS\_\-INIT\_\-NAME\_\-VERSION\_\-PARENT\_\-CALLBACKS} 
+\end{DoxySeeAlso}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!EVAS\_\-SMART\_\-DATA\_\-ALLOC@{EVAS\_\-SMART\_\-DATA\_\-ALLOC}}
+\index{EVAS\_\-SMART\_\-DATA\_\-ALLOC@{EVAS\_\-SMART\_\-DATA\_\-ALLOC}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{EVAS\_\-SMART\_\-DATA\_\-ALLOC}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-SMART\_\-DATA\_\-ALLOC(
+\begin{DoxyParamCaption}
+\item[{}]{o, }
+\item[{}]{priv\_\-type}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Group_ga4aa4b72aafa0391144fb0171aeff2ccd}
+{\bfseries Value:}
+\begin{DoxyCode}
+priv_type *priv; \
+   priv = evas_object_smart_data_get(o); \
+   if (!priv) { \
+      priv = (priv_type *)calloc(1, sizeof(priv_type)); \
+      if (!priv) return; \
+      evas_object_smart_data_set(o, priv); \
+   }
+\end{DoxyCode}
+
+
+Convenience macro to allocate smart data only if needed. 
+
+When writing a subclassable smart object, the .add function will need to check if the smart private data was already allocated by some child object or not. This macro makes it easier to do it.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em o}]Evas object passed to the .add function \item[{\em priv\_\-type}]The type of the data to allocate \end{DoxyParams}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!EVAS\_\-SMART\_\-SUBCLASS\_\-NEW@{EVAS\_\-SMART\_\-SUBCLASS\_\-NEW}}
+\index{EVAS\_\-SMART\_\-SUBCLASS\_\-NEW@{EVAS\_\-SMART\_\-SUBCLASS\_\-NEW}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{EVAS\_\-SMART\_\-SUBCLASS\_\-NEW}]{\setlength{\rightskip}{0pt plus 5cm}\#define EVAS\_\-SMART\_\-SUBCLASS\_\-NEW(
+\begin{DoxyParamCaption}
+\item[{}]{smart\_\-name, }
+\item[{}]{prefix, }
+\item[{}]{api\_\-type, }
+\item[{}]{parent\_\-type, }
+\item[{}]{parent\_\-func, }
+\item[{}]{cb\_\-desc}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Group_ga58dc94af6f064b39b2bf0155908fbe52}
+{\bfseries Value:}
+\begin{DoxyCode}
+static const parent_type * prefix##_parent_sc = NULL;                   \
+  static void prefix##_smart_set_user(api_type *api);                   \
+  static void prefix##_smart_set(api_type *api)                         \
+  {                                                                     \
+     Evas_Smart_Class *sc;                                              \
+     if (!(sc = (Evas_Smart_Class *)api))                               \
+       return;                                                          \
+     if (!prefix##_parent_sc)                                           \
+       prefix##_parent_sc = parent_func();                              \
+     evas_smart_class_inherit(sc, (const Evas_Smart_Class *)prefix##_parent_sc); 
+      \
+     prefix##_smart_set_user(api);                                      \
+  }                                                                     \
+  static Evas_Smart * prefix##_smart_class_new(void)                    \
+  {                                                                     \
+     static Evas_Smart *smart = NULL;                                   \
+     static api_type api;                                               \
+     if (!smart)                                                        \
+       {                                                                \
+          Evas_Smart_Class *sc = (Evas_Smart_Class *)&api;              \
+          memset(&api, 0, sizeof(api_type));                            \
+          sc->version = EVAS_SMART_CLASS_VERSION;                       \
+          sc->name = smart_name;                                        \
+          sc->callbacks = cb_desc;                                      \
+          prefix##_smart_set(&api);                                     \
+          smart = evas_smart_class_new(sc);                             \
+       }                                                                \
+     return smart;                                                      \
+  }
+\end{DoxyCode}
+
+
+Convenience macro to subclass a Smart Class. 
+
+This macro saves some typing when writing a Smart Class derived from another one. In order to work, the user needs to provide some functions adhering to the following guidelines.
+\begin{DoxyItemize}
+\item $<$prefix$>$\_\-smart\_\-set\_\-user(): the internal \_\-smart\_\-set function will call this one provided by the user after inheriting everything from the parent, which should take care of setting the right member functions for the class.
+\item $<$prefix$>$\_\-parent\_\-sc: pointer to the smart class of the parent. When calling parent functions from overloaded ones, use this global variable.
+\item $<$prefix$>$\_\-smart\_\-class\_\-new(): this function returns the Evas\_\-Smart needed to create smart objects with this class, should be called by the public \_\-add() function.
+\item If this new class should be subclassable as well, a public \_\-smart\_\-set() function is desirable to fill the class used as parent by the children. It's up to the user to provide this interface, which will most likely call $<$prefix$>$\_\-smart\_\-set() to get the job done.
+\end{DoxyItemize}
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em smart\_\-name}]The name used for the Smart Class. e.g: \char`\"{}Evas\_\-Object\_\-Box\char`\"{}. \item[{\em prefix}]Prefix used for all variables and functions defined. \item[{\em api\_\-type}]Type of the structure used as API for the Smart Class. Either Evas\_\-Smart\_\-Class or something derived from it. \item[{\em parent\_\-type}]Type of the parent class API. \item[{\em parent\_\-func}]Function that gets the parent class. e.g: \hyperlink{group__Evas__Object__Box_ga58da2c7328e5c8a01a8817f934d083ff}{evas\_\-object\_\-box\_\-smart\_\-class\_\-get()}. \item[{\em cb\_\-desc}]Array of callback descriptions for this Smart Class. \end{DoxyParams}
+
+
+\subsection{Function Documentation}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!evas\_\-smart\_\-callback\_\-description\_\-find@{evas\_\-smart\_\-callback\_\-description\_\-find}}
+\index{evas\_\-smart\_\-callback\_\-description\_\-find@{evas\_\-smart\_\-callback\_\-description\_\-find}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{evas\_\-smart\_\-callback\_\-description\_\-find}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Smart\_\-Cb\_\-Description}$\ast$ evas\_\-smart\_\-callback\_\-description\_\-find (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Smart} $\ast$}]{ s, }
+\item[{const char $\ast$}]{ name}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Group_ga5532335a315b4c84ab914afbbe771363}
+
+
+Find callback description for callback called {\itshape name\/}. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em s}]the Evas\_\-Smart. \item[{\em name}]name of desired callback, must {\bfseries not} be {\ttfamily NULL}. The search have a special case for {\itshape name\/} being the same pointer as registered with Evas\_\-Smart\_\-Cb\_\-Description, one can use it to avoid excessive use of strcmp(). \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+reference to description if found, {\ttfamily NULL} if not found. 
+\end{DoxyReturn}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!evas\_\-smart\_\-callbacks\_\-descriptions\_\-get@{evas\_\-smart\_\-callbacks\_\-descriptions\_\-get}}
+\index{evas\_\-smart\_\-callbacks\_\-descriptions\_\-get@{evas\_\-smart\_\-callbacks\_\-descriptions\_\-get}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{evas\_\-smart\_\-callbacks\_\-descriptions\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Smart\_\-Cb\_\-Description}$\ast$$\ast$ evas\_\-smart\_\-callbacks\_\-descriptions\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Smart} $\ast$}]{ s, }
+\item[{unsigned int $\ast$}]{ count}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Group_ga67ca7d389fd32a2dc4d7d6e29430d900}
+
+
+Get the callbacks known by this Evas\_\-Smart. 
+
+This is likely different from \hyperlink{struct__Evas__Smart__Class_af7074494030024c3d0e502bca7b19067}{Evas\_\-Smart\_\-Class::callbacks} as it will contain the callbacks of all class hierarchy sorted, while the direct smart class member refers only to that specific class and should not include parent's.
+
+If no callbacks are known, this function returns {\ttfamily NULL}.
+
+The array elements and thus their contents will be reference to original values given to evas\_\-smart\_\-new() as \hyperlink{struct__Evas__Smart__Class_af7074494030024c3d0e502bca7b19067}{Evas\_\-Smart\_\-Class::callbacks}.
+
+The array is sorted by name. The last array element is the {\ttfamily NULL} pointer and is not counted in {\itshape count\/}. Loop iterations can check any of these cases.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em s}]the Evas\_\-Smart. \item[{\em count}]returns the number of elements in returned array. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the array with callback descriptions known by this class, its size is returned in {\itshape count\/} parameter. It should not be modified anyhow. If no callbacks are known, {\ttfamily NULL} is returned. The array is sorted by name and elements refer to the original value given to evas\_\-smart\_\-new().
+\end{DoxyReturn}
+\begin{DoxyNote}{Note}
+objects may provide per-\/instance callbacks, use \hyperlink{group__Evas__Smart__Object__Group_gaf58d78bc21229defb9eafd541063391d}{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get()} to get those as well. 
+\end{DoxyNote}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Object__Group_gaf58d78bc21229defb9eafd541063391d}{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get()} 
+\end{DoxySeeAlso}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!evas\_\-smart\_\-class\_\-get@{evas\_\-smart\_\-class\_\-get}}
+\index{evas\_\-smart\_\-class\_\-get@{evas\_\-smart\_\-class\_\-get}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{evas\_\-smart\_\-class\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const {\bf Evas\_\-Smart\_\-Class}$\ast$ evas\_\-smart\_\-class\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Smart} $\ast$}]{ s}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Group_gac41799a0e334d515fa8e07313b88c611}
+
+
+Get the Evas\_\-Smart\_\-Class of an Evas\_\-Smart. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em s}]the Evas\_\-Smart \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the Evas\_\-Smart\_\-Class 
+\end{DoxyReturn}
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!evas\_\-smart\_\-class\_\-inherit\_\-full@{evas\_\-smart\_\-class\_\-inherit\_\-full}}
+\index{evas\_\-smart\_\-class\_\-inherit\_\-full@{evas\_\-smart\_\-class\_\-inherit\_\-full}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{evas\_\-smart\_\-class\_\-inherit\_\-full}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-smart\_\-class\_\-inherit\_\-full (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Smart\_\-Class} $\ast$}]{ sc, }
+\item[{const {\bf Evas\_\-Smart\_\-Class} $\ast$}]{ parent\_\-sc, }
+\item[{unsigned int}]{ parent\_\-sc\_\-size}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Group_ga21f5af32f724500c3380906d166fc49f}
+
+
+Sets one class to inherit from the other. 
+
+Copy all function pointers, set {\ttfamily parent} to {\itshape parent\_\-sc\/} and copy everything after sizeof(Evas\_\-Smart\_\-Class) present in {\itshape parent\_\-sc\/}, using {\itshape parent\_\-sc\_\-size\/} as reference.
+
+This is recommended instead of a single memcpy() since it will take care to not modify {\itshape sc\/} name, version, callbacks and possible other members.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em sc}]child class. \item[{\em parent\_\-sc}]parent class, will provide attributes. \item[{\em parent\_\-sc\_\-size}]size of parent\_\-sc structure, child should be at least this size. Everything after {\ttfamily Evas\_\-Smart\_\-Class} size is copied using regular memcpy(). \end{DoxyParams}
+
+
+References EVAS\_\-SMART\_\-CLASS\_\-VERSION, and \_\-Evas\_\-Smart\_\-Class::parent.
+
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!evas\_\-smart\_\-class\_\-new@{evas\_\-smart\_\-class\_\-new}}
+\index{evas\_\-smart\_\-class\_\-new@{evas\_\-smart\_\-class\_\-new}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{evas\_\-smart\_\-class\_\-new}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Smart}$\ast$ evas\_\-smart\_\-class\_\-new (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Smart\_\-Class} $\ast$}]{ sc}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Group_ga25a97a07a32a460c8c2d55916481dd1a}
+
+
+Creates an Evas\_\-Smart from an Evas\_\-Smart\_\-Class. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em sc}]the smart class definition \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+an Evas\_\-Smart 
+\end{DoxyReturn}
+
+
+References EVAS\_\-SMART\_\-CLASS\_\-VERSION.
+
+\index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!evas\_\-smart\_\-data\_\-get@{evas\_\-smart\_\-data\_\-get}}
+\index{evas\_\-smart\_\-data\_\-get@{evas\_\-smart\_\-data\_\-get}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{evas\_\-smart\_\-data\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-smart\_\-data\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Smart} $\ast$}]{ s}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Group_gaa88f3f98a71031573b8dfc4bfeac2f64}
+
+
+Get the data pointer set on an Evas\_\-Smart. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em s}]Evas\_\-Smart\end{DoxyParams}
+This data pointer is set either as the final parameter to evas\_\-smart\_\-new or as the data field in the Evas\_\-Smart\_\-Class passed in to evas\_\-smart\_\-class\_\-new \index{Evas\_\-Smart\_\-Group@{Evas\_\-Smart\_\-Group}!evas\_\-smart\_\-free@{evas\_\-smart\_\-free}}
+\index{evas\_\-smart\_\-free@{evas\_\-smart\_\-free}!Evas_Smart_Group@{Evas\_\-Smart\_\-Group}}
+\subsubsection[{evas\_\-smart\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-smart\_\-free (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Smart} $\ast$}]{ s}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Group_ga3501ae449533ae15eee9cbf65811cad2}
+
+
+Free an Evas\_\-Smart. 
+
+If this smart was created using \hyperlink{group__Evas__Smart__Group_ga25a97a07a32a460c8c2d55916481dd1a}{evas\_\-smart\_\-class\_\-new()}, the associated Evas\_\-Smart\_\-Class will not be freed.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em s}]the Evas\_\-Smart to free \end{DoxyParams}
diff --git a/doc/latex/group__Evas__Smart__Object__Clipped.tex b/doc/latex/group__Evas__Smart__Object__Clipped.tex
new file mode 100644 (file)
index 0000000..cbbe17c
--- /dev/null
@@ -0,0 +1,127 @@
+\section{Clipped Smart Object}
+\label{group__Evas__Smart__Object__Clipped}\index{Clipped Smart Object@{Clipped Smart Object}}
+
+
+Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Clipped_ga1e051786da49a712512430fcb6360c12}{evas\_\-object\_\-smart\_\-move\_\-children\_\-relative} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Evas\_\-Coord dx, Evas\_\-Coord dy)
+\begin{DoxyCompactList}\small\item\em Moves all children objects relative to given offset. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Smart__Object__Clipped_ga27b74fdbecd5d915c9ec832199048907}{evas\_\-object\_\-smart\_\-clipped\_\-clipper\_\-get} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the clipper object for the given clipped smart object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Clipped_ga3725ce3a781c93120637ad6a58f6e628}{evas\_\-object\_\-smart\_\-clipped\_\-smart\_\-set} (\hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$sc)
+\begin{DoxyCompactList}\small\item\em Set smart class callbacks so it implements the \char`\"{}Clipped Smart Object\char`\"{}. \item\end{DoxyCompactList}\item 
+EAPI const \hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$ \hyperlink{group__Evas__Smart__Object__Clipped_ga83e064112f527be0c2156c425562a57c}{evas\_\-object\_\-smart\_\-clipped\_\-class\_\-get} (void)\label{group__Evas__Smart__Object__Clipped_ga83e064112f527be0c2156c425562a57c}
+
+\begin{DoxyCompactList}\small\item\em Get a pointer to the Clipped Smart Class to use for proper inheritance. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children. This clipper will control the visibility, clipping and color of sibling objects (remember that the clipping is recursive, and clipper color modulates the color of its clippees). By default, this base will also move children relatively to the parent, and delete them when parent is deleted. In other words, it is the base for simple object grouping.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Object__Clipped_ga3725ce3a781c93120637ad6a58f6e628}{evas\_\-object\_\-smart\_\-clipped\_\-smart\_\-set()} 
+\end{DoxySeeAlso}
+
+
+\subsection{Function Documentation}
+\index{Evas\_\-Smart\_\-Object\_\-Clipped@{Evas\_\-Smart\_\-Object\_\-Clipped}!evas\_\-object\_\-smart\_\-clipped\_\-clipper\_\-get@{evas\_\-object\_\-smart\_\-clipped\_\-clipper\_\-get}}
+\index{evas\_\-object\_\-smart\_\-clipped\_\-clipper\_\-get@{evas\_\-object\_\-smart\_\-clipped\_\-clipper\_\-get}!Evas_Smart_Object_Clipped@{Evas\_\-Smart\_\-Object\_\-Clipped}}
+\subsubsection[{evas\_\-object\_\-smart\_\-clipped\_\-clipper\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-smart\_\-clipped\_\-clipper\_\-get (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Clipped_ga27b74fdbecd5d915c9ec832199048907}
+
+
+Get the clipper object for the given clipped smart object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the clipped smart object to retrieve the associated clipper. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the clipper object.
+\end{DoxyReturn}
+\begin{DoxySeeAlso}{See also}
+evas\_\-object\_\-smart\_\-clipped\_\-smart\_\-add() 
+\end{DoxySeeAlso}
+
+
+References evas\_\-object\_\-smart\_\-data\_\-get().
+
+\index{Evas\_\-Smart\_\-Object\_\-Clipped@{Evas\_\-Smart\_\-Object\_\-Clipped}!evas\_\-object\_\-smart\_\-clipped\_\-smart\_\-set@{evas\_\-object\_\-smart\_\-clipped\_\-smart\_\-set}}
+\index{evas\_\-object\_\-smart\_\-clipped\_\-smart\_\-set@{evas\_\-object\_\-smart\_\-clipped\_\-smart\_\-set}!Evas_Smart_Object_Clipped@{Evas\_\-Smart\_\-Object\_\-Clipped}}
+\subsubsection[{evas\_\-object\_\-smart\_\-clipped\_\-smart\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-clipped\_\-smart\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Smart\_\-Class} $\ast$}]{ sc}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Clipped_ga3725ce3a781c93120637ad6a58f6e628}
+
+
+Set smart class callbacks so it implements the \char`\"{}Clipped Smart Object\char`\"{}. 
+
+This call will assign all the required methods of Evas\_\-Smart\_\-Class, if one wants to \char`\"{}subclass\char`\"{} it, call this function and later override values, if one wants to call the original method, save it somewhere, example:
+
+
+\begin{DoxyCode}
+ static Evas_Smart_Class parent_sc = EVAS_SMART_CLASS_INIT_NULL;
+
+ static void my_class_smart_add(Evas_Object *o)
+ {
+    parent_sc.add(o);
+    evas_object_color_set(evas_object_smart_clipped_clipper_get(o),
+                          255, 0, 0, 255);
+ }
+
+ Evas_Smart_Class *my_class_new(void)
+ {
+    static Evas_Smart_Class sc = EVAS_SMART_CLASS_INIT_NAME_VERSION("MyClass");
+    if (!parent_sc.name)
+      {
+         evas_object_smart_clipped_smart_set(&sc);
+         parent_sc = sc;
+         sc.add = my_class_smart_add;
+      }
+    return &sc;
+ }
+\end{DoxyCode}
+
+
+Default behavior is:
+\begin{DoxyItemize}
+\item add: creates a hidden clipper with \char`\"{}infinite\char`\"{} size;
+\item del: delete all children objects;
+\item move: move all objects relative relatively;
+\item resize: not defined;
+\item show: if there are children objects, show clipper;
+\item hide: hides clipper;
+\item color\_\-set: set the color of clipper;
+\item clip\_\-set: set clipper of clipper;
+\item clip\_\-unset: unset the clipper of clipper; 
+\end{DoxyItemize}
+
+Referenced by evas\_\-object\_\-smart\_\-clipped\_\-class\_\-get().
+
+\index{Evas\_\-Smart\_\-Object\_\-Clipped@{Evas\_\-Smart\_\-Object\_\-Clipped}!evas\_\-object\_\-smart\_\-move\_\-children\_\-relative@{evas\_\-object\_\-smart\_\-move\_\-children\_\-relative}}
+\index{evas\_\-object\_\-smart\_\-move\_\-children\_\-relative@{evas\_\-object\_\-smart\_\-move\_\-children\_\-relative}!Evas_Smart_Object_Clipped@{Evas\_\-Smart\_\-Object\_\-Clipped}}
+\subsubsection[{evas\_\-object\_\-smart\_\-move\_\-children\_\-relative}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-move\_\-children\_\-relative (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Evas\_\-Coord}]{ dx, }
+\item[{Evas\_\-Coord}]{ dy}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Clipped_ga1e051786da49a712512430fcb6360c12}
+
+
+Moves all children objects relative to given offset. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the smart evas object to use. \item[{\em dx}]horizontal offset. \item[{\em dy}]vertical offset. \end{DoxyParams}
+
+
+References evas\_\-object\_\-move().
+
diff --git a/doc/latex/group__Evas__Smart__Object__Group.tex b/doc/latex/group__Evas__Smart__Object__Group.tex
new file mode 100644 (file)
index 0000000..474089a
--- /dev/null
@@ -0,0 +1,470 @@
+\section{Smart Object Functions}
+\label{group__Evas__Smart__Object__Group}\index{Smart Object Functions@{Smart Object Functions}}
+
+
+Functions dealing with evas smart objects (instances).  
+
+
+\subsection*{Modules}
+\begin{DoxyCompactItemize}
+\item 
+\hyperlink{group__Evas__Smart__Object__Clipped}{Clipped Smart Object}
+
+
+\begin{DoxyCompactList}\small\item\em Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Box}{Box (Sequence) Smart Object.}
+
+
+\begin{DoxyCompactList}\small\item\em Convenience smart object that packs children as a sequence using a layout function specified by user. \item\end{DoxyCompactList}
+
+\item 
+\hyperlink{group__Evas__Object__Table}{Table Smart Object.}
+
+
+\begin{DoxyCompactList}\small\item\em Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space. \item\end{DoxyCompactList}
+
+\end{DoxyCompactItemize}
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_gae40928b2993cc169e606820ae21dbb6e}{evas\_\-object\_\-smart\_\-data\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Store a pointer to user data for a smart object. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Smart__Object__Group_gad77ac4b3dcb2929ff7d02e76a26e272a}{evas\_\-object\_\-smart\_\-data\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Retrieve user data stored on a smart object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$ \hyperlink{group__Evas__Smart__Object__Group_gab1423d63011d7f3679c95ea1638fa714}{evas\_\-object\_\-smart\_\-smart\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the Evas\_\-Smart from which {\ttfamily obj} was created. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_ga88c6f460884a87d5a2915282ab1cf06f}{evas\_\-object\_\-smart\_\-member\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$smart\_\-obj)
+\begin{DoxyCompactList}\small\item\em Set an evas object as a member of a smart object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_gaffa3573bd0f16f3eb21c3da8122194f7}{evas\_\-object\_\-smart\_\-member\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Removes a member object from a smart object. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Smart__Object__Group_gaee8228f86a2a896112b3dbfe09d83511}{evas\_\-object\_\-smart\_\-parent\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Gets the smart parent of an Evas\_\-Object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Smart__Object__Group_ga21c7f06371bf49bebaba0df0b8c7cbef}{evas\_\-object\_\-smart\_\-type\_\-check} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$type)
+\begin{DoxyCompactList}\small\item\em Checks the Smart type of the object and its parents. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Smart__Object__Group_ga2e93ee5ffcc0beec181cc640961ee3e6}{evas\_\-object\_\-smart\_\-type\_\-check\_\-ptr} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$type)
+\begin{DoxyCompactList}\small\item\em Checks the Smart type of the object and its parents using pointer comparison. \item\end{DoxyCompactList}\item 
+EAPI \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$ \hyperlink{group__Evas__Smart__Object__Group_gaa61f845ee24ddb252a6fcb76d5f3c148}{evas\_\-object\_\-smart\_\-add} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e, \hyperlink{Evas_8h_a7cdfd1afece1cad64c413eb9a778ddbb}{Evas\_\-Smart} $\ast$s)
+\begin{DoxyCompactList}\small\item\em Instantiates a new smart object described by {\ttfamily s}. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_ga13db802166db6890fe25bf63143ad3ee}{evas\_\-object\_\-smart\_\-callback\_\-add} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$event, void($\ast$func)(void $\ast$data, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, void $\ast$event\_\-info), const void $\ast$data)
+\begin{DoxyCompactList}\small\item\em Add a callback for the smart event specified by {\ttfamily event}. \item\end{DoxyCompactList}\item 
+EAPI void $\ast$ \hyperlink{group__Evas__Smart__Object__Group_gab1f7248ecf036480e0fa2d1ca4e91c35}{evas\_\-object\_\-smart\_\-callback\_\-del} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$event, void($\ast$func)(void $\ast$data, \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, void $\ast$event\_\-info))
+\begin{DoxyCompactList}\small\item\em Remove a smart callback. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_ga17bbe660f5bf9d8997913b08882f6f9e}{evas\_\-object\_\-smart\_\-callback\_\-call} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const char $\ast$event, void $\ast$event\_\-info)
+\begin{DoxyCompactList}\small\item\em Call any smart callbacks on {\ttfamily obj} for {\ttfamily event}. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Smart__Object__Group_gaf724dbb075cdaf2b4b44dd883b792dc3}{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const \hyperlink{struct__Evas__Smart__Cb__Description}{Evas\_\-Smart\_\-Cb\_\-Description} $\ast$descriptions)
+\begin{DoxyCompactList}\small\item\em Set smart object instance callbacks descriptions. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_gaf58d78bc21229defb9eafd541063391d}{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, const \hyperlink{struct__Evas__Smart__Cb__Description}{Evas\_\-Smart\_\-Cb\_\-Description} $\ast$$\ast$$\ast$class\_\-descriptions, unsigned int $\ast$class\_\-count, const \hyperlink{struct__Evas__Smart__Cb__Description}{Evas\_\-Smart\_\-Cb\_\-Description} $\ast$$\ast$$\ast$instance\_\-descriptions, unsigned int $\ast$instance\_\-count)
+\begin{DoxyCompactList}\small\item\em Get the callbacks descriptions known by this smart object. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_ga58c34092eac9bfe6878b8e6ebc026de1}{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-set} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj, Eina\_\-Bool value)
+\begin{DoxyCompactList}\small\item\em Set the need\_\-recalculate flag of given smart object. \item\end{DoxyCompactList}\item 
+EAPI Eina\_\-Bool \hyperlink{group__Evas__Smart__Object__Group_ga38be19a4f09b071b3d984996b8f9b3ee}{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-get} (const \hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Get the current value of need\_\-recalculate flag. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_ga8013936b96d99d2ff375ca2b0b287f39}{evas\_\-object\_\-smart\_\-calculate} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Call user provided calculate() and unset need\_\-calculate. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_gaa30fa648297b723a73f28632d1dbec62}{evas\_\-smart\_\-objects\_\-calculate} (\hyperlink{group__Evas__Canvas_ga5ff87cc4ce6bc43e3b640a6d37f73043}{Evas} $\ast$e)
+\begin{DoxyCompactList}\small\item\em Call user provided calculate() and unset need\_\-calculate on all objects. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Smart__Object__Group_ga20b3bce805c272f3d11f4ba0ae952dc6}{evas\_\-object\_\-smart\_\-changed} (\hyperlink{group__Evas__Object__Group_ga9e19e6dd1f517a0ba437c0114d3e7c97}{Evas\_\-Object} $\ast$obj)
+\begin{DoxyCompactList}\small\item\em Mark smart object as changed, dirty. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Functions dealing with evas smart objects (instances). Smart objects are groupings of primitive evas objects that behave as a cohesive group. For instance, a file manager icon may be a smart object composed of an image object, a text label and two rectangles that appear behind the image and text when the icon is selected. As a smart object, the normal evas api could be used on the icon object.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Group}{Smart Functions} for class definitions. 
+\end{DoxySeeAlso}
+
+
+\subsection{Function Documentation}
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-add@{evas\_\-object\_\-smart\_\-add}}
+\index{evas\_\-object\_\-smart\_\-add@{evas\_\-object\_\-smart\_\-add}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-smart\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e, }
+\item[{{\bf Evas\_\-Smart} $\ast$}]{ s}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_gaa61f845ee24ddb252a6fcb76d5f3c148}
+
+
+Instantiates a new smart object described by {\ttfamily s}. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]the evas on which to add the object \item[{\em s}]the Evas\_\-Smart describing the smart object \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+a new Evas\_\-Object 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-object\_\-box\_\-add(), and evas\_\-object\_\-table\_\-add().
+
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-calculate@{evas\_\-object\_\-smart\_\-calculate}}
+\index{evas\_\-object\_\-smart\_\-calculate@{evas\_\-object\_\-smart\_\-calculate}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-calculate}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-calculate (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_ga8013936b96d99d2ff375ca2b0b287f39}
+
+
+Call user provided calculate() and unset need\_\-calculate. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the smart object \end{DoxyParams}
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-callback\_\-add@{evas\_\-object\_\-smart\_\-callback\_\-add}}
+\index{evas\_\-object\_\-smart\_\-callback\_\-add@{evas\_\-object\_\-smart\_\-callback\_\-add}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-callback\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-callback\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ event, }
+\item[{void($\ast$)(void $\ast$data, {\bf Evas\_\-Object} $\ast$obj, void $\ast$event\_\-info)}]{ func, }
+\item[{const void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_ga13db802166db6890fe25bf63143ad3ee}
+
+
+Add a callback for the smart event specified by {\ttfamily event}. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]a smart object \item[{\em event}]the event name \item[{\em func}]the callback function \item[{\em data}]user data to be passed to the callback function \end{DoxyParams}
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-callback\_\-call@{evas\_\-object\_\-smart\_\-callback\_\-call}}
+\index{evas\_\-object\_\-smart\_\-callback\_\-call@{evas\_\-object\_\-smart\_\-callback\_\-call}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-callback\_\-call}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-callback\_\-call (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ event, }
+\item[{void $\ast$}]{ event\_\-info}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_ga17bbe660f5bf9d8997913b08882f6f9e}
+
+
+Call any smart callbacks on {\ttfamily obj} for {\ttfamily event}. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the smart object \item[{\em event}]the event name \item[{\em event\_\-info}]an event specific struct of info to pass to the callback\end{DoxyParams}
+This should be called internally in the smart object when some specific event has occurred. The documentation for the smart object should include a list of possible events and what type of {\ttfamily event\_\-info} to expect. \index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-callback\_\-del@{evas\_\-object\_\-smart\_\-callback\_\-del}}
+\index{evas\_\-object\_\-smart\_\-callback\_\-del@{evas\_\-object\_\-smart\_\-callback\_\-del}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-callback\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-smart\_\-callback\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ event, }
+\item[{void($\ast$)(void $\ast$data, {\bf Evas\_\-Object} $\ast$obj, void $\ast$event\_\-info)}]{ func}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_gab1f7248ecf036480e0fa2d1ca4e91c35}
+
+
+Remove a smart callback. 
+
+Removes a callback that was added by \hyperlink{group__Evas__Smart__Object__Group_ga13db802166db6890fe25bf63143ad3ee}{evas\_\-object\_\-smart\_\-callback\_\-add()}
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]a smart object \item[{\em event}]the event name \item[{\em func}]the callback function \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the data pointer 
+\end{DoxyReturn}
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get@{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get}}
+\index{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get@{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const {\bf Evas\_\-Smart\_\-Cb\_\-Description} $\ast$$\ast$$\ast$}]{ class\_\-descriptions, }
+\item[{unsigned int $\ast$}]{ class\_\-count, }
+\item[{const {\bf Evas\_\-Smart\_\-Cb\_\-Description} $\ast$$\ast$$\ast$}]{ instance\_\-descriptions, }
+\item[{unsigned int $\ast$}]{ instance\_\-count}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_gaf58d78bc21229defb9eafd541063391d}
+
+
+Get the callbacks descriptions known by this smart object. 
+
+This call retrieves processed callbacks descriptions for both instance and class. These arrays are sorted by description's name and are {\ttfamily NULL} terminated, so both {\itshape class\_\-count\/} and {\itshape instance\_\-count\/} can be ignored, the terminator {\ttfamily NULL} is not counted in these values.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the smart object. \item[{\em class\_\-descriptions}]where to store class callbacks descriptions array, if any is known. If no descriptions are known, {\ttfamily NULL} is returned. This parameter may be {\ttfamily NULL} if it is not of interest. \item[{\em class\_\-count}]returns how many class callbacks descriptions are known. \item[{\em instance\_\-descriptions}]where to store instance callbacks descriptions array, if any is known. If no descriptions are known, {\ttfamily NULL} is returned. This parameter may be {\ttfamily NULL} if it is not of interest. \item[{\em instance\_\-count}]returns how many instance callbacks descriptions are known.\end{DoxyParams}
+\begin{DoxyNote}{Note}
+if just class descriptions are of interest, try \hyperlink{group__Evas__Smart__Group_ga67ca7d389fd32a2dc4d7d6e29430d900}{evas\_\-smart\_\-callbacks\_\-descriptions\_\-get()} instead.
+\end{DoxyNote}
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Group_ga67ca7d389fd32a2dc4d7d6e29430d900}{evas\_\-smart\_\-callbacks\_\-descriptions\_\-get()} 
+\end{DoxySeeAlso}
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-set@{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-set}}
+\index{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-set@{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-set}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const {\bf Evas\_\-Smart\_\-Cb\_\-Description} $\ast$}]{ descriptions}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_gaf724dbb075cdaf2b4b44dd883b792dc3}
+
+
+Set smart object instance callbacks descriptions. 
+
+These descriptions are hints to be used by introspection and are not enforced in any way.
+
+It will not be checked if instance callbacks descriptions have the same name as another in class. Both are kept in different arrays and users of \hyperlink{group__Evas__Smart__Object__Group_gaf58d78bc21229defb9eafd541063391d}{evas\_\-object\_\-smart\_\-callbacks\_\-descriptions\_\-get()} should handle this case as they wish.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The smart object \item[{\em descriptions}]NULL terminated (name != NULL) array with descriptions. Array elements will not be modified, but reference to them and their contents will be made, so this array should be kept alive during object lifetime. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+1 on success, 0 on failure.
+\end{DoxyReturn}
+\begin{DoxyNote}{Note}
+while instance callbacks descriptions are possible, they are not recommended. Use class callbacks descriptions instead as they make user's life simpler and will use less memory as descriptions and arrays will be shared among all instances. 
+\end{DoxyNote}
+
+
+References \_\-Evas\_\-Smart\_\-Cb\_\-Description::name.
+
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-changed@{evas\_\-object\_\-smart\_\-changed}}
+\index{evas\_\-object\_\-smart\_\-changed@{evas\_\-object\_\-smart\_\-changed}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-changed}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-changed (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_ga20b3bce805c272f3d11f4ba0ae952dc6}
+
+
+Mark smart object as changed, dirty. 
+
+This will inform the scene that it changed and needs to be redraw, also setting need\_\-recalculate on the given object.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Smart__Object__Group_ga58c34092eac9bfe6878b8e6ebc026de1}{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-set()}. 
+\end{DoxySeeAlso}
+
+
+References evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-set().
+
+
+
+Referenced by evas\_\-object\_\-box\_\-align\_\-set(), evas\_\-object\_\-box\_\-append(), evas\_\-object\_\-box\_\-insert\_\-after(), evas\_\-object\_\-box\_\-insert\_\-at(), evas\_\-object\_\-box\_\-insert\_\-before(), evas\_\-object\_\-box\_\-layout\_\-set(), evas\_\-object\_\-box\_\-option\_\-property\_\-vset(), evas\_\-object\_\-box\_\-padding\_\-set(), evas\_\-object\_\-box\_\-prepend(), evas\_\-object\_\-box\_\-remove(), evas\_\-object\_\-box\_\-remove\_\-all(), evas\_\-object\_\-box\_\-remove\_\-at(), evas\_\-object\_\-table\_\-align\_\-set(), evas\_\-object\_\-table\_\-clear(), evas\_\-object\_\-table\_\-homogeneous\_\-set(), evas\_\-object\_\-table\_\-pack(), evas\_\-object\_\-table\_\-padding\_\-set(), and evas\_\-object\_\-table\_\-unpack().
+
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-data\_\-get@{evas\_\-object\_\-smart\_\-data\_\-get}}
+\index{evas\_\-object\_\-smart\_\-data\_\-get@{evas\_\-object\_\-smart\_\-data\_\-get}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-data\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void$\ast$ evas\_\-object\_\-smart\_\-data\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_gad77ac4b3dcb2929ff7d02e76a26e272a}
+
+
+Retrieve user data stored on a smart object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The smart object \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+A pointer to data stored using \hyperlink{group__Evas__Smart__Object__Group_gae40928b2993cc169e606820ae21dbb6e}{evas\_\-object\_\-smart\_\-data\_\-set()}, or NULL if none has been set. 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-object\_\-smart\_\-clipped\_\-clipper\_\-get().
+
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-data\_\-set@{evas\_\-object\_\-smart\_\-data\_\-set}}
+\index{evas\_\-object\_\-smart\_\-data\_\-set@{evas\_\-object\_\-smart\_\-data\_\-set}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-data\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-data\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{void $\ast$}]{ data}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_gae40928b2993cc169e606820ae21dbb6e}
+
+
+Store a pointer to user data for a smart object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The smart object \item[{\em data}]A pointer to user data \end{DoxyParams}
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-member\_\-add@{evas\_\-object\_\-smart\_\-member\_\-add}}
+\index{evas\_\-object\_\-smart\_\-member\_\-add@{evas\_\-object\_\-smart\_\-member\_\-add}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-member\_\-add}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-member\_\-add (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{{\bf Evas\_\-Object} $\ast$}]{ smart\_\-obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_ga88c6f460884a87d5a2915282ab1cf06f}
+
+
+Set an evas object as a member of a smart object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]The member object \item[{\em smart\_\-obj}]The smart object\end{DoxyParams}
+Members will automatically be stacked and layered with the smart object. The various stacking function will operate on members relative to the other members instead of the entire canvas.
+
+Non-\/member objects can not interleave a smart object's members. 
+
+References evas\_\-object\_\-smart\_\-member\_\-del().
+
+
+
+Referenced by evas\_\-object\_\-box\_\-add\_\-to(), evas\_\-object\_\-box\_\-append(), evas\_\-object\_\-box\_\-insert\_\-after(), evas\_\-object\_\-box\_\-insert\_\-at(), evas\_\-object\_\-box\_\-insert\_\-before(), evas\_\-object\_\-box\_\-prepend(), evas\_\-object\_\-table\_\-add\_\-to(), and evas\_\-object\_\-table\_\-pack().
+
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-member\_\-del@{evas\_\-object\_\-smart\_\-member\_\-del}}
+\index{evas\_\-object\_\-smart\_\-member\_\-del@{evas\_\-object\_\-smart\_\-member\_\-del}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-member\_\-del}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-member\_\-del (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_gaffa3573bd0f16f3eb21c3da8122194f7}
+
+
+Removes a member object from a smart object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the member object\end{DoxyParams}
+This removes a member object from a smart object. The object will still be on the canvas, but no longer associated with whichever smart object it was associated with. 
+
+Referenced by evas\_\-object\_\-box\_\-remove(), evas\_\-object\_\-box\_\-remove\_\-all(), evas\_\-object\_\-box\_\-remove\_\-at(), evas\_\-object\_\-smart\_\-member\_\-add(), evas\_\-object\_\-table\_\-clear(), and evas\_\-object\_\-table\_\-unpack().
+
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-get@{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-get}}
+\index{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-get@{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-get}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_ga38be19a4f09b071b3d984996b8f9b3ee}
+
+
+Get the current value of need\_\-recalculate flag. 
+
+\begin{DoxyNote}{Note}
+this flag will be unset during the render phase, after calculate() is called if one is provided. If no calculate() is provided, then the flag will be left unchanged after render phase.
+\end{DoxyNote}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the smart object \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+if flag is set or not. 
+\end{DoxyReturn}
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-set@{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-set}}
+\index{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-set@{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-set}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-set}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-object\_\-smart\_\-need\_\-recalculate\_\-set (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{Eina\_\-Bool}]{ value}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_ga58c34092eac9bfe6878b8e6ebc026de1}
+
+
+Set the need\_\-recalculate flag of given smart object. 
+
+If this flag is set then calculate() callback (method) of the given smart object will be called, if one is provided, during render phase usually \hyperlink{group__Evas__Canvas_ga241869ebb085b8ab11ff6af26e1aeaaf}{evas\_\-render()}. After this step, this flag will be automatically unset.
+
+If no calculate() is provided, this flag will be left unchanged.
+
+\begin{DoxyNote}{Note}
+just setting this flag will not make scene dirty and \hyperlink{group__Evas__Canvas_ga241869ebb085b8ab11ff6af26e1aeaaf}{evas\_\-render()} will have no effect. To do that, use \hyperlink{group__Evas__Smart__Object__Group_ga20b3bce805c272f3d11f4ba0ae952dc6}{evas\_\-object\_\-smart\_\-changed()}, that will automatically call this function with 1 as parameter.
+\end{DoxyNote}
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the smart object \item[{\em value}]if one want to set or unset the need\_\-recalculate flag. \end{DoxyParams}
+
+
+Referenced by evas\_\-object\_\-smart\_\-changed().
+
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-parent\_\-get@{evas\_\-object\_\-smart\_\-parent\_\-get}}
+\index{evas\_\-object\_\-smart\_\-parent\_\-get@{evas\_\-object\_\-smart\_\-parent\_\-get}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-parent\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Object}$\ast$ evas\_\-object\_\-smart\_\-parent\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_gaee8228f86a2a896112b3dbfe09d83511}
+
+
+Gets the smart parent of an Evas\_\-Object. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the Evas\_\-Object you want to get the parent \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Returns the smart parent of {\itshape obj\/}, or NULL if {\itshape obj\/} is not a smart member of another Evas\_\-Object 
+\end{DoxyReturn}
+
+
+Referenced by evas\_\-object\_\-table\_\-unpack().
+
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-smart\_\-get@{evas\_\-object\_\-smart\_\-smart\_\-get}}
+\index{evas\_\-object\_\-smart\_\-smart\_\-get@{evas\_\-object\_\-smart\_\-smart\_\-get}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-smart\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI {\bf Evas\_\-Smart}$\ast$ evas\_\-object\_\-smart\_\-smart\_\-get (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_gab1423d63011d7f3679c95ea1638fa714}
+
+
+Get the Evas\_\-Smart from which {\ttfamily obj} was created. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]a smart object \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+the Evas\_\-Smart 
+\end{DoxyReturn}
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-type\_\-check@{evas\_\-object\_\-smart\_\-type\_\-check}}
+\index{evas\_\-object\_\-smart\_\-type\_\-check@{evas\_\-object\_\-smart\_\-type\_\-check}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-type\_\-check}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-smart\_\-type\_\-check (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ type}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_ga21c7f06371bf49bebaba0df0b8c7cbef}
+
+
+Checks the Smart type of the object and its parents. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the Evas\_\-Object to check the type of \item[{\em type}]the type to check for \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE if {\itshape obj\/} or any of its parents if of type {\itshape type\/}, EINA\_\-FALSE otherwise 
+\end{DoxyReturn}
+
+
+References \_\-Evas\_\-Smart\_\-Class::name, and \_\-Evas\_\-Smart\_\-Class::parent.
+
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-object\_\-smart\_\-type\_\-check\_\-ptr@{evas\_\-object\_\-smart\_\-type\_\-check\_\-ptr}}
+\index{evas\_\-object\_\-smart\_\-type\_\-check\_\-ptr@{evas\_\-object\_\-smart\_\-type\_\-check\_\-ptr}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-object\_\-smart\_\-type\_\-check\_\-ptr}]{\setlength{\rightskip}{0pt plus 5cm}EAPI Eina\_\-Bool evas\_\-object\_\-smart\_\-type\_\-check\_\-ptr (
+\begin{DoxyParamCaption}
+\item[{const {\bf Evas\_\-Object} $\ast$}]{ obj, }
+\item[{const char $\ast$}]{ type}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_ga2e93ee5ffcc0beec181cc640961ee3e6}
+
+
+Checks the Smart type of the object and its parents using pointer comparison. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em obj}]the Evas\_\-Object to check the type of \item[{\em type}]the type to check for. Must be the name pointer in the smart class used to create the object \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+EINA\_\-TRUE if {\itshape obj\/} or any of its parents if of type {\itshape type\/}, EINA\_\-FALSE otherwise 
+\end{DoxyReturn}
+
+
+References \_\-Evas\_\-Smart\_\-Class::name, and \_\-Evas\_\-Smart\_\-Class::parent.
+
+\index{Evas\_\-Smart\_\-Object\_\-Group@{Evas\_\-Smart\_\-Object\_\-Group}!evas\_\-smart\_\-objects\_\-calculate@{evas\_\-smart\_\-objects\_\-calculate}}
+\index{evas\_\-smart\_\-objects\_\-calculate@{evas\_\-smart\_\-objects\_\-calculate}!Evas_Smart_Object_Group@{Evas\_\-Smart\_\-Object\_\-Group}}
+\subsubsection[{evas\_\-smart\_\-objects\_\-calculate}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-smart\_\-objects\_\-calculate (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas} $\ast$}]{ e}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Smart__Object__Group_gaa30fa648297b723a73f28632d1dbec62}
+
+
+Call user provided calculate() and unset need\_\-calculate on all objects. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em e}]The canvas to calculate all objects in \end{DoxyParams}
diff --git a/doc/latex/group__Evas__Utils.tex b/doc/latex/group__Evas__Utils.tex
new file mode 100644 (file)
index 0000000..15c1b7d
--- /dev/null
@@ -0,0 +1,227 @@
+\section{General Utilities}
+\label{group__Evas__Utils}\index{General Utilities@{General Utilities}}
+
+
+Some functions that are handy but are not specific of canvas or objects.  
+
+
+\subsection*{Functions}
+\begin{DoxyCompactItemize}
+\item 
+EAPI const char $\ast$ \hyperlink{group__Evas__Utils_ga50bb423e88ce97cf82cca9b316fc7a1a}{evas\_\-load\_\-error\_\-str} (\hyperlink{Evas_8h_aff351ae694a58aecd7834ef12bdf3d64}{Evas\_\-Load\_\-Error} error)
+\begin{DoxyCompactList}\small\item\em Converts the given error code into a string describing it in english. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_ga2a28c2e6ecdc72189040ae3f5bd829d0}{evas\_\-color\_\-hsv\_\-to\_\-rgb} (float h, float s, float v, int $\ast$r, int $\ast$g, int $\ast$b)
+\begin{DoxyCompactList}\small\item\em Convert a given color from HSV to RGB format. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_ga4054acb14873d5923306ddde5537171d}{evas\_\-color\_\-rgb\_\-to\_\-hsv} (int r, int g, int b, float $\ast$h, float $\ast$s, float $\ast$v)
+\begin{DoxyCompactList}\small\item\em Convert a given color from RGB to HSV format. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_ga892ffc2ac011e24a141816e0c72f7dfa}{evas\_\-color\_\-argb\_\-premul} (int a, int $\ast$r, int $\ast$g, int $\ast$b)
+\begin{DoxyCompactList}\small\item\em Pre-\/multiplies a rgb triplet by an alpha factor. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_ga520b64aa41b81e13bf7fc9f16fd2f3e5}{evas\_\-color\_\-argb\_\-unpremul} (int a, int $\ast$r, int $\ast$g, int $\ast$b)
+\begin{DoxyCompactList}\small\item\em Undo pre-\/multiplication of a rgb triplet by an alpha factor. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_gad61423a02fa7c3cb0293c3bdd5516216}{evas\_\-data\_\-argb\_\-premul} (unsigned int $\ast$data, unsigned int len)
+\begin{DoxyCompactList}\small\item\em Pre-\/multiplies data by an alpha factor. \item\end{DoxyCompactList}\item 
+EAPI void \hyperlink{group__Evas__Utils_ga6794135ce6545bd5e16f6563043a8f18}{evas\_\-data\_\-argb\_\-unpremul} (unsigned int $\ast$data, unsigned int len)
+\begin{DoxyCompactList}\small\item\em Undo pre-\/multiplication data by an alpha factor. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Utils_ga31161605cf449d16e0ea0183509a1e3b}{evas\_\-string\_\-char\_\-next\_\-get} (const char $\ast$str, int pos, int $\ast$decoded)
+\begin{DoxyCompactList}\small\item\em Gets the next character in the string. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Utils_ga20119def41aa1f24aea7961b3fa0fd72}{evas\_\-string\_\-char\_\-prev\_\-get} (const char $\ast$str, int pos, int $\ast$decoded)
+\begin{DoxyCompactList}\small\item\em Gets the previous character in the string. \item\end{DoxyCompactList}\item 
+EAPI int \hyperlink{group__Evas__Utils_gaf9edd726590b1f56ca3e566ba1a2dbb2}{evas\_\-string\_\-char\_\-len\_\-get} (const char $\ast$str)
+\begin{DoxyCompactList}\small\item\em Get the length in characters of the string. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Some functions that are handy but are not specific of canvas or objects. 
+
+\subsection{Function Documentation}
+\index{Evas\_\-Utils@{Evas\_\-Utils}!evas\_\-color\_\-argb\_\-premul@{evas\_\-color\_\-argb\_\-premul}}
+\index{evas\_\-color\_\-argb\_\-premul@{evas\_\-color\_\-argb\_\-premul}!Evas_Utils@{Evas\_\-Utils}}
+\subsubsection[{evas\_\-color\_\-argb\_\-premul}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-color\_\-argb\_\-premul (
+\begin{DoxyParamCaption}
+\item[{int}]{ a, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ g, }
+\item[{int $\ast$}]{ b}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Utils_ga892ffc2ac011e24a141816e0c72f7dfa}
+
+
+Pre-\/multiplies a rgb triplet by an alpha factor. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em a}]The alpha factor. \item[{\em r}]The Red component of the color. \item[{\em g}]The Green component of the color. \item[{\em b}]The Blue component of the color.\end{DoxyParams}
+This function pre-\/multiplies a given rbg triplet by an alpha factor. Alpha factor is used to define transparency. \index{Evas\_\-Utils@{Evas\_\-Utils}!evas\_\-color\_\-argb\_\-unpremul@{evas\_\-color\_\-argb\_\-unpremul}}
+\index{evas\_\-color\_\-argb\_\-unpremul@{evas\_\-color\_\-argb\_\-unpremul}!Evas_Utils@{Evas\_\-Utils}}
+\subsubsection[{evas\_\-color\_\-argb\_\-unpremul}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-color\_\-argb\_\-unpremul (
+\begin{DoxyParamCaption}
+\item[{int}]{ a, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ g, }
+\item[{int $\ast$}]{ b}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Utils_ga520b64aa41b81e13bf7fc9f16fd2f3e5}
+
+
+Undo pre-\/multiplication of a rgb triplet by an alpha factor. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em a}]The alpha factor. \item[{\em r}]The Red component of the color. \item[{\em g}]The Green component of the color. \item[{\em b}]The Blue component of the color.\end{DoxyParams}
+This function undoes pre-\/multiplication a given rbg triplet by an alpha factor. Alpha factor is used to define transparency.
+
+\begin{DoxySeeAlso}{See also}
+\hyperlink{group__Evas__Utils_ga892ffc2ac011e24a141816e0c72f7dfa}{evas\_\-color\_\-argb\_\-premul()}. 
+\end{DoxySeeAlso}
+\index{Evas\_\-Utils@{Evas\_\-Utils}!evas\_\-color\_\-hsv\_\-to\_\-rgb@{evas\_\-color\_\-hsv\_\-to\_\-rgb}}
+\index{evas\_\-color\_\-hsv\_\-to\_\-rgb@{evas\_\-color\_\-hsv\_\-to\_\-rgb}!Evas_Utils@{Evas\_\-Utils}}
+\subsubsection[{evas\_\-color\_\-hsv\_\-to\_\-rgb}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-color\_\-hsv\_\-to\_\-rgb (
+\begin{DoxyParamCaption}
+\item[{float}]{ h, }
+\item[{float}]{ s, }
+\item[{float}]{ v, }
+\item[{int $\ast$}]{ r, }
+\item[{int $\ast$}]{ g, }
+\item[{int $\ast$}]{ b}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Utils_ga2a28c2e6ecdc72189040ae3f5bd829d0}
+
+
+Convert a given color from HSV to RGB format. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em h}]The Hue component of the color. \item[{\em s}]The Saturation component of the color. \item[{\em v}]The Value component of the color. \item[{\em r}]The Red component of the color. \item[{\em g}]The Green component of the color. \item[{\em b}]The Blue component of the color.\end{DoxyParams}
+This function converts a given color in HSV color format to RGB color format. \index{Evas\_\-Utils@{Evas\_\-Utils}!evas\_\-color\_\-rgb\_\-to\_\-hsv@{evas\_\-color\_\-rgb\_\-to\_\-hsv}}
+\index{evas\_\-color\_\-rgb\_\-to\_\-hsv@{evas\_\-color\_\-rgb\_\-to\_\-hsv}!Evas_Utils@{Evas\_\-Utils}}
+\subsubsection[{evas\_\-color\_\-rgb\_\-to\_\-hsv}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-color\_\-rgb\_\-to\_\-hsv (
+\begin{DoxyParamCaption}
+\item[{int}]{ r, }
+\item[{int}]{ g, }
+\item[{int}]{ b, }
+\item[{float $\ast$}]{ h, }
+\item[{float $\ast$}]{ s, }
+\item[{float $\ast$}]{ v}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Utils_ga4054acb14873d5923306ddde5537171d}
+
+
+Convert a given color from RGB to HSV format. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em r}]The Red component of the color. \item[{\em g}]The Green component of the color. \item[{\em b}]The Blue component of the color. \item[{\em h}]The Hue component of the color. \item[{\em s}]The Saturation component of the color. \item[{\em v}]The Value component of the color.\end{DoxyParams}
+This function converts a given color in RGB color format to HSV color format. \index{Evas\_\-Utils@{Evas\_\-Utils}!evas\_\-data\_\-argb\_\-premul@{evas\_\-data\_\-argb\_\-premul}}
+\index{evas\_\-data\_\-argb\_\-premul@{evas\_\-data\_\-argb\_\-premul}!Evas_Utils@{Evas\_\-Utils}}
+\subsubsection[{evas\_\-data\_\-argb\_\-premul}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-data\_\-argb\_\-premul (
+\begin{DoxyParamCaption}
+\item[{unsigned int $\ast$}]{ data, }
+\item[{unsigned int}]{ len}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Utils_gad61423a02fa7c3cb0293c3bdd5516216}
+
+
+Pre-\/multiplies data by an alpha factor. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em data}]The data value. \item[{\em len}]The length value.\end{DoxyParams}
+This function pre-\/multiplies a given data by an alpha factor. Alpha factor is used to define transparency. \index{Evas\_\-Utils@{Evas\_\-Utils}!evas\_\-data\_\-argb\_\-unpremul@{evas\_\-data\_\-argb\_\-unpremul}}
+\index{evas\_\-data\_\-argb\_\-unpremul@{evas\_\-data\_\-argb\_\-unpremul}!Evas_Utils@{Evas\_\-Utils}}
+\subsubsection[{evas\_\-data\_\-argb\_\-unpremul}]{\setlength{\rightskip}{0pt plus 5cm}EAPI void evas\_\-data\_\-argb\_\-unpremul (
+\begin{DoxyParamCaption}
+\item[{unsigned int $\ast$}]{ data, }
+\item[{unsigned int}]{ len}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Utils_ga6794135ce6545bd5e16f6563043a8f18}
+
+
+Undo pre-\/multiplication data by an alpha factor. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em data}]The data value. \item[{\em len}]The length value.\end{DoxyParams}
+This function undoes pre-\/multiplication of a given data by an alpha factor. Alpha factor is used to define transparency. \index{Evas\_\-Utils@{Evas\_\-Utils}!evas\_\-load\_\-error\_\-str@{evas\_\-load\_\-error\_\-str}}
+\index{evas\_\-load\_\-error\_\-str@{evas\_\-load\_\-error\_\-str}!Evas_Utils@{Evas\_\-Utils}}
+\subsubsection[{evas\_\-load\_\-error\_\-str}]{\setlength{\rightskip}{0pt plus 5cm}EAPI const char$\ast$ evas\_\-load\_\-error\_\-str (
+\begin{DoxyParamCaption}
+\item[{{\bf Evas\_\-Load\_\-Error}}]{ error}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Utils_ga50bb423e88ce97cf82cca9b316fc7a1a}
+
+
+Converts the given error code into a string describing it in english. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em error}]the error code. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+Always return a valid string. If given {\ttfamily error} is not supported \char`\"{}Unknown error\char`\"{} is returned. 
+\end{DoxyReturn}
+
+
+References EVAS\_\-LOAD\_\-ERROR\_\-CORRUPT\_\-FILE, EVAS\_\-LOAD\_\-ERROR\_\-DOES\_\-NOT\_\-EXIST, EVAS\_\-LOAD\_\-ERROR\_\-GENERIC, EVAS\_\-LOAD\_\-ERROR\_\-NONE, EVAS\_\-LOAD\_\-ERROR\_\-PERMISSION\_\-DENIED, EVAS\_\-LOAD\_\-ERROR\_\-RESOURCE\_\-ALLOCATION\_\-FAILED, and EVAS\_\-LOAD\_\-ERROR\_\-UNKNOWN\_\-FORMAT.
+
+\index{Evas\_\-Utils@{Evas\_\-Utils}!evas\_\-string\_\-char\_\-len\_\-get@{evas\_\-string\_\-char\_\-len\_\-get}}
+\index{evas\_\-string\_\-char\_\-len\_\-get@{evas\_\-string\_\-char\_\-len\_\-get}!Evas_Utils@{Evas\_\-Utils}}
+\subsubsection[{evas\_\-string\_\-char\_\-len\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-string\_\-char\_\-len\_\-get (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{ str}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Utils_gaf9edd726590b1f56ca3e566ba1a2dbb2}
+
+
+Get the length in characters of the string. 
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em str}]The string to get the length of. \end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The length in characters (not bytes) 
+\end{DoxyReturn}
+\index{Evas\_\-Utils@{Evas\_\-Utils}!evas\_\-string\_\-char\_\-next\_\-get@{evas\_\-string\_\-char\_\-next\_\-get}}
+\index{evas\_\-string\_\-char\_\-next\_\-get@{evas\_\-string\_\-char\_\-next\_\-get}!Evas_Utils@{Evas\_\-Utils}}
+\subsubsection[{evas\_\-string\_\-char\_\-next\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-string\_\-char\_\-next\_\-get (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{ str, }
+\item[{int}]{ pos, }
+\item[{int $\ast$}]{ decoded}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Utils_ga31161605cf449d16e0ea0183509a1e3b}
+
+
+Gets the next character in the string. 
+
+Given the UTF-\/8 string in {\ttfamily str}, and starting byte position in {\ttfamily pos}, this function will place in {\ttfamily decoded} the decoded code point at {\ttfamily pos} and return the byte index for the next character in the string.
+
+The only boundary check done is that {\ttfamily pos} must be $>$= 0. Other than that, no checks are performed, so passing an index value that's not within the length of the string will result in undefined behavior.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em str}]The UTF-\/8 string \item[{\em pos}]The byte index where to start \item[{\em decoded}]Address where to store the decoded code point. Optional.\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The byte index of the next character 
+\end{DoxyReturn}
+\index{Evas\_\-Utils@{Evas\_\-Utils}!evas\_\-string\_\-char\_\-prev\_\-get@{evas\_\-string\_\-char\_\-prev\_\-get}}
+\index{evas\_\-string\_\-char\_\-prev\_\-get@{evas\_\-string\_\-char\_\-prev\_\-get}!Evas_Utils@{Evas\_\-Utils}}
+\subsubsection[{evas\_\-string\_\-char\_\-prev\_\-get}]{\setlength{\rightskip}{0pt plus 5cm}EAPI int evas\_\-string\_\-char\_\-prev\_\-get (
+\begin{DoxyParamCaption}
+\item[{const char $\ast$}]{ str, }
+\item[{int}]{ pos, }
+\item[{int $\ast$}]{ decoded}
+\end{DoxyParamCaption}
+)}\label{group__Evas__Utils_ga20119def41aa1f24aea7961b3fa0fd72}
+
+
+Gets the previous character in the string. 
+
+Given the UTF-\/8 string in {\ttfamily str}, and starting byte position in {\ttfamily pos}, this function will place in {\ttfamily decoded} the decoded code point at {\ttfamily pos} and return the byte index for the previous character in the string.
+
+The only boundary check done is that {\ttfamily pos} must be $>$= 1. Other than that, no checks are performed, so passing an index value that's not within the length of the string will result in undefined behavior.
+
+
+\begin{DoxyParams}{Parameters}
+\item[{\em str}]The UTF-\/8 string \item[{\em pos}]The byte index where to start \item[{\em decoded}]Address where to store the decoded code point. Optional.\end{DoxyParams}
+\begin{DoxyReturn}{Returns}
+The byte index of the previous character 
+\end{DoxyReturn}
diff --git a/doc/latex/hierarchy.tex b/doc/latex/hierarchy.tex
new file mode 100644 (file)
index 0000000..3b849f4
--- /dev/null
@@ -0,0 +1,27 @@
+\section{Class Hierarchy}
+This inheritance list is sorted roughly, but not completely, alphabetically:\begin{DoxyCompactList}
+\item \contentsline{section}{\_\-Evas\_\-Coord\_\-Rectangle}{\pageref{struct__Evas__Coord__Rectangle}}{}
+\item \contentsline{section}{\_\-Evas\_\-Cserve\_\-Config}{\pageref{struct__Evas__Cserve__Config}}{}
+\item \contentsline{section}{\_\-Evas\_\-Cserve\_\-Image}{\pageref{struct__Evas__Cserve__Image}}{}
+\item \contentsline{section}{\_\-Evas\_\-Cserve\_\-Image\_\-Cache}{\pageref{struct__Evas__Cserve__Image__Cache}}{}
+\item \contentsline{section}{\_\-Evas\_\-Cserve\_\-Stats}{\pageref{struct__Evas__Cserve__Stats}}{}
+\item \contentsline{section}{\_\-Evas\_\-Engine\_\-Info}{\pageref{struct__Evas__Engine__Info}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Hold}{\pageref{struct__Evas__Event__Hold}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Key\_\-Down}{\pageref{struct__Evas__Event__Key__Down}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Key\_\-Up}{\pageref{struct__Evas__Event__Key__Up}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Mouse\_\-Down}{\pageref{struct__Evas__Event__Mouse__Down}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Mouse\_\-In}{\pageref{struct__Evas__Event__Mouse__In}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Mouse\_\-Move}{\pageref{struct__Evas__Event__Mouse__Move}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Mouse\_\-Out}{\pageref{struct__Evas__Event__Mouse__Out}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Mouse\_\-Up}{\pageref{struct__Evas__Event__Mouse__Up}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Mouse\_\-Wheel}{\pageref{struct__Evas__Event__Mouse__Wheel}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Multi\_\-Down}{\pageref{struct__Evas__Event__Multi__Down}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Multi\_\-Move}{\pageref{struct__Evas__Event__Multi__Move}}{}
+\item \contentsline{section}{\_\-Evas\_\-Event\_\-Multi\_\-Up}{\pageref{struct__Evas__Event__Multi__Up}}{}
+\item \contentsline{section}{\_\-Evas\_\-Object\_\-Box\_\-Data}{\pageref{struct__Evas__Object__Box__Data}}{}
+\item \contentsline{section}{\_\-Evas\_\-Smart\_\-Cb\_\-Description}{\pageref{struct__Evas__Smart__Cb__Description}}{}
+\item \contentsline{section}{\_\-Evas\_\-Smart\_\-Class}{\pageref{struct__Evas__Smart__Class}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{\_\-Evas\_\-Object\_\-Box\_\-Api}{\pageref{struct__Evas__Object__Box__Api}}{}
+\end{DoxyCompactList}
+\end{DoxyCompactList}
diff --git a/doc/latex/index.tex b/doc/latex/index.tex
new file mode 100644 (file)
index 0000000..449fece
--- /dev/null
@@ -0,0 +1,499 @@
+
+
+\begin{DoxyVersion}{Version}
+1.0.999.0 
+\end{DoxyVersion}
+\begin{DoxyAuthor}{Author}
+Carsten Haitzler $<$raster@rasterman.com$>$ 
+
+Till Adam $<$till@adam-\/lilienthal.de$>$ 
+
+Steve Ireland $<$sireland@pobox.com$>$ 
+
+Brett Nash $<$nash@nash.id.au$>$ 
+
+Tilman Sauerbeck $<$tilman@code-\/monkey.de$>$ 
+
+Corey Donohoe $<$atmos@atmos.org$>$ 
+
+Yuri Hudobin $<$glassy\_\-ape@users.sourceforge.net$>$ 
+
+Nathan Ingersoll $<$ningerso@d.umn.edu$>$ 
+
+Willem Monsuwe $<$willem@stack.nl$>$ 
+
+Jose O Gonzalez $<$jose\_\-ogp@juno.com$>$ 
+
+Bernhard Nemec $<$Bernhard.Nemec@viasyshc.com$>$ 
+
+Jorge Luis Zapata Muga $<$jorgeluis.zapata@gmail.com$>$ 
+
+Cedric Bail $<$cedric.bail@free.fr$>$ 
+
+Gustavo Sverzut Barbieri $<$barbieri@profusion.mobi$>$ 
+
+Vincent Torri $<$vtorri@univ-\/evry.fr$>$ 
+
+Tim Horton $<$hortont424@gmail.com$>$ 
+
+Tom Hacohen $<$tom@stosb.com$>$ 
+
+Mathieu Taillefumier $<$mathieu.taillefumier@free.fr$>$ 
+
+Iván Briano $<$ivan@profusion.mobi$>$ 
+
+Gustavo Lima Chaves $<$glima@profusion.mobi$>$ 
+
+Samsung Electronics $<$tbd$>$ 
+
+Samsung SAIT $<$tbd$>$ 
+
+Sung W. Park $<$sungwoo@gmail.com$>$ 
+
+Jiyoun Park $<$jy0703.park@samsung.com$>$ 
+\end{DoxyAuthor}
+\begin{DoxyDate}{Date}
+2000-\/2011
+\end{DoxyDate}
+\hypertarget{index_toc}{}\section{Table of Contents}\label{index_toc}
+\begin{DoxyItemize}
+\item \hyperlink{index_intro}{What is Evas?} \item \hyperlink{index_work}{How does Evas work?} \item \hyperlink{index_compiling}{How to compile using Evas ?} \item \hyperlink{index_install}{How is it installed?} \item \hyperlink{index_next_steps}{Next Steps} \item \hyperlink{index_intro_example}{Introductory Example}\end{DoxyItemize}
+\hypertarget{index_intro}{}\section{What is Evas?}\label{index_intro}
+Evas is a clean display canvas API for several target display systems that can draw anti-\/aliased text, smooth super and sub-\/sampled scaled images, alpha-\/blend objects much and more.
+
+It abstracts any need to know much about what the characteristics of your display system are or what graphics calls are used to draw them and how. It deals on an object level where all you do is create and manipulate objects in a canvas, set their properties, and the rest is done for you.
+
+Evas optimises the rendering pipeline to minimise effort in redrawing changes made to the canvas and so takes this work out of the programmers hand, saving a lot of time and energy.
+
+It's small and lean, designed to work on embedded systems all the way to large and powerful multi-\/cpu workstations. It can be compiled to only have the features you need for your target platform if you so wish, thus keeping it small and lean. It has several display back-\/ends, letting it display on several display systems, making it portable for cross-\/device and cross-\/platform development.\hypertarget{index_intro_not_evas}{}\subsection{What Evas is not?}\label{index_intro_not_evas}
+Evas is not a widget set or widget toolkit, however it is their base. See Elementary (\href{http://docs.enlightenment.org/auto/elementary/}{\tt http://docs.enlightenment.org/auto/elementary/}) for a toolkit based on Evas, Edje, Ecore and other Enlightenment technologies.
+
+It is not dependent or aware of main loops, input or output systems. Input should be polled from various sources and feed them to Evas. Similarly, it will not create windows or report windows updates to your system, rather just drawing the pixels and reporting to the user the areas that were changed. Of course these operations are quite common and thus they are ready to use in Ecore, particularly in Ecore\_\-Evas (\href{http://docs.enlightenment.org/auto/ecore/}{\tt http://docs.enlightenment.org/auto/ecore/}).\hypertarget{index_work}{}\section{How does Evas work?}\label{index_work}
+Evas is a canvas display library. This is markedly different from most display and windowing systems as a Canvas is structural and is also a state engine, whereas most display and windowing systems are immediate mode display targets. Evas handles the logic between a structural display via its' state engine, and controls the target windowing system in order to produce rendered results of the current canvases state on the display.
+
+Immediate mode display systems retain very little, or no state. A program will execute a series of commands, as in the pseudo code:
+
+\begin{DoxyVerb}
+draw line from position (0, 0) to position (100, 200);
+
+draw rectangle from position (10, 30) to position (50, 500);
+
+bitmap_handle = create_bitmap();
+scale bitmap_handle to size 100 x 100;
+draw image bitmap_handle at position (10, 30);
+\end{DoxyVerb}
+
+
+The series of commands is executed by the windowing system and the results are displayed on the screen (normally). Once the commands are executed the display system has little or no idea of how to reproduce this image again, and so has to be instructed by the application how to redraw sections of the screen whenever needed. Each successive command will be executed as instructed by the application and either emulated by software or sent to the graphics hardware on the device to be performed.
+
+The advantage of such a system is that it is simple, and gives a program tight control over how something looks and is drawn. Given the increasing complexity of displays and demands by users to have better looking interfaces, more and more work is needing to be done at this level by the internals of widget sets, custom display widgets and other programs. This means more and more logic and display rendering code needs to be written time and time again, each time the application needs to figure out how to minimise redraws so that display is fast and interactive, and keep track of redraw logic. The power comes at a high-\/price, lots of extra code and work. Programmers not very familiar with graphics programming will often make mistakes at this level and produce code that is sub optimal. Those familiar with this kind of programming will simply get bored by writing the same code again and again.
+
+For example, if in the above scene, the windowing system requires the application to redraw the area from 0, 0 to 50, 50 (also referred as \char`\"{}expose event\char`\"{}), then the programmer must calculate manually the updates and repaint it again:
+
+\begin{DoxyVerb}
+Redraw from position (0, 0) to position (50, 50):
+
+// what was in area (0, 0, 50, 50)?
+
+// 1. intersection part of line (0, 0) to (100, 200)?
+      draw line from position (0, 0) to position (25, 50);
+
+// 2. intersection part of rectangle (10, 30) to (50, 500)?
+      draw rectangle from position (10, 30) to position (50, 50)
+
+// 3. intersection part of image at (10, 30), size 100 x 100?
+      bitmap_subimage = subregion from position (0, 0) to position (40, 20)
+      draw image bitmap_subimage at position (10, 30);
+\end{DoxyVerb}
+
+
+The clever reader might have noticed that, if all elements in the above scene are opaque, then the system is doing useless paints: part of the line is behind the rectangle, and part of the rectangle is behind the image. These useless paints tends to be very costly, as pixels tend to be 4 bytes in size, thus an overlapping region of 100 x 100 pixels is around 40000 useless writes! The developer could write code to calculate the overlapping areas and avoid painting then, but then it should be mixed with the \char`\"{}expose event\char`\"{} handling mentioned above and quickly one realizes the initially simpler method became really complex.
+
+Evas is a structural system in which the programmer creates and manages display objects and their properties, and as a result of this higher level state management, the canvas is able to redraw the set of objects when needed to represent the current state of the canvas.
+
+For example, the pseudo code:
+
+\begin{DoxyVerb}
+line_handle = create_line();
+set line_handle from position (0, 0) to position (100, 200);
+show line_handle;
+
+rectangle_handle = create_rectangle();
+move rectangle_handle to position (10, 30);
+resize rectangle_handle to size 40 x 470;
+show rectangle_handle;
+
+bitmap_handle = create_bitmap();
+scale bitmap_handle to size 100 x 100;
+move bitmap_handle to position (10, 30);
+show bitmap_handle;
+
+render scene;
+\end{DoxyVerb}
+
+
+This may look longer, but when the display needs to be refreshed or updated, the programmer only moves, resizes, shows, hides etc. the objects that they need to change. The programmer simply thinks at the object logic level, and the canvas software does the rest of the work for them, figuring out what actually changed in the canvas since it was last drawn, how to most efficiently redraw he canvas and its contents to reflect the current state, and then it can go off and do the actual drawing of the canvas.
+
+This lets the programmer think in a more natural way when dealing with a display, and saves time and effort of working out how to load and display images, render given the current display system etc. Since Evas also is portable across different display systems, this also gives the programmer the ability to have their code ported and display on different display systems with very little work.
+
+Evas can be seen as a display system that stands somewhere between a widget set and an immediate mode display system. It retains basic display logic, but does very little high-\/level logic such as scrollbars, sliders, push buttons etc.\hypertarget{index_compiling}{}\section{How to compile using Evas ?}\label{index_compiling}
+Evas is a library your application links to. The procedure for this is very simple. You simply have to compile your application with the appropriate compiler flags that the {\ttfamily pkg-\/config} script outputs. For example:
+
+Compiling C or C++ files into object files:
+
+\begin{DoxyVerb}
+gcc -c -o main.o main.c `pkg-config --cflags evas`
+\end{DoxyVerb}
+
+
+Linking object files into a binary executable:
+
+\begin{DoxyVerb}
+gcc -o my_application main.o `pkg-config --libs evas`
+\end{DoxyVerb}
+
+
+You simply have to make sure that pkg-\/config is in your shell's PATH (see the manual page for your appropriate shell) and evas.pc in /usr/lib/pkgconfig or its path is in the PKG\_\-CONFIG\_\-PATH environment variable. It's that simple to link and use Evas once you have written your code to use it.
+
+Since the program is linked to Evas, it is now able to use any advertised API calls to display graphics in a canvas managed by Evas, as well as use the API calls provided to manage data as well.
+
+You should make sure you add any extra compile and link flags to your compile commands that your application may need as well. The above example is only guaranteed to make Evas add it's own requirements.\hypertarget{index_install}{}\section{How is it installed?}\label{index_install}
+Simple:
+
+\begin{DoxyVerb}
+./configure
+make
+su -
+...
+make install
+\end{DoxyVerb}
+\hypertarget{index_next_steps}{}\section{Next Steps}\label{index_next_steps}
+After you understood what Evas is and installed it in your system you should proceed understanding the programming interface for all objects, then see the specific for the most used elements. We'd recommend you to take a while to learn Ecore (\href{http://docs.enlightenment.org/auto/ecore/}{\tt http://docs.enlightenment.org/auto/ecore/}) and Edje (\href{http://docs.enlightenment.org/auto/edje/}{\tt http://docs.enlightenment.org/auto/edje/}) as they will likely save you tons of work compared to using just Evas directly.
+
+Recommended reading:
+
+\begin{DoxyItemize}
+\item \hyperlink{group__Evas__Object__Group}{Generic Object Functions} \item \hyperlink{group__Evas__Object__Rectangle}{Rectangle Object Functions} \item \hyperlink{group__Evas__Object__Image}{Image Object Functions} \item \hyperlink{group__Evas__Object__Text}{Text Object Functions} \item \hyperlink{group__Evas__Smart__Object__Group}{Smart Object Functions} and \hyperlink{group__Evas__Smart__Group}{Smart Functions} to define an object that provides custom functions to handle clipping, hiding, moving, resizing, setting the color and more. These could be as simple as a group of objects that move together (see \hyperlink{group__Evas__Smart__Object__Clipped}{Clipped Smart Object}). These smart objects can implement what ends to be a widget, providing some intelligence (thus the name), like a button or check box.\end{DoxyItemize}
+\hypertarget{index_intro_example}{}\section{Introductory Example}\label{index_intro_example}
+
+\begin{DoxyCodeInclude}
+/**
+ * Simple Evas example using the Buffer engine.
+ *
+ * You must have Evas compiled with the buffer engine, and have the
+ * evas-software-buffer pkg-config files installed.
+ *
+ * Compile with:
+ *
+ * @verbatim
+ * gcc -o evas-buffer-simple evas-buffer-simple.c `pkg-config --libs --cflags eva
+      s evas-software-buffer`
+ * @endverbatim
+ *
+ */
+#include <Evas.h>
+#include <Evas_Engine_Buffer.h>
+#include <stdio.h>
+#include <errno.h>
+
+#define WIDTH (320)
+#define HEIGHT (240)
+
+/*
+ * create_canvas(), destroy_canvas() and draw_scene() are support functions.
+ *
+ * They are only required to use raw Evas, but for real world usage,
+ * it is recommended to use ecore and its ecore-evas submodule, that
+ * provide convenience canvas creators, integration with main loop and
+ * automatic render of updates (draw_scene()) when system goes back to
+ * main loop.
+ */
+static Evas *create_canvas(int width, int height);
+static void destroy_canvas(Evas *canvas);
+static void draw_scene(Evas *canvas);
+
+// support function to save scene as PPM image
+static void save_scene(Evas *canvas, const char *dest);
+
+int main(void)
+{
+   Evas *canvas;
+   Evas_Object *bg, *r1, *r2, *r3;
+
+   evas_init();
+
+   // create your canvas
+   // NOTE: consider using ecore_evas_buffer_new() instead!
+   canvas = create_canvas(WIDTH, HEIGHT);
+   if (!canvas)
+     return -1;
+
+   bg = evas_object_rectangle_add(canvas);
+   evas_object_color_set(bg, 255, 255, 255, 255); // white bg
+   evas_object_move(bg, 0, 0);                    // at origin
+   evas_object_resize(bg, WIDTH, HEIGHT);         // covers full canvas
+   evas_object_show(bg);
+
+   puts("initial scene, with just background:");
+   draw_scene(canvas);
+
+   r1 = evas_object_rectangle_add(canvas);
+   evas_object_color_set(r1, 255, 0, 0, 255); // 100% opaque red
+   evas_object_move(r1, 10, 10);
+   evas_object_resize(r1, 100, 100);
+   evas_object_show(r1);
+
+   // pay attention to transparency! Evas color values are pre-multiplied by
+   // alpha, so 50% opaque green is:
+   // non-premul: r=0, g=255, b=0    a=128 (50% alpha)
+   // premul:
+   //         r_premul = r * a / 255 =      0 * 128 / 255 =      0
+   //         g_premul = g * a / 255 =    255 * 128 / 255 =    128
+   //         b_premul = b * a / 255 =      0 * 128 / 255 =      0
+   //
+   // this 50% green is over a red background, so it will show in the
+   // final output as yellow (green + red = yellow)
+   r2 = evas_object_rectangle_add(canvas);
+   evas_object_color_set(r2, 0, 128, 0, 128); // 50% opaque green
+   evas_object_move(r2, 10, 10);
+   evas_object_resize(r2, 50, 50);
+   evas_object_show(r2);
+
+   r3 = evas_object_rectangle_add(canvas);
+   evas_object_color_set(r3, 0, 128, 0, 255); // 100% opaque dark green
+   evas_object_move(r3, 60, 60);
+   evas_object_resize(r3, 50, 50);
+   evas_object_show(r3);
+
+   puts("final scene (note updates):");
+   draw_scene(canvas);
+   save_scene(canvas, "/tmp/evas-buffer-simple-render.ppm");
+
+   // NOTE: use ecore_evas_buffer_new() and here ecore_evas_free()
+   destroy_canvas(canvas);
+
+   evas_shutdown();
+
+   return 0;
+}
+
+static Evas *create_canvas(int width, int height)
+{
+   Evas *canvas;
+   Evas_Engine_Info_Buffer *einfo;
+   int method;
+   void *pixels;
+
+   method = evas_render_method_lookup("buffer");
+   if (method <= 0)
+     {
+        fputs("ERROR: evas was not compiled with 'buffer' engine!\n", stderr);
+        return NULL;
+     }
+
+   canvas = evas_new();
+   if (!canvas)
+     {
+        fputs("ERROR: could not instantiate new evas canvas.\n", stderr);
+        return NULL;
+     }
+
+   evas_output_method_set(canvas, method);
+   evas_output_size_set(canvas, width, height);
+   evas_output_viewport_set(canvas, 0, 0, width, height);
+
+   einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(canvas);
+   if (!einfo)
+     {
+        fputs("ERROR: could not get evas engine info!\n", stderr);
+        evas_free(canvas);
+        return NULL;
+     }
+
+   // ARGB32 is sizeof(int), that is 4 bytes, per pixel
+   pixels = malloc(width * height * sizeof(int));
+   if (!pixels)
+     {
+        fputs("ERROR: could not allocate canvas pixels!\n", stderr);
+        evas_free(canvas);
+        return NULL;
+     }
+
+   einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
+   einfo->info.dest_buffer = pixels;
+   einfo->info.dest_buffer_row_bytes = width * sizeof(int);
+   einfo->info.use_color_key = 0;
+   einfo->info.alpha_threshold = 0;
+   einfo->info.func.new_update_region = NULL;
+   einfo->info.func.free_update_region = NULL;
+   evas_engine_info_set(canvas, (Evas_Engine_Info *)einfo);
+
+   return canvas;
+}
+
+static void destroy_canvas(Evas *canvas)
+{
+   Evas_Engine_Info_Buffer *einfo;
+
+   einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(canvas);
+   if (!einfo)
+     {
+        fputs("ERROR: could not get evas engine info!\n", stderr);
+        evas_free(canvas);
+        return;
+     }
+
+   free(einfo->info.dest_buffer);
+   evas_free(canvas);
+}
+
+static void draw_scene(Evas *canvas)
+{
+   Eina_List *updates, *n;
+   Eina_Rectangle *update;
+
+   // render and get the updated rectangles:
+   updates = evas_render_updates(canvas);
+
+   // informative only here, just print the updated areas:
+   EINA_LIST_FOREACH(updates, n, update)
+     printf("UPDATED REGION: pos: %3d, %3d    size: %3dx%3d\n",
+            update->x, update->y, update->w, update->h);
+
+   // free list of updates
+   evas_render_updates_free(updates);
+}
+
+static void save_scene(Evas *canvas, const char *dest)
+{
+   Evas_Engine_Info_Buffer *einfo;
+   const unsigned int *pixels, *pixels_end;
+   int width, height;
+   FILE *f;
+
+   einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(canvas);
+   if (!einfo)
+     {
+        fputs("ERROR: could not get evas engine info!\n", stderr);
+        return;
+     }
+   evas_output_size_get(canvas, &width, &height);
+
+   f = fopen(dest, "wb+");
+   if (!f)
+     {
+        fprintf(stderr, "ERROR: could not open for writing '%s': %s\n",
+                dest, strerror(errno));
+        return;
+     }
+
+   pixels = einfo->info.dest_buffer;
+   pixels_end = pixels + (width * height);
+
+   // PPM P6 format is dead simple to write:
+   fprintf(f, "P6\n%d %d\n255\n",  width, height);
+   for (; pixels < pixels_end; pixels++)
+     {
+        int r, g, b;
+
+        r = ((*pixels) & 0xff0000) >> 16;
+        g = ((*pixels) & 0x00ff00) >> 8;
+        b = (*pixels) & 0x0000ff;
+
+        fprintf(f, "%c%c%c", r, g, b);
+     }
+
+   fclose(f);
+   printf("saved scene as '%s'\n", dest);
+}
+\end{DoxyCodeInclude}
+
+
+\begin{Desc}
+\item[\hyperlink{todo__todo000001}{Todo}](1.0) Need a way ot scaling an image and just PRODUCING the output (scaling direct to target buffe r-\/ no blend/copy etc.) 
+
+(1.0) Could improve evas's scaling down code to limit multiple samples per output pixel to maybe 2x2? 
+
+(1.0) Document API 
+
+(1.0) Evas needs to check delete\_\-me member for all object functions 
+
+(1.0) Evas engine that renders to Evas\_\-Objects 
+
+(1.0) OpenGL engine needs to use texture meshes 
+
+(1.0) OpenGL engine needs texture cache and size setting 
+
+(1.0) OpenGL Engine needs YUV import API to YUV texture 
+
+(1.0) All engines need pixel import API 
+
+(1.0) Add parital render through composite layer api to engines 
+
+(1.0) Move callback processing to a queue and do it asynchronously??? 
+
+(1.0) Add button grabbing 
+
+(1.0) Add generic object method call system 
+
+(1.0) Add callbacks set for smart object parents to be set on all child smart objects too. 
+
+(1.0) Add font load query calls (so we know if a font load failed) 
+
+(1.0) Add font listing calls 
+
+(1.0) Add ability to check image comments \& disk format 
+
+(1.0) Add fontset support 
+
+(1.0) Export engine rendering API cleanly to Evas API 
+
+(1.0) Add smart object ability to provide rendering callback 
+
+(1.1) Make freetype optional and put in optional graymap font engine 
+
+(1.1) Free images if object invisible (and put back in chache) 
+
+(1.1) Check robustness of malloc/calloc/realloc failures. 
+
+(1.1) Add memory use reduction code if any allocations fail 
+
+(1.1) If image loads fails due to memory allocatue failure, load reduced res version 
+
+(1.1) If image load fails due to memory allocation failure, try split it up into tiles and demand-\/load them 
+
+(1.2) Add external image loaders (application provided callbacks to load) 
+
+(1.2) Add loadable image loader module support (evas loads file.so) 
+
+(1.2) Add external image loader modules (application provides path to file.so) 
+
+(1.3) Add X11 primtive engine (ie pixmap) 
+
+(1.3) Add immediate mode drawing commands to image objects 
+
+(1.3) Fix FB engine to allocate vt and release properly 
+
+(1.4) Add ellipse objects (circle, arc, ellipse etc.) 
+
+(1.5) Make software engine draw lines \& polys etc. with aa 
+
+(1.5) Add radial gradients to gradient objects 
+
+(1.5) Add Symbian Engine 
+
+(1.6) Add PalmOS Engine 
+
+(1.6) Add Apple OpenGL Engine 
+
+(1.7) Document engine API and other internals 
+
+(1.7) Allow any object to clip any other object, and not just rectangles 
+
+(1.8) Add more evas demos 
+
+(1.9) Write the error mechanism in evas\_\-xcb\_\-buffer.c 
+
+(1.9) Rewrite the render xcb engine 
+
+(1.10) Improve Win32 Direct3D Engine\end{Desc}
diff --git a/doc/latex/modules.tex b/doc/latex/modules.tex
new file mode 100644 (file)
index 0000000..d8cd717
--- /dev/null
@@ -0,0 +1,47 @@
+\section{Modules}
+Here is a list of all modules:\begin{DoxyCompactList}
+\item \contentsline{section}{Top Level Functions}{\pageref{group__Evas__Group}}{}
+\item \contentsline{section}{Canvas Functions}{\pageref{group__Evas__Canvas}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{Render Engine Functions}{\pageref{group__Evas__Output__Method}}{}
+\item \contentsline{section}{Output and Viewport Resizing Functions}{\pageref{group__Evas__Output__Size}}{}
+\item \contentsline{section}{Coordinate Mapping Functions}{\pageref{group__Evas__Coord__Mapping__Group}}{}
+\item \contentsline{section}{Pointer (Mouse) Functions}{\pageref{group__Evas__Pointer__Group}}{}
+\item \contentsline{section}{Event Freezing Functions}{\pageref{group__Evas__Event__Freezing__Group}}{}
+\item \contentsline{section}{Event Feeding Functions}{\pageref{group__Evas__Event__Feeding__Group}}{}
+\item \contentsline{section}{Canvas Events}{\pageref{group__Evas__Canvas__Events}}{}
+\item \contentsline{section}{Image Functions}{\pageref{group__Evas__Image__Group}}{}
+\item \contentsline{section}{Font Functions}{\pageref{group__Evas__Font__Group}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{Font Path Functions}{\pageref{group__Evas__Font__Path__Group}}{}
+\end{DoxyCompactList}
+\end{DoxyCompactList}
+\item \contentsline{section}{Generic Object Functions}{\pageref{group__Evas__Object__Group}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{Basic Object Manipulation}{\pageref{group__Evas__Object__Group__Basic}}{}
+\item \contentsline{section}{Object Events}{\pageref{group__Evas__Object__Group__Events}}{}
+\item \contentsline{section}{UV Mapping (Rotation, Perspecitve, 3D...)}{\pageref{group__Evas__Object__Group__Map}}{}
+\item \contentsline{section}{Size Hints}{\pageref{group__Evas__Object__Group__Size__Hints}}{}
+\item \contentsline{section}{Extra Object Manipulation}{\pageref{group__Evas__Object__Group__Extras}}{}
+\item \contentsline{section}{Finding Objects}{\pageref{group__Evas__Object__Group__Find}}{}
+\item \contentsline{section}{Object Method Interceptors}{\pageref{group__Evas__Object__Group__Interceptors}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{Specific Object Functions}{\pageref{group__Evas__Object__Specific}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{Rectangle Object Functions}{\pageref{group__Evas__Object__Rectangle}}{}
+\item \contentsline{section}{Image Object Functions}{\pageref{group__Evas__Object__Image}}{}
+\item \contentsline{section}{Text Object Functions}{\pageref{group__Evas__Object__Text}}{}
+\item \contentsline{section}{Textblock Object Functions}{\pageref{group__Evas__Object__Textblock}}{}
+\item \contentsline{section}{Line Object Functions}{\pageref{group__Evas__Line__Group}}{}
+\item \contentsline{section}{Polygon Object Functions}{\pageref{group__Evas__Object__Polygon}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{Smart Functions}{\pageref{group__Evas__Smart__Group}}{}
+\item \contentsline{section}{Smart Object Functions}{\pageref{group__Evas__Smart__Object__Group}}{}
+\begin{DoxyCompactList}
+\item \contentsline{section}{Clipped Smart Object}{\pageref{group__Evas__Smart__Object__Clipped}}{}
+\item \contentsline{section}{Box (Sequence) Smart Object.}{\pageref{group__Evas__Object__Box}}{}
+\item \contentsline{section}{Table Smart Object.}{\pageref{group__Evas__Object__Table}}{}
+\end{DoxyCompactList}
+\item \contentsline{section}{Shared Image Cache Server}{\pageref{group__Evas__Cserve}}{}
+\item \contentsline{section}{General Utilities}{\pageref{group__Evas__Utils}}{}
+\end{DoxyCompactList}
diff --git a/doc/latex/refman.tex b/doc/latex/refman.tex
new file mode 100644 (file)
index 0000000..8fafe01
--- /dev/null
@@ -0,0 +1,124 @@
+\documentclass[a4paper]{book}
+\usepackage{a4wide}
+\usepackage{makeidx}
+\usepackage{graphicx}
+\usepackage{multicol}
+\usepackage{float}
+\usepackage{listings}
+\usepackage{color}
+\usepackage{textcomp}
+\usepackage{alltt}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage[pdftex,
+            pagebackref=true,
+            colorlinks=true,
+            linkcolor=blue,
+            unicode
+           ]{hyperref}
+\else
+\usepackage[ps2pdf,
+            pagebackref=true,
+            colorlinks=true,
+            linkcolor=blue,
+            unicode
+           ]{hyperref}
+\usepackage{pspicture}
+\fi
+\usepackage[utf8]{inputenc}
+\usepackage{doxygen}
+\lstset{language=C++,inputencoding=utf8,basicstyle=\footnotesize,breaklines=true,breakatwhitespace=true,tabsize=8,numbers=left }
+\makeindex
+\setcounter{tocdepth}{3}
+\renewcommand{\footrulewidth}{0.4pt}
+\begin{document}
+\begin{titlepage}
+\vspace*{7cm}
+\begin{center}
+{\Large Evas }\\
+\vspace*{1cm}
+{\large Generated by Doxygen 1.7.1}\\
+\vspace*{0.5cm}
+{\small Tue Apr 19 2011 18:18:29}\\
+\end{center}
+\end{titlepage}
+\clearemptydoublepage
+\pagenumbering{roman}
+\tableofcontents
+\clearemptydoublepage
+\pagenumbering{arabic}
+\chapter{Evas}
+\label{index}\hypertarget{index}{}\input{index}
+\chapter{Todo List}
+\label{todo}
+\input{todo}
+\chapter{Module Index}
+\input{modules}
+\chapter{Data Structure Index}
+\input{hierarchy}
+\chapter{Data Structure Index}
+\input{annotated}
+\chapter{File Index}
+\input{files}
+\chapter{Module Documentation}
+\input{group__Evas__Group}
+\input{group__Evas__Canvas}
+\input{group__Evas__Output__Method}
+\input{group__Evas__Output__Size}
+\input{group__Evas__Coord__Mapping__Group}
+\input{group__Evas__Pointer__Group}
+\input{group__Evas__Event__Freezing__Group}
+\input{group__Evas__Event__Feeding__Group}
+\input{group__Evas__Canvas__Events}
+\input{group__Evas__Image__Group}
+\input{group__Evas__Font__Group}
+\input{group__Evas__Font__Path__Group}
+\input{group__Evas__Object__Group}
+\input{group__Evas__Object__Group__Basic}
+\input{group__Evas__Object__Group__Events}
+\input{group__Evas__Object__Group__Map}
+\input{group__Evas__Object__Group__Size__Hints}
+\input{group__Evas__Object__Group__Extras}
+\input{group__Evas__Object__Group__Find}
+\input{group__Evas__Object__Group__Interceptors}
+\input{group__Evas__Object__Specific}
+\input{group__Evas__Object__Rectangle}
+\input{group__Evas__Object__Image}
+\input{group__Evas__Object__Text}
+\input{group__Evas__Object__Textblock}
+\input{group__Evas__Line__Group}
+\input{group__Evas__Object__Polygon}
+\input{group__Evas__Smart__Group}
+\input{group__Evas__Smart__Object__Group}
+\input{group__Evas__Smart__Object__Clipped}
+\input{group__Evas__Object__Box}
+\input{group__Evas__Object__Table}
+\input{group__Evas__Cserve}
+\input{group__Evas__Utils}
+\chapter{Data Structure Documentation}
+\input{struct__Evas__Coord__Rectangle}
+\input{struct__Evas__Cserve__Config}
+\input{struct__Evas__Cserve__Image}
+\input{struct__Evas__Cserve__Image__Cache}
+\input{struct__Evas__Cserve__Stats}
+\input{struct__Evas__Engine__Info}
+\input{struct__Evas__Event__Hold}
+\input{struct__Evas__Event__Key__Down}
+\input{struct__Evas__Event__Key__Up}
+\input{struct__Evas__Event__Mouse__Down}
+\input{struct__Evas__Event__Mouse__In}
+\input{struct__Evas__Event__Mouse__Move}
+\input{struct__Evas__Event__Mouse__Out}
+\input{struct__Evas__Event__Mouse__Up}
+\input{struct__Evas__Event__Mouse__Wheel}
+\input{struct__Evas__Event__Multi__Down}
+\input{struct__Evas__Event__Multi__Move}
+\input{struct__Evas__Event__Multi__Up}
+\input{struct__Evas__Object__Box__Api}
+\input{struct__Evas__Object__Box__Data}
+\input{struct__Evas__Smart__Cb__Description}
+\input{struct__Evas__Smart__Class}
+\chapter{File Documentation}
+\input{Evas_8h}
+\printindex
+\end{document}
diff --git a/doc/latex/struct__Evas__Coord__Rectangle.tex b/doc/latex/struct__Evas__Coord__Rectangle.tex
new file mode 100644 (file)
index 0000000..60f16de
--- /dev/null
@@ -0,0 +1,26 @@
+\section{\_\-Evas\_\-Coord\_\-Rectangle Struct Reference}
+\label{struct__Evas__Coord__Rectangle}\index{\_\-Evas\_\-Coord\_\-Rectangle@{\_\-Evas\_\-Coord\_\-Rectangle}}
+
+
+$<$ A rectangle in Evas\_\-Coord  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+Evas\_\-Coord \hyperlink{struct__Evas__Coord__Rectangle_a8281ece9529d16c84be8b388ea5ae983}{x}\label{struct__Evas__Coord__Rectangle_a8281ece9529d16c84be8b388ea5ae983}
+
+\begin{DoxyCompactList}\small\item\em top-\/left x co-\/ordinate of rectangle \item\end{DoxyCompactList}\item 
+Evas\_\-Coord \hyperlink{struct__Evas__Coord__Rectangle_adafcf87056501a29d628801e8cacd0d5}{y}\label{struct__Evas__Coord__Rectangle_adafcf87056501a29d628801e8cacd0d5}
+
+\begin{DoxyCompactList}\small\item\em top-\/left y co-\/ordinate of rectangle \item\end{DoxyCompactList}\item 
+Evas\_\-Coord \hyperlink{struct__Evas__Coord__Rectangle_a5a72fe41e483e3fcaefa1ee2fdd2f925}{w}\label{struct__Evas__Coord__Rectangle_a5a72fe41e483e3fcaefa1ee2fdd2f925}
+
+\begin{DoxyCompactList}\small\item\em width of rectangle \item\end{DoxyCompactList}\item 
+Evas\_\-Coord \hyperlink{struct__Evas__Coord__Rectangle_afb6159a85268fc627520a3436cf94a7a}{h}\label{struct__Evas__Coord__Rectangle_afb6159a85268fc627520a3436cf94a7a}
+
+\begin{DoxyCompactList}\small\item\em height of rectangle \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+$<$ A rectangle in Evas\_\-Coord 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Cserve__Config.tex b/doc/latex/struct__Evas__Cserve__Config.tex
new file mode 100644 (file)
index 0000000..68d5a24
--- /dev/null
@@ -0,0 +1,11 @@
+\section{\_\-Evas\_\-Cserve\_\-Config Struct Reference}
+\label{struct__Evas__Cserve__Config}\index{\_\-Evas\_\-Cserve\_\-Config@{\_\-Evas\_\-Cserve\_\-Config}}
+
+
+Configuration that controls the server that shares cached bitmaps.  
+
+
+
+
+\subsection{Detailed Description}
+Configuration that controls the server that shares cached bitmaps. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Cserve__Image.tex b/doc/latex/struct__Evas__Cserve__Image.tex
new file mode 100644 (file)
index 0000000..c908361
--- /dev/null
@@ -0,0 +1,11 @@
+\section{\_\-Evas\_\-Cserve\_\-Image Struct Reference}
+\label{struct__Evas__Cserve__Image}\index{\_\-Evas\_\-Cserve\_\-Image@{\_\-Evas\_\-Cserve\_\-Image}}
+
+
+An image shared by the server.  
+
+
+
+
+\subsection{Detailed Description}
+An image shared by the server. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Cserve__Image__Cache.tex b/doc/latex/struct__Evas__Cserve__Image__Cache.tex
new file mode 100644 (file)
index 0000000..9abd2b7
--- /dev/null
@@ -0,0 +1,11 @@
+\section{\_\-Evas\_\-Cserve\_\-Image\_\-Cache Struct Reference}
+\label{struct__Evas__Cserve__Image__Cache}\index{\_\-Evas\_\-Cserve\_\-Image\_\-Cache@{\_\-Evas\_\-Cserve\_\-Image\_\-Cache}}
+
+
+Cache of images shared by server.  
+
+
+
+
+\subsection{Detailed Description}
+Cache of images shared by server. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Cserve__Stats.tex b/doc/latex/struct__Evas__Cserve__Stats.tex
new file mode 100644 (file)
index 0000000..1426dc2
--- /dev/null
@@ -0,0 +1,32 @@
+\section{\_\-Evas\_\-Cserve\_\-Stats Struct Reference}
+\label{struct__Evas__Cserve__Stats}\index{\_\-Evas\_\-Cserve\_\-Stats@{\_\-Evas\_\-Cserve\_\-Stats}}
+
+
+Statistics about server that shares cached bitmaps.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Cserve__Stats_af7fa72c981c855ee8c0e49dd3395f113}{saved\_\-memory}\label{struct__Evas__Cserve__Stats_af7fa72c981c855ee8c0e49dd3395f113}
+
+\begin{DoxyCompactList}\small\item\em current saved memory, in bytes \item\end{DoxyCompactList}\item 
+int \hyperlink{struct__Evas__Cserve__Stats_ab98e8e5dd83545a2c6acc3c914ea488e}{wasted\_\-memory}\label{struct__Evas__Cserve__Stats_ab98e8e5dd83545a2c6acc3c914ea488e}
+
+\begin{DoxyCompactList}\small\item\em current wasted memory, in bytes \item\end{DoxyCompactList}\item 
+int \hyperlink{struct__Evas__Cserve__Stats_a9738ab5831d7b402111db096b6ff972b}{saved\_\-memory\_\-peak}\label{struct__Evas__Cserve__Stats_a9738ab5831d7b402111db096b6ff972b}
+
+\begin{DoxyCompactList}\small\item\em peak of saved memory, in bytes \item\end{DoxyCompactList}\item 
+int \hyperlink{struct__Evas__Cserve__Stats_afcdf3ed844a2e8241c0ee5986e6532bb}{wasted\_\-memory\_\-peak}\label{struct__Evas__Cserve__Stats_afcdf3ed844a2e8241c0ee5986e6532bb}
+
+\begin{DoxyCompactList}\small\item\em peak of wasted memory, in bytes \item\end{DoxyCompactList}\item 
+double \hyperlink{struct__Evas__Cserve__Stats_a35301ae776cdf63793735930d8fe0873}{saved\_\-time\_\-image\_\-header\_\-load}\label{struct__Evas__Cserve__Stats_a35301ae776cdf63793735930d8fe0873}
+
+\begin{DoxyCompactList}\small\item\em time, in seconds, saved in header loads by sharing cached loads instead \item\end{DoxyCompactList}\item 
+double \hyperlink{struct__Evas__Cserve__Stats_a8f9d701eb8a7d84937422999ff002a1a}{saved\_\-time\_\-image\_\-data\_\-load}\label{struct__Evas__Cserve__Stats_a8f9d701eb8a7d84937422999ff002a1a}
+
+\begin{DoxyCompactList}\small\item\em time, in seconds, saved in data loads by sharing cached loads instead \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Statistics about server that shares cached bitmaps. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Engine__Info.tex b/doc/latex/struct__Evas__Engine__Info.tex
new file mode 100644 (file)
index 0000000..821e40b
--- /dev/null
@@ -0,0 +1,17 @@
+\section{\_\-Evas\_\-Engine\_\-Info Struct Reference}
+\label{struct__Evas__Engine__Info}\index{\_\-Evas\_\-Engine\_\-Info@{\_\-Evas\_\-Engine\_\-Info}}
+
+
+Generic engine information.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Engine__Info_ad990a452b19dbd3b0ea73e3c1827dcb1}{magic}\label{struct__Evas__Engine__Info_ad990a452b19dbd3b0ea73e3c1827dcb1}
+
+\begin{DoxyCompactList}\small\item\em Magic number. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Generic engine information. Generic info is useless 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Event__Hold.tex b/doc/latex/struct__Evas__Event__Hold.tex
new file mode 100644 (file)
index 0000000..af92d31
--- /dev/null
@@ -0,0 +1,17 @@
+\section{\_\-Evas\_\-Event\_\-Hold Struct Reference}
+\label{struct__Evas__Event__Hold}\index{\_\-Evas\_\-Event\_\-Hold@{\_\-Evas\_\-Event\_\-Hold}}
+
+
+Hold change event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Event__Hold_a21f7238382ebd994e083623f777853f3}{hold}\label{struct__Evas__Event__Hold_a21f7238382ebd994e083623f777853f3}
+
+\begin{DoxyCompactList}\small\item\em The hold flag. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Hold change event. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Event__Key__Down.tex b/doc/latex/struct__Evas__Event__Key__Down.tex
new file mode 100644 (file)
index 0000000..a73cfaa
--- /dev/null
@@ -0,0 +1,26 @@
+\section{\_\-Evas\_\-Event\_\-Key\_\-Down Struct Reference}
+\label{struct__Evas__Event__Key__Down}\index{\_\-Evas\_\-Event\_\-Key\_\-Down@{\_\-Evas\_\-Event\_\-Key\_\-Down}}
+
+
+Key press event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+char $\ast$ \hyperlink{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}{keyname}\label{struct__Evas__Event__Key__Down_a01909378c9e67734aa0e6ce2b603ad2c}
+
+\begin{DoxyCompactList}\small\item\em The string name of the key pressed. \item\end{DoxyCompactList}\item 
+const char $\ast$ \hyperlink{struct__Evas__Event__Key__Down_a70473bba88a1afaee180a54150513824}{key}\label{struct__Evas__Event__Key__Down_a70473bba88a1afaee180a54150513824}
+
+\begin{DoxyCompactList}\small\item\em The logical key : (eg shift+1 == exclamation). \item\end{DoxyCompactList}\item 
+const char $\ast$ \hyperlink{struct__Evas__Event__Key__Down_a1b64741ca0b90a5119463f320ebeea00}{string}\label{struct__Evas__Event__Key__Down_a1b64741ca0b90a5119463f320ebeea00}
+
+\begin{DoxyCompactList}\small\item\em A UTF8 string if this keystroke has produced a visible string to be ADDED. \item\end{DoxyCompactList}\item 
+const char $\ast$ \hyperlink{struct__Evas__Event__Key__Down_a5ea3ff931ae945c486abd2388c6d653a}{compose}\label{struct__Evas__Event__Key__Down_a5ea3ff931ae945c486abd2388c6d653a}
+
+\begin{DoxyCompactList}\small\item\em A UTF8 string if this keystroke has modified a string in the middle of being composed -\/ this string replaces the previous one. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Key press event. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Event__Key__Up.tex b/doc/latex/struct__Evas__Event__Key__Up.tex
new file mode 100644 (file)
index 0000000..457c043
--- /dev/null
@@ -0,0 +1,26 @@
+\section{\_\-Evas\_\-Event\_\-Key\_\-Up Struct Reference}
+\label{struct__Evas__Event__Key__Up}\index{\_\-Evas\_\-Event\_\-Key\_\-Up@{\_\-Evas\_\-Event\_\-Key\_\-Up}}
+
+
+Key release event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+char $\ast$ \hyperlink{struct__Evas__Event__Key__Up_a03b32c8ba37a03fbd3ea7cd63e5f47be}{keyname}\label{struct__Evas__Event__Key__Up_a03b32c8ba37a03fbd3ea7cd63e5f47be}
+
+\begin{DoxyCompactList}\small\item\em The string name of the key released. \item\end{DoxyCompactList}\item 
+const char $\ast$ \hyperlink{struct__Evas__Event__Key__Up_a865118cf93e4454ac101d663b8027b41}{key}\label{struct__Evas__Event__Key__Up_a865118cf93e4454ac101d663b8027b41}
+
+\begin{DoxyCompactList}\small\item\em The logical key : (eg shift+1 == exclamation). \item\end{DoxyCompactList}\item 
+const char $\ast$ \hyperlink{struct__Evas__Event__Key__Up_aadff1de218baec7322b0ed0f6cf6d662}{string}\label{struct__Evas__Event__Key__Up_aadff1de218baec7322b0ed0f6cf6d662}
+
+\begin{DoxyCompactList}\small\item\em A UTF8 string if this keystroke has produced a visible string to be ADDED. \item\end{DoxyCompactList}\item 
+const char $\ast$ \hyperlink{struct__Evas__Event__Key__Up_ac0d6a67e53331d863d141475b1b905fb}{compose}\label{struct__Evas__Event__Key__Up_ac0d6a67e53331d863d141475b1b905fb}
+
+\begin{DoxyCompactList}\small\item\em A UTF8 string if this keystroke has modified a string in the middle of being composed -\/ this string replaces the previous one. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Key release event. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Event__Mouse__Down.tex b/doc/latex/struct__Evas__Event__Mouse__Down.tex
new file mode 100644 (file)
index 0000000..22e9aa1
--- /dev/null
@@ -0,0 +1,17 @@
+\section{\_\-Evas\_\-Event\_\-Mouse\_\-Down Struct Reference}
+\label{struct__Evas__Event__Mouse__Down}\index{\_\-Evas\_\-Event\_\-Mouse\_\-Down@{\_\-Evas\_\-Event\_\-Mouse\_\-Down}}
+
+
+Mouse button press event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Event__Mouse__Down_a0ab02808721d6c55fc642ecbb37d5ff9}{button}\label{struct__Evas__Event__Mouse__Down_a0ab02808721d6c55fc642ecbb37d5ff9}
+
+\begin{DoxyCompactList}\small\item\em Mouse button number that went down (1 -\/ 32). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Mouse button press event. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Event__Mouse__In.tex b/doc/latex/struct__Evas__Event__Mouse__In.tex
new file mode 100644 (file)
index 0000000..018cf86
--- /dev/null
@@ -0,0 +1,29 @@
+\section{\_\-Evas\_\-Event\_\-Mouse\_\-In Struct Reference}
+\label{struct__Evas__Event__Mouse__In}\index{\_\-Evas\_\-Event\_\-Mouse\_\-In@{\_\-Evas\_\-Event\_\-Mouse\_\-In}}
+
+
+Mouse enter event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Event__Mouse__In_abdd04878ea8584eb57926223bb381294}{buttons}
+\begin{DoxyCompactList}\small\item\em Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Mouse enter event. 
+
+\subsection{Field Documentation}
+\index{\_\-Evas\_\-Event\_\-Mouse\_\-In@{\_\-Evas\_\-Event\_\-Mouse\_\-In}!buttons@{buttons}}
+\index{buttons@{buttons}!_Evas_Event_Mouse_In@{\_\-Evas\_\-Event\_\-Mouse\_\-In}}
+\subsubsection[{buttons}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \_\-Evas\_\-Event\_\-Mouse\_\-In::buttons}}\label{struct__Evas__Event__Mouse__In_abdd04878ea8584eb57926223bb381294}
+
+
+Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. 
+
+) 
+
+Referenced by evas\_\-event\_\-feed\_\-mouse\_\-in(), evas\_\-event\_\-feed\_\-mouse\_\-move(), and evas\_\-event\_\-feed\_\-mouse\_\-up().
+
diff --git a/doc/latex/struct__Evas__Event__Mouse__Move.tex b/doc/latex/struct__Evas__Event__Mouse__Move.tex
new file mode 100644 (file)
index 0000000..6518251
--- /dev/null
@@ -0,0 +1,29 @@
+\section{\_\-Evas\_\-Event\_\-Mouse\_\-Move Struct Reference}
+\label{struct__Evas__Event__Mouse__Move}\index{\_\-Evas\_\-Event\_\-Mouse\_\-Move@{\_\-Evas\_\-Event\_\-Mouse\_\-Move}}
+
+
+Mouse button down event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Event__Mouse__Move_a455bf48e5f7badcc6c525162e0997d08}{buttons}
+\begin{DoxyCompactList}\small\item\em Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Mouse button down event. 
+
+\subsection{Field Documentation}
+\index{\_\-Evas\_\-Event\_\-Mouse\_\-Move@{\_\-Evas\_\-Event\_\-Mouse\_\-Move}!buttons@{buttons}}
+\index{buttons@{buttons}!_Evas_Event_Mouse_Move@{\_\-Evas\_\-Event\_\-Mouse\_\-Move}}
+\subsubsection[{buttons}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \_\-Evas\_\-Event\_\-Mouse\_\-Move::buttons}}\label{struct__Evas__Event__Mouse__Move_a455bf48e5f7badcc6c525162e0997d08}
+
+
+Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. 
+
+) 
+
+Referenced by evas\_\-event\_\-feed\_\-mouse\_\-move().
+
diff --git a/doc/latex/struct__Evas__Event__Mouse__Out.tex b/doc/latex/struct__Evas__Event__Mouse__Out.tex
new file mode 100644 (file)
index 0000000..49d2cfa
--- /dev/null
@@ -0,0 +1,29 @@
+\section{\_\-Evas\_\-Event\_\-Mouse\_\-Out Struct Reference}
+\label{struct__Evas__Event__Mouse__Out}\index{\_\-Evas\_\-Event\_\-Mouse\_\-Out@{\_\-Evas\_\-Event\_\-Mouse\_\-Out}}
+
+
+Mouse leave event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Event__Mouse__Out_a11f204198c8faa5998c1c21f1ad55684}{buttons}
+\begin{DoxyCompactList}\small\item\em Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Mouse leave event. 
+
+\subsection{Field Documentation}
+\index{\_\-Evas\_\-Event\_\-Mouse\_\-Out@{\_\-Evas\_\-Event\_\-Mouse\_\-Out}!buttons@{buttons}}
+\index{buttons@{buttons}!_Evas_Event_Mouse_Out@{\_\-Evas\_\-Event\_\-Mouse\_\-Out}}
+\subsubsection[{buttons}]{\setlength{\rightskip}{0pt plus 5cm}int {\bf \_\-Evas\_\-Event\_\-Mouse\_\-Out::buttons}}\label{struct__Evas__Event__Mouse__Out_a11f204198c8faa5998c1c21f1ad55684}
+
+
+Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. 
+
+) 
+
+Referenced by evas\_\-event\_\-feed\_\-mouse\_\-move(), evas\_\-event\_\-feed\_\-mouse\_\-out(), evas\_\-event\_\-feed\_\-mouse\_\-up(), and evas\_\-object\_\-hide().
+
diff --git a/doc/latex/struct__Evas__Event__Mouse__Up.tex b/doc/latex/struct__Evas__Event__Mouse__Up.tex
new file mode 100644 (file)
index 0000000..ea44ffb
--- /dev/null
@@ -0,0 +1,17 @@
+\section{\_\-Evas\_\-Event\_\-Mouse\_\-Up Struct Reference}
+\label{struct__Evas__Event__Mouse__Up}\index{\_\-Evas\_\-Event\_\-Mouse\_\-Up@{\_\-Evas\_\-Event\_\-Mouse\_\-Up}}
+
+
+Mouse button release event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Event__Mouse__Up_aa513164499624ee1e6f1790899efe60f}{button}\label{struct__Evas__Event__Mouse__Up_aa513164499624ee1e6f1790899efe60f}
+
+\begin{DoxyCompactList}\small\item\em Mouse button number that was raised (1 -\/ 32). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Mouse button release event. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Event__Mouse__Wheel.tex b/doc/latex/struct__Evas__Event__Mouse__Wheel.tex
new file mode 100644 (file)
index 0000000..9444ae0
--- /dev/null
@@ -0,0 +1,11 @@
+\section{\_\-Evas\_\-Event\_\-Mouse\_\-Wheel Struct Reference}
+\label{struct__Evas__Event__Mouse__Wheel}\index{\_\-Evas\_\-Event\_\-Mouse\_\-Wheel@{\_\-Evas\_\-Event\_\-Mouse\_\-Wheel}}
+
+
+Wheel event.  
+
+
+
+
+\subsection{Detailed Description}
+Wheel event. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Event__Multi__Down.tex b/doc/latex/struct__Evas__Event__Multi__Down.tex
new file mode 100644 (file)
index 0000000..2318877
--- /dev/null
@@ -0,0 +1,17 @@
+\section{\_\-Evas\_\-Event\_\-Multi\_\-Down Struct Reference}
+\label{struct__Evas__Event__Multi__Down}\index{\_\-Evas\_\-Event\_\-Multi\_\-Down@{\_\-Evas\_\-Event\_\-Multi\_\-Down}}
+
+
+Multi button press event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Event__Multi__Down_a990b8c081ce4bb5b494ae6632b78cbe4}{device}\label{struct__Evas__Event__Multi__Down_a990b8c081ce4bb5b494ae6632b78cbe4}
+
+\begin{DoxyCompactList}\small\item\em Multi device number that went down (1 or more for extra touches). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Multi button press event. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Event__Multi__Move.tex b/doc/latex/struct__Evas__Event__Multi__Move.tex
new file mode 100644 (file)
index 0000000..75f615e
--- /dev/null
@@ -0,0 +1,17 @@
+\section{\_\-Evas\_\-Event\_\-Multi\_\-Move Struct Reference}
+\label{struct__Evas__Event__Multi__Move}\index{\_\-Evas\_\-Event\_\-Multi\_\-Move@{\_\-Evas\_\-Event\_\-Multi\_\-Move}}
+
+
+Multi button down event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Event__Multi__Move_a664db8b96c8999777c79e9ba165d124a}{device}\label{struct__Evas__Event__Multi__Move_a664db8b96c8999777c79e9ba165d124a}
+
+\begin{DoxyCompactList}\small\item\em Multi device number that moved (1 or more for extra touches). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Multi button down event. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Event__Multi__Up.tex b/doc/latex/struct__Evas__Event__Multi__Up.tex
new file mode 100644 (file)
index 0000000..c6e4f87
--- /dev/null
@@ -0,0 +1,17 @@
+\section{\_\-Evas\_\-Event\_\-Multi\_\-Up Struct Reference}
+\label{struct__Evas__Event__Multi__Up}\index{\_\-Evas\_\-Event\_\-Multi\_\-Up@{\_\-Evas\_\-Event\_\-Multi\_\-Up}}
+
+
+Multi button release event.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+int \hyperlink{struct__Evas__Event__Multi__Up_a6569e24edde1a26221efbdf54b62f5c9}{device}\label{struct__Evas__Event__Multi__Up_a6569e24edde1a26221efbdf54b62f5c9}
+
+\begin{DoxyCompactList}\small\item\em Multi device number that went up (1 or more for extra touches). \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Multi button release event. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Object__Box__Api.tex b/doc/latex/struct__Evas__Object__Box__Api.tex
new file mode 100644 (file)
index 0000000..e73e0e2
--- /dev/null
@@ -0,0 +1,11 @@
+\section{\_\-Evas\_\-Object\_\-Box\_\-Api Struct Reference}
+\label{struct__Evas__Object__Box__Api}\index{\_\-Evas\_\-Object\_\-Box\_\-Api@{\_\-Evas\_\-Object\_\-Box\_\-Api}}
+
+
+This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with \hyperlink{group__Evas__Object__Box_ga2116d23c11ab08d7c50cbcb588de5570}{evas\_\-object\_\-box\_\-layout\_\-set()}.  
+
+
+
+
+\subsection{Detailed Description}
+This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with \hyperlink{group__Evas__Object__Box_ga2116d23c11ab08d7c50cbcb588de5570}{evas\_\-object\_\-box\_\-layout\_\-set()}. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Object__Box__Data.tex b/doc/latex/struct__Evas__Object__Box__Data.tex
new file mode 100644 (file)
index 0000000..d39280e
--- /dev/null
@@ -0,0 +1,11 @@
+\section{\_\-Evas\_\-Object\_\-Box\_\-Data Struct Reference}
+\label{struct__Evas__Object__Box__Data}\index{\_\-Evas\_\-Object\_\-Box\_\-Data@{\_\-Evas\_\-Object\_\-Box\_\-Data}}
+
+
+This structure augments clipped smart object's instance data, providing extra members required by generic box implementation.  
+
+
+
+
+\subsection{Detailed Description}
+This structure augments clipped smart object's instance data, providing extra members required by generic box implementation. If a subclass inherits from \hyperlink{group__Evas__Object__Box_ga2a8fbeeab4f5ae23e7bc1b291e27c5e1}{Evas\_\-Object\_\-Box\_\-Api} then it may augment \hyperlink{group__Evas__Object__Box_gac9047b7cff95df59f61c7321967caf7b}{Evas\_\-Object\_\-Box\_\-Data} to fit its own needs. 
\ No newline at end of file
diff --git a/doc/latex/struct__Evas__Smart__Cb__Description.tex b/doc/latex/struct__Evas__Smart__Cb__Description.tex
new file mode 100644 (file)
index 0000000..5a9e319
--- /dev/null
@@ -0,0 +1,45 @@
+\section{\_\-Evas\_\-Smart\_\-Cb\_\-Description Struct Reference}
+\label{struct__Evas__Smart__Cb__Description}\index{\_\-Evas\_\-Smart\_\-Cb\_\-Description@{\_\-Evas\_\-Smart\_\-Cb\_\-Description}}
+
+
+Describes a callback used by a smart class \hyperlink{group__Evas__Smart__Object__Group_ga17bbe660f5bf9d8997913b08882f6f9e}{evas\_\-object\_\-smart\_\-callback\_\-call()}, particularly useful to explain to user and its code (ie: introspection) what the parameter {\ttfamily event\_\-info} will contain.  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+const char $\ast$ \hyperlink{struct__Evas__Smart__Cb__Description_ab377859f4cfcf1c2dd3c149a76b70b53}{name}\label{struct__Evas__Smart__Cb__Description_ab377859f4cfcf1c2dd3c149a76b70b53}
+
+\begin{DoxyCompactList}\small\item\em callback name, ie: \char`\"{}changed\char`\"{} \item\end{DoxyCompactList}\item 
+const char $\ast$ \hyperlink{struct__Evas__Smart__Cb__Description_af0d4ce3d62a068eab1b89a34abb056ad}{type}
+\begin{DoxyCompactList}\small\item\em Hint type of {\ttfamily event\_\-info} parameter of Evas\_\-Smart\_\-Cb. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+Describes a callback used by a smart class \hyperlink{group__Evas__Smart__Object__Group_ga17bbe660f5bf9d8997913b08882f6f9e}{evas\_\-object\_\-smart\_\-callback\_\-call()}, particularly useful to explain to user and its code (ie: introspection) what the parameter {\ttfamily event\_\-info} will contain. 
+
+\subsection{Field Documentation}
+\index{\_\-Evas\_\-Smart\_\-Cb\_\-Description@{\_\-Evas\_\-Smart\_\-Cb\_\-Description}!type@{type}}
+\index{type@{type}!_Evas_Smart_Cb_Description@{\_\-Evas\_\-Smart\_\-Cb\_\-Description}}
+\subsubsection[{type}]{\setlength{\rightskip}{0pt plus 5cm}const char$\ast$ {\bf \_\-Evas\_\-Smart\_\-Cb\_\-Description::type}}\label{struct__Evas__Smart__Cb__Description_af0d4ce3d62a068eab1b89a34abb056ad}
+
+
+Hint type of {\ttfamily event\_\-info} parameter of Evas\_\-Smart\_\-Cb. 
+
+The type string uses the pattern similar to
+
+\href{http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-signatures}{\tt http://dbus.freedesktop.org/doc/dbus-\/specification.html\#message-\/protocol-\/signatures}
+
+but extended to optionally include variable names within brackets preceding types. Example:
+
+\begin{DoxyItemize}
+\item Structure with two integers: {\ttfamily \char`\"{}(ii)\char`\"{}} \end{DoxyItemize}
+\begin{DoxyItemize}
+\item Structure called 'x' with two integers named 'a' and 'b': {\ttfamily \char`\"{}\mbox{[}x\mbox{]}(\mbox{[}a\mbox{]}i\mbox{[}b\mbox{]}i)\char`\"{}} \end{DoxyItemize}
+\begin{DoxyItemize}
+\item Array of integers: {\ttfamily \char`\"{}ai\char`\"{}} \end{DoxyItemize}
+\begin{DoxyItemize}
+\item Array called 'x' of struct with two integers: {\ttfamily \char`\"{}\mbox{[}x\mbox{]}a(ii)\char`\"{}} \end{DoxyItemize}
+\begin{DoxyNote}{Note}
+This type string is used as a hint and is {\bfseries not} validated or enforced anyhow. Implementors should make the best use of it to help bindings, documentation and other users of introspection features. 
+\end{DoxyNote}
diff --git a/doc/latex/struct__Evas__Smart__Class.tex b/doc/latex/struct__Evas__Smart__Class.tex
new file mode 100644 (file)
index 0000000..b129425
--- /dev/null
@@ -0,0 +1,26 @@
+\section{\_\-Evas\_\-Smart\_\-Class Struct Reference}
+\label{struct__Evas__Smart__Class}\index{\_\-Evas\_\-Smart\_\-Class@{\_\-Evas\_\-Smart\_\-Class}}
+
+
+a smart object class  
+
+
+\subsection*{Data Fields}
+\begin{DoxyCompactItemize}
+\item 
+const char $\ast$ \hyperlink{struct__Evas__Smart__Class_a34b0476dfa714dff39812ed72636005f}{name}\label{struct__Evas__Smart__Class_a34b0476dfa714dff39812ed72636005f}
+
+\begin{DoxyCompactList}\small\item\em the string name of the class \item\end{DoxyCompactList}\item 
+const \hyperlink{struct__Evas__Smart__Class}{Evas\_\-Smart\_\-Class} $\ast$ \hyperlink{struct__Evas__Smart__Class_a4b009bf8125551b4bec8bc114756fc3e}{parent}\label{struct__Evas__Smart__Class_a4b009bf8125551b4bec8bc114756fc3e}
+
+\begin{DoxyCompactList}\small\item\em this class inherits from this parent \item\end{DoxyCompactList}\item 
+const \hyperlink{struct__Evas__Smart__Cb__Description}{Evas\_\-Smart\_\-Cb\_\-Description} $\ast$ \hyperlink{struct__Evas__Smart__Class_af7074494030024c3d0e502bca7b19067}{callbacks}\label{struct__Evas__Smart__Class_af7074494030024c3d0e502bca7b19067}
+
+\begin{DoxyCompactList}\small\item\em callbacks at this level, NULL terminated \item\end{DoxyCompactList}\item 
+void $\ast$ \hyperlink{struct__Evas__Smart__Class_a6698ec8ff46b2678f920979ae11d939d}{interfaces}\label{struct__Evas__Smart__Class_a6698ec8ff46b2678f920979ae11d939d}
+
+\begin{DoxyCompactList}\small\item\em to be used in a future near you \item\end{DoxyCompactList}\end{DoxyCompactItemize}
+
+
+\subsection{Detailed Description}
+a smart object class 
\ No newline at end of file
diff --git a/doc/latex/todo.tex b/doc/latex/todo.tex
new file mode 100644 (file)
index 0000000..0151037
--- /dev/null
@@ -0,0 +1,133 @@
+\label{todo__todo000004}
+\hypertarget{todo__todo000004}{}
+\begin{DoxyDescription}
+\item[Global \hyperlink{group__Evas__Object__Textblock_gac8ab2a94f6b027a2b24fffdd23b113fb}{ENFN} ]Write  
+\end{DoxyDescription}
+
+\label{todo__todo000001}
+\hypertarget{todo__todo000001}{}
+\begin{DoxyDescription}
+\item[page \hyperlink{index}{Evas} ](1.0) Need a way ot scaling an image and just PRODUCING the output (scaling direct to target buffe r-\/ no blend/copy etc.) 
+
+(1.0) Could improve evas's scaling down code to limit multiple samples per output pixel to maybe 2x2? 
+
+(1.0) Document API 
+
+(1.0) Evas needs to check delete\_\-me member for all object functions 
+
+(1.0) Evas engine that renders to Evas\_\-Objects 
+
+(1.0) OpenGL engine needs to use texture meshes 
+
+(1.0) OpenGL engine needs texture cache and size setting 
+
+(1.0) OpenGL Engine needs YUV import API to YUV texture 
+
+(1.0) All engines need pixel import API 
+
+(1.0) Add parital render through composite layer api to engines 
+
+(1.0) Move callback processing to a queue and do it asynchronously??? 
+
+(1.0) Add button grabbing 
+
+(1.0) Add generic object method call system 
+
+(1.0) Add callbacks set for smart object parents to be set on all child smart objects too. 
+
+(1.0) Add font load query calls (so we know if a font load failed) 
+
+(1.0) Add font listing calls 
+
+(1.0) Add ability to check image comments \& disk format 
+
+(1.0) Add fontset support 
+
+(1.0) Export engine rendering API cleanly to Evas API 
+
+(1.0) Add smart object ability to provide rendering callback 
+
+(1.1) Make freetype optional and put in optional graymap font engine 
+
+(1.1) Free images if object invisible (and put back in chache) 
+
+(1.1) Check robustness of malloc/calloc/realloc failures. 
+
+(1.1) Add memory use reduction code if any allocations fail 
+
+(1.1) If image loads fails due to memory allocatue failure, load reduced res version 
+
+(1.1) If image load fails due to memory allocation failure, try split it up into tiles and demand-\/load them 
+
+(1.2) Add external image loaders (application provided callbacks to load) 
+
+(1.2) Add loadable image loader module support (evas loads file.so) 
+
+(1.2) Add external image loader modules (application provides path to file.so) 
+
+(1.3) Add X11 primtive engine (ie pixmap) 
+
+(1.3) Add immediate mode drawing commands to image objects 
+
+(1.3) Fix FB engine to allocate vt and release properly 
+
+(1.4) Add ellipse objects (circle, arc, ellipse etc.) 
+
+(1.5) Make software engine draw lines \& polys etc. with aa 
+
+(1.5) Add radial gradients to gradient objects 
+
+(1.5) Add Symbian Engine 
+
+(1.6) Add PalmOS Engine 
+
+(1.6) Add Apple OpenGL Engine 
+
+(1.7) Document engine API and other internals 
+
+(1.7) Allow any object to clip any other object, and not just rectangles 
+
+(1.8) Add more evas demos 
+
+(1.9) Write the error mechanism in evas\_\-xcb\_\-buffer.c 
+
+(1.9) Rewrite the render xcb engine 
+
+(1.10) Improve Win32 Direct3D Engine
+\end{DoxyDescription}
+
+\label{todo__todo000005}
+\hypertarget{todo__todo000005}{}
+\begin{DoxyDescription}
+\item[File \hyperlink{Evas_8h}{Evas.h} ]check boolean return values and convert to Eina\_\-Bool 
+
+change all api to use EINA\_\-SAFETY\_\-$\ast$ 
+
+finish api documentation 
+\end{DoxyDescription}
+
+\label{todo__todo000007}
+\hypertarget{todo__todo000007}{}
+\begin{DoxyDescription}
+\item[Global \hyperlink{Evas_8h_a5c233a1e9eea970c1db0de87ff343e77}{evas\_\-key\_\-modifier\_\-get}(const Evas $\ast$e) EINA\_\-WARN\_\-UNUSED\_\-RESULT EINA\_\-ARG\_\-NONNULL(1) EINA\_\-PURE ]document key modifiers.
+\end{DoxyDescription}
+
+\label{todo__todo000002}
+\hypertarget{todo__todo000002}{}
+\begin{DoxyDescription}
+\item[Global \hyperlink{group__Evas__Object__Table_ga85462a0cbafd4ee4ceface6f3f69b413}{evas\_\-object\_\-table\_\-homogeneous\_\-set}(Evas\_\-Object $\ast$o, Evas\_\-Object\_\-Table\_\-Homogeneous\_\-Mode homogeneous) ]consider aspect hint and respect it.
+
+{\ttfamily EVAS\_\-OBJECT\_\-TABLE\_\-HOMOGENEOUS\_\-NONE} should balance weight.
+\end{DoxyDescription}
+
+\label{todo__todo000006}
+\hypertarget{todo__todo000006}{}
+\begin{DoxyDescription}
+\item[Group \hyperlink{group__Evas__Object__Textblock}{Evas\_\-Object\_\-Textblock} ]put here some usage examples
+\end{DoxyDescription}
\ No newline at end of file
diff --git a/doc/man/man3/ENFN.3 b/doc/man/man3/ENFN.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/EVAS_ALLOC_ERROR_FATAL.3 b/doc/man/man3/EVAS_ALLOC_ERROR_FATAL.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_ALLOC_ERROR_NONE.3 b/doc/man/man3/EVAS_ALLOC_ERROR_NONE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_ALLOC_ERROR_RECOVERED.3 b/doc/man/man3/EVAS_ALLOC_ERROR_RECOVERED.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_BUTTON_DOUBLE_CLICK.3 b/doc/man/man3/EVAS_BUTTON_DOUBLE_CLICK.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_BUTTON_NONE.3 b/doc/man/man3/EVAS_BUTTON_NONE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_BUTTON_TRIPLE_CLICK.3 b/doc/man/man3/EVAS_BUTTON_TRIPLE_CLICK.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_CANVAS_FOCUS_IN.3 b/doc/man/man3/EVAS_CALLBACK_CANVAS_FOCUS_IN.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_CANVAS_FOCUS_OUT.3 b/doc/man/man3/EVAS_CALLBACK_CANVAS_FOCUS_OUT.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN.3 b/doc/man/man3/EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT.3 b/doc/man/man3/EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_CHANGED_SIZE_HINTS.3 b/doc/man/man3/EVAS_CALLBACK_CHANGED_SIZE_HINTS.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_DEL.3 b/doc/man/man3/EVAS_CALLBACK_DEL.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_FOCUS_IN.3 b/doc/man/man3/EVAS_CALLBACK_FOCUS_IN.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_FOCUS_OUT.3 b/doc/man/man3/EVAS_CALLBACK_FOCUS_OUT.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_FREE.3 b/doc/man/man3/EVAS_CALLBACK_FREE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_HIDE.3 b/doc/man/man3/EVAS_CALLBACK_HIDE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_HOLD.3 b/doc/man/man3/EVAS_CALLBACK_HOLD.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_IMAGE_PRELOADED.3 b/doc/man/man3/EVAS_CALLBACK_IMAGE_PRELOADED.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_IMAGE_UNLOADED.3 b/doc/man/man3/EVAS_CALLBACK_IMAGE_UNLOADED.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_KEY_DOWN.3 b/doc/man/man3/EVAS_CALLBACK_KEY_DOWN.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_KEY_UP.3 b/doc/man/man3/EVAS_CALLBACK_KEY_UP.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_LAST.3 b/doc/man/man3/EVAS_CALLBACK_LAST.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_MOUSE_DOWN.3 b/doc/man/man3/EVAS_CALLBACK_MOUSE_DOWN.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_MOUSE_IN.3 b/doc/man/man3/EVAS_CALLBACK_MOUSE_IN.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_MOUSE_MOVE.3 b/doc/man/man3/EVAS_CALLBACK_MOUSE_MOVE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_MOUSE_OUT.3 b/doc/man/man3/EVAS_CALLBACK_MOUSE_OUT.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_MOUSE_UP.3 b/doc/man/man3/EVAS_CALLBACK_MOUSE_UP.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_MOUSE_WHEEL.3 b/doc/man/man3/EVAS_CALLBACK_MOUSE_WHEEL.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_MOVE.3 b/doc/man/man3/EVAS_CALLBACK_MOVE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_MULTI_DOWN.3 b/doc/man/man3/EVAS_CALLBACK_MULTI_DOWN.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_MULTI_MOVE.3 b/doc/man/man3/EVAS_CALLBACK_MULTI_MOVE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_MULTI_UP.3 b/doc/man/man3/EVAS_CALLBACK_MULTI_UP.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_RENDER_FLUSH_POST.3 b/doc/man/man3/EVAS_CALLBACK_RENDER_FLUSH_POST.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_RENDER_FLUSH_PRE.3 b/doc/man/man3/EVAS_CALLBACK_RENDER_FLUSH_PRE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_RESIZE.3 b/doc/man/man3/EVAS_CALLBACK_RESIZE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_RESTACK.3 b/doc/man/man3/EVAS_CALLBACK_RESTACK.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_CALLBACK_SHOW.3 b/doc/man/man3/EVAS_CALLBACK_SHOW.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_COLORSPACE_ARGB8888.3 b/doc/man/man3/EVAS_COLORSPACE_ARGB8888.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/EVAS_COLORSPACE_GRY8.3 b/doc/man/man3/EVAS_COLORSPACE_GRY8.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/EVAS_COLORSPACE_RGB565_A5P.3 b/doc/man/man3/EVAS_COLORSPACE_RGB565_A5P.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/EVAS_COLORSPACE_YCBCR422P601_PL.3 b/doc/man/man3/EVAS_COLORSPACE_YCBCR422P601_PL.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/EVAS_COLORSPACE_YCBCR422P709_PL.3 b/doc/man/man3/EVAS_COLORSPACE_YCBCR422P709_PL.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/EVAS_COLOR_SPACE_AHSV.3 b/doc/man/man3/EVAS_COLOR_SPACE_AHSV.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_COLOR_SPACE_ARGB.3 b/doc/man/man3/EVAS_COLOR_SPACE_ARGB.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_EVENT_FLAG_NONE.3 b/doc/man/man3/EVAS_EVENT_FLAG_NONE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_EVENT_FLAG_ON_HOLD.3 b/doc/man/man3/EVAS_EVENT_FLAG_ON_HOLD.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_EVENT_FLAG_ON_SCROLL.3 b/doc/man/man3/EVAS_EVENT_FLAG_ON_SCROLL.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_FONT_HINTING_AUTO.3 b/doc/man/man3/EVAS_FONT_HINTING_AUTO.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/EVAS_FONT_HINTING_BYTECODE.3 b/doc/man/man3/EVAS_FONT_HINTING_BYTECODE.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/EVAS_FONT_HINTING_NONE.3 b/doc/man/man3/EVAS_FONT_HINTING_NONE.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/EVAS_HINT_EXPAND.3 b/doc/man/man3/EVAS_HINT_EXPAND.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_HINT_FILL.3 b/doc/man/man3/EVAS_HINT_FILL.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_LAYER_MAX.3 b/doc/man/man3/EVAS_LAYER_MAX.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_LAYER_MIN.3 b/doc/man/man3/EVAS_LAYER_MIN.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_LOAD_ERROR_CORRUPT_FILE.3 b/doc/man/man3/EVAS_LOAD_ERROR_CORRUPT_FILE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_LOAD_ERROR_DOES_NOT_EXIST.3 b/doc/man/man3/EVAS_LOAD_ERROR_DOES_NOT_EXIST.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_LOAD_ERROR_GENERIC.3 b/doc/man/man3/EVAS_LOAD_ERROR_GENERIC.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_LOAD_ERROR_NONE.3 b/doc/man/man3/EVAS_LOAD_ERROR_NONE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_LOAD_ERROR_PERMISSION_DENIED.3 b/doc/man/man3/EVAS_LOAD_ERROR_PERMISSION_DENIED.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED.3 b/doc/man/man3/EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_LOAD_ERROR_UNKNOWN_FORMAT.3 b/doc/man/man3/EVAS_LOAD_ERROR_UNKNOWN_FORMAT.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_OBJECT_BOX_API_INIT.3 b/doc/man/man3/EVAS_OBJECT_BOX_API_INIT.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/EVAS_OBJECT_BOX_API_INIT_NAME_VERSION.3 b/doc/man/man3/EVAS_OBJECT_BOX_API_INIT_NAME_VERSION.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/EVAS_OBJECT_BOX_API_INIT_NULL.3 b/doc/man/man3/EVAS_OBJECT_BOX_API_INIT_NULL.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/EVAS_OBJECT_BOX_API_INIT_VERSION.3 b/doc/man/man3/EVAS_OBJECT_BOX_API_INIT_VERSION.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/EVAS_OBJECT_POINTER_MODE_AUTOGRAB.3 b/doc/man/man3/EVAS_OBJECT_POINTER_MODE_AUTOGRAB.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_PIXEL_FORMAT_ARGB32.3 b/doc/man/man3/EVAS_PIXEL_FORMAT_ARGB32.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_PIXEL_FORMAT_NONE.3 b/doc/man/man3/EVAS_PIXEL_FORMAT_NONE.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_PIXEL_FORMAT_YUV420P_601.3 b/doc/man/man3/EVAS_PIXEL_FORMAT_YUV420P_601.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_RENDER_ADD.3 b/doc/man/man3/EVAS_RENDER_ADD.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_ADD_REL.3 b/doc/man/man3/EVAS_RENDER_ADD_REL.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_BLEND.3 b/doc/man/man3/EVAS_RENDER_BLEND.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_BLEND_REL.3 b/doc/man/man3/EVAS_RENDER_BLEND_REL.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_COPY.3 b/doc/man/man3/EVAS_RENDER_COPY.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_COPY_REL.3 b/doc/man/man3/EVAS_RENDER_COPY_REL.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_MASK.3 b/doc/man/man3/EVAS_RENDER_MASK.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_MUL.3 b/doc/man/man3/EVAS_RENDER_MUL.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_SUB.3 b/doc/man/man3/EVAS_RENDER_SUB.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_SUB_REL.3 b/doc/man/man3/EVAS_RENDER_SUB_REL.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_TINT.3 b/doc/man/man3/EVAS_RENDER_TINT.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_RENDER_TINT_REL.3 b/doc/man/man3/EVAS_RENDER_TINT_REL.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/EVAS_SMART_CLASS_INIT_NAME_VERSION.3 b/doc/man/man3/EVAS_SMART_CLASS_INIT_NAME_VERSION.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT.3 b/doc/man/man3/EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS.3 b/doc/man/man3/EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/EVAS_SMART_CLASS_INIT_NULL.3 b/doc/man/man3/EVAS_SMART_CLASS_INIT_NULL.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/EVAS_SMART_CLASS_INIT_VERSION.3 b/doc/man/man3/EVAS_SMART_CLASS_INIT_VERSION.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/EVAS_SMART_CLASS_VERSION.3 b/doc/man/man3/EVAS_SMART_CLASS_VERSION.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_SMART_DATA_ALLOC.3 b/doc/man/man3/EVAS_SMART_DATA_ALLOC.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/EVAS_SMART_SUBCLASS_NEW.3 b/doc/man/man3/EVAS_SMART_SUBCLASS_NEW.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/EVAS_TEXTURE_PAD.3 b/doc/man/man3/EVAS_TEXTURE_PAD.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_TEXTURE_REFLECT.3 b/doc/man/man3/EVAS_TEXTURE_REFLECT.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_TEXTURE_REPEAT.3 b/doc/man/man3/EVAS_TEXTURE_REPEAT.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_TEXTURE_RESTRICT.3 b/doc/man/man3/EVAS_TEXTURE_RESTRICT.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_TEXTURE_RESTRICT_REFLECT.3 b/doc/man/man3/EVAS_TEXTURE_RESTRICT_REFLECT.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_TEXTURE_RESTRICT_REPEAT.3 b/doc/man/man3/EVAS_TEXTURE_RESTRICT_REPEAT.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_TEXT_INVALID.3 b/doc/man/man3/EVAS_TEXT_INVALID.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/EVAS_TEXT_SPECIAL.3 b/doc/man/man3/EVAS_TEXT_SPECIAL.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas.3 b/doc/man/man3/Evas.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/Evas.h.3 b/doc/man/man3/Evas.h.3
new file mode 100644 (file)
index 0000000..1f244fe
--- /dev/null
@@ -0,0 +1,2930 @@
+.TH "Evas.h" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Evas.h \- 
+.PP
+These routines are used for Evas library interaction.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Structures"
+
+.in +1c
+.ti -1c
+.RI "struct \fB_Evas_Coord_Rectangle\fP"
+.br
+.RI "\fI< A rectangle in Evas_Coord \fP"
+.ti -1c
+.RI "struct \fB_Evas_Engine_Info\fP"
+.br
+.RI "\fIGeneric engine information. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Mouse_Down\fP"
+.br
+.RI "\fIMouse button press event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Mouse_Up\fP"
+.br
+.RI "\fIMouse button release event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Mouse_In\fP"
+.br
+.RI "\fIMouse enter event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Mouse_Out\fP"
+.br
+.RI "\fIMouse leave event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Mouse_Move\fP"
+.br
+.RI "\fIMouse button down event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Mouse_Wheel\fP"
+.br
+.RI "\fIWheel event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Multi_Down\fP"
+.br
+.RI "\fIMulti button press event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Multi_Up\fP"
+.br
+.RI "\fIMulti button release event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Multi_Move\fP"
+.br
+.RI "\fIMulti button down event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Key_Down\fP"
+.br
+.RI "\fIKey press event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Key_Up\fP"
+.br
+.RI "\fIKey release event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Event_Hold\fP"
+.br
+.RI "\fIHold change event. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Smart_Class\fP"
+.br
+.RI "\fIa smart object class \fP"
+.ti -1c
+.RI "struct \fB_Evas_Smart_Cb_Description\fP"
+.br
+.RI "\fIDescribes a callback used by a smart class \fBevas_object_smart_callback_call()\fP, particularly useful to explain to user and its code (ie: introspection) what the parameter \fCevent_info\fP will contain. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Object_Box_Api\fP"
+.br
+.RI "\fIThis structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with \fBevas_object_box_layout_set()\fP. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Object_Box_Data\fP"
+.br
+.RI "\fIThis structure augments clipped smart object's instance data, providing extra members required by generic box implementation. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Cserve_Stats\fP"
+.br
+.RI "\fIStatistics about server that shares cached bitmaps. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Cserve_Image_Cache\fP"
+.br
+.RI "\fICache of images shared by server. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Cserve_Image\fP"
+.br
+.RI "\fIAn image shared by the server. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Cserve_Config\fP"
+.br
+.RI "\fIConfiguration that controls the server that shares cached bitmaps. \fP"
+.in -1c
+.SS "Defines"
+
+.in +1c
+.ti -1c
+.RI "#define \fBEVAS_LAYER_MIN\fP   -32768"
+.br
+.RI "\fIbottom-most layer number \fP"
+.ti -1c
+.RI "#define \fBEVAS_LAYER_MAX\fP   32767"
+.br
+.RI "\fItop-most layer number \fP"
+.ti -1c
+.RI "#define \fBEVAS_COLOR_SPACE_ARGB\fP   0"
+.br
+.RI "\fINot used for anything. \fP"
+.ti -1c
+.RI "#define \fBEVAS_COLOR_SPACE_AHSV\fP   1"
+.br
+.RI "\fINot used for anything. \fP"
+.ti -1c
+.RI "#define \fBEVAS_TEXT_INVALID\fP   -1"
+.br
+.RI "\fINot used for anything. \fP"
+.ti -1c
+.RI "#define \fBEVAS_TEXT_SPECIAL\fP   -2"
+.br
+.RI "\fINot used for anything. \fP"
+.ti -1c
+.RI "#define \fBEVAS_HINT_EXPAND\fP   1.0"
+.br
+.RI "\fIUse with \fBevas_object_size_hint_weight_set()\fP, \fBevas_object_size_hint_weight_get()\fP, \fBevas_object_size_hint_expand_set()\fP, \fBevas_object_size_hint_expand_get()\fP. \fP"
+.ti -1c
+.RI "#define \fBEVAS_HINT_FILL\fP   -1.0"
+.br
+.RI "\fIUse with \fBevas_object_size_hint_align_set()\fP, \fBevas_object_size_hint_align_get()\fP, \fBevas_object_size_hint_fill_set()\fP, \fBevas_object_size_hint_fill_get()\fP. \fP"
+.ti -1c
+.RI "#define \fBevas_object_size_hint_fill_set\fP   evas_object_size_hint_align_set"
+.br
+.RI "\fIConvenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align). \fP"
+.ti -1c
+.RI "#define \fBevas_object_size_hint_fill_get\fP   evas_object_size_hint_align_get"
+.br
+.RI "\fIConvenience macro to make it easier to understand that align is also used for fill properties (as fill is mutually exclusive to align). \fP"
+.ti -1c
+.RI "#define \fBevas_object_size_hint_expand_set\fP   evas_object_size_hint_weight_set"
+.br
+.RI "\fIConvenience macro to make it easier to understand that weight is also used for expand properties. \fP"
+.ti -1c
+.RI "#define \fBevas_object_size_hint_expand_get\fP   evas_object_size_hint_weight_get"
+.br
+.RI "\fIConvenience macro to make it easier to understand that weight is also used for expand properties. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_VERSION\fP   4"
+.br
+.RI "\fIThe version you have to put into the version field in the smart class struct. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_INIT_NULL\fP   {NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.br
+.RI "\fIInitializer to zero a whole Evas_Smart_Class structure. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_INIT_VERSION\fP   {NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.br
+.RI "\fIInitializer to zero a whole Evas_Smart_Class structure and set version. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_INIT_NAME_VERSION\fP(name)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.br
+.RI "\fIInitializer to zero a whole Evas_Smart_Class structure and set name and version. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT\fP(name, parent)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}"
+.br
+.RI "\fIInitializer to zero a whole Evas_Smart_Class structure and set name, version and parent class. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS\fP(name, parent, callbacks)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}"
+.br
+.RI "\fIInitializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callbacks definition. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_SUBCLASS_NEW\fP(smart_name, prefix, api_type, parent_type, parent_func, cb_desc)"
+.br
+.RI "\fIConvenience macro to subclass a Smart Class. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_DATA_ALLOC\fP(o, priv_type)"
+.br
+.RI "\fIConvenience macro to allocate smart data only if needed. \fP"
+.ti -1c
+.RI "#define \fBevas_smart_class_inherit\fP(sc, parent_sc)   evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))"
+.br
+.RI "\fIEasy to use version of \fBevas_smart_class_inherit_full()\fP. \fP"
+.ti -1c
+.RI "#define \fBEVAS_OBJECT_BOX_API_INIT\fP(smart_class_init)   {smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.br
+.RI "\fIInitializer for whole Evas_Object_Box_Api structure. \fP"
+.ti -1c
+.RI "#define \fBEVAS_OBJECT_BOX_API_INIT_NULL\fP   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)"
+.br
+.RI "\fIInitializer to zero a whole Evas_Object_Box_Api structure. \fP"
+.ti -1c
+.RI "#define \fBEVAS_OBJECT_BOX_API_INIT_VERSION\fP   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)"
+.br
+.RI "\fIInitializer to zero a whole Evas_Object_Box_Api structure and set version. \fP"
+.ti -1c
+.RI "#define \fBEVAS_OBJECT_BOX_API_INIT_NAME_VERSION\fP(name)   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))"
+.br
+.RI "\fIInitializer to zero a whole Evas_Object_Box_Api structure and set name and version. \fP"
+.in -1c
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef enum \fB_Evas_Callback_Type\fP \fBEvas_Callback_Type\fP"
+.br
+.RI "\fIIdentifier of callbacks to be used with object or canvas. \fP"
+.ti -1c
+.RI "typedef enum \fB_Evas_Button_Flags\fP \fBEvas_Button_Flags\fP"
+.br
+.RI "\fIFlags for Mouse Button events. \fP"
+.ti -1c
+.RI "typedef enum \fB_Evas_Event_Flags\fP \fBEvas_Event_Flags\fP"
+.br
+.RI "\fIFlags for Events. \fP"
+.ti -1c
+.RI "typedef enum \fB_Evas_Font_Hinting_Flags\fP \fBEvas_Font_Hinting_Flags\fP"
+.br
+.RI "\fIFlags for Font Hinting. \fP"
+.ti -1c
+.RI "typedef enum \fB_Evas_Colorspace\fP \fBEvas_Colorspace\fP"
+.br
+.RI "\fIColorspaces for pixel data supported by Evas. \fP"
+.ti -1c
+.RI "typedef enum \fB_Evas_Object_Table_Homogeneous_Mode\fP \fBEvas_Object_Table_Homogeneous_Mode\fP"
+.br
+.RI "\fIHow to pack items into cells in a table. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Coord_Rectangle\fP \fBEvas_Coord_Rectangle\fP"
+.br
+.RI "\fIA generic rectangle handle. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Point \fBEvas_Point\fP"
+.br
+.RI "\fIinteger point \fP"
+.ti -1c
+.RI "typedef struct _Evas_Coord_Point \fBEvas_Coord_Point\fP"
+.br
+.RI "\fIEvas_Coord point. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Coord_Precision_Point \fBEvas_Coord_Precision_Point\fP"
+.br
+.RI "\fIEvas_Coord point with sub-pixel precision. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Position \fBEvas_Position\fP"
+.br
+.RI "\fIassociates given point in Canvas and Output \fP"
+.ti -1c
+.RI "typedef struct _Evas_Precision_Position \fBEvas_Precision_Position\fP"
+.br
+.RI "\fIassociates given point in Canvas and Output, with sub-pixel precision \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Smart_Class\fP \fBEvas_Smart_Class\fP"
+.br
+.RI "\fIA smart object base class. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Smart_Cb_Description\fP \fBEvas_Smart_Cb_Description\fP"
+.br
+.RI "\fIA smart object callback description, used to provide introspection. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Map \fBEvas_Map\fP"
+.br
+.RI "\fIAn opaque handle to map points. \fP"
+.ti -1c
+.RI "typedef struct _Evas \fBEvas\fP"
+.br
+.RI "\fIAn Evas canvas handle. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Object \fBEvas_Object\fP"
+.br
+.RI "\fIAn Evas Object handle. \fP"
+.ti -1c
+.RI "typedef void \fBEvas_Performance\fP"
+.br
+.RI "\fIAn Evas Performance handle. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Modifier \fBEvas_Modifier\fP"
+.br
+.RI "\fIAn Evas Modifier. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Lock \fBEvas_Lock\fP"
+.br
+.RI "\fIAn Evas Lock. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Smart \fBEvas_Smart\fP"
+.br
+.RI "\fIAn Evas Smart Object handle. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Native_Surface \fBEvas_Native_Surface\fP"
+.br
+.RI "\fIA generic datatype for engine specific native surface information. \fP"
+.ti -1c
+.RI "typedef unsigned long long \fBEvas_Modifier_Mask\fP"
+.br
+.RI "\fIAn Evas modifier mask type. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Pixel_Import_Source \fBEvas_Pixel_Import_Source\fP"
+.br
+.RI "\fIA source description of pixels for importing pixels. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Engine_Info\fP \fBEvas_Engine_Info\fP"
+.br
+.RI "\fIA generic Evas Engine information structure. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Device \fBEvas_Device\fP"
+.br
+.RI "\fIA source device handle - where the event came from. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Mouse_Down\fP \fBEvas_Event_Mouse_Down\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_MOUSE_DOWN\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Mouse_Up\fP \fBEvas_Event_Mouse_Up\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_MOUSE_UP\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Mouse_In\fP \fBEvas_Event_Mouse_In\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_MOUSE_IN\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Mouse_Out\fP \fBEvas_Event_Mouse_Out\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_MOUSE_OUT\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Mouse_Move\fP \fBEvas_Event_Mouse_Move\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_MOUSE_MOVE\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Mouse_Wheel\fP \fBEvas_Event_Mouse_Wheel\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_MOUSE_WHEEL\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Multi_Down\fP \fBEvas_Event_Multi_Down\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_MULTI_DOWN\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Multi_Up\fP \fBEvas_Event_Multi_Up\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_MULTI_UP\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Multi_Move\fP \fBEvas_Event_Multi_Move\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_MULTI_MOVE\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Key_Down\fP \fBEvas_Event_Key_Down\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_KEY_DOWN\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Key_Up\fP \fBEvas_Event_Key_Up\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_KEY_UP\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Event_Hold\fP \fBEvas_Event_Hold\fP"
+.br
+.RI "\fIEvent structure for \fBEVAS_CALLBACK_HOLD\fP event callbacks. \fP"
+.ti -1c
+.RI "typedef enum \fB_Evas_Load_Error\fP \fBEvas_Load_Error\fP"
+.br
+.RI "\fILoad error you can get from loading of files - see \fBevas_load_error_str()\fP too. \fP"
+.ti -1c
+.RI "typedef enum \fB_Evas_Alloc_Error\fP \fBEvas_Alloc_Error\fP"
+.br
+.RI "\fIPossible allocation errors returned by \fBevas_alloc_error()\fP. \fP"
+.ti -1c
+.RI "typedef enum \fB_Evas_Fill_Spread\fP \fBEvas_Fill_Spread\fP"
+.br
+.RI "\fIFill types used for \fBevas_object_image_fill_spread_set()\fP. \fP"
+.ti -1c
+.RI "typedef enum \fB_Evas_Pixel_Import_Pixel_Format\fP \fBEvas_Pixel_Import_Pixel_Format\fP"
+.br
+.RI "\fIPixel format for import call. \fP"
+.ti -1c
+.RI "typedef enum \fB_Evas_Render_Op\fP \fBEvas_Render_Op\fP"
+.br
+.ti -1c
+.RI "typedef enum \fB_Evas_Object_Pointer_Mode\fP \fBEvas_Object_Pointer_Mode\fP"
+.br
+.RI "\fIHow mouse pointer should be handled by Evas. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Object_Textblock_Node_Format \fBEvas_Object_Textblock_Node_Format\fP"
+.br
+.RI "\fIA format node. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Object_Smart_Clipped_Data \fBEvas_Object_Smart_Clipped_Data\fP"
+.br
+.RI "\fIEvery subclass should provide this at the beginning of their own data set with \fBevas_object_smart_data_set()\fP. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Object_Box_Api\fP \fBEvas_Object_Box_Api\fP"
+.br
+.RI "\fISmart Class extension providing extra box requirements. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Object_Box_Data\fP \fBEvas_Object_Box_Data\fP"
+.br
+.RI "\fISmart instance data providing box requirements. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Object_Box_Option \fBEvas_Object_Box_Option\fP"
+.br
+.RI "\fIThe base structure for a box option. \fP"
+.in -1c
+.SS "Enumerations"
+
+.in +1c
+.ti -1c
+.RI "enum \fB_Evas_Callback_Type\fP { \fBEVAS_CALLBACK_MOUSE_IN\fP, \fBEVAS_CALLBACK_MOUSE_OUT\fP, \fBEVAS_CALLBACK_MOUSE_DOWN\fP, \fBEVAS_CALLBACK_MOUSE_UP\fP, \fBEVAS_CALLBACK_MOUSE_MOVE\fP, \fBEVAS_CALLBACK_MOUSE_WHEEL\fP, \fBEVAS_CALLBACK_MULTI_DOWN\fP, \fBEVAS_CALLBACK_MULTI_UP\fP, \fBEVAS_CALLBACK_MULTI_MOVE\fP, \fBEVAS_CALLBACK_FREE\fP, \fBEVAS_CALLBACK_KEY_DOWN\fP, \fBEVAS_CALLBACK_KEY_UP\fP, \fBEVAS_CALLBACK_FOCUS_IN\fP, \fBEVAS_CALLBACK_FOCUS_OUT\fP, \fBEVAS_CALLBACK_SHOW\fP, \fBEVAS_CALLBACK_HIDE\fP, \fBEVAS_CALLBACK_MOVE\fP, \fBEVAS_CALLBACK_RESIZE\fP, \fBEVAS_CALLBACK_RESTACK\fP, \fBEVAS_CALLBACK_DEL\fP, \fBEVAS_CALLBACK_HOLD\fP, \fBEVAS_CALLBACK_CHANGED_SIZE_HINTS\fP, \fBEVAS_CALLBACK_IMAGE_PRELOADED\fP, \fBEVAS_CALLBACK_CANVAS_FOCUS_IN\fP, \fBEVAS_CALLBACK_CANVAS_FOCUS_OUT\fP, \fBEVAS_CALLBACK_RENDER_FLUSH_PRE\fP, \fBEVAS_CALLBACK_RENDER_FLUSH_POST\fP, \fBEVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN\fP, \fBEVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT\fP, \fBEVAS_CALLBACK_IMAGE_UNLOADED\fP, \fBEVAS_CALLBACK_LAST\fP }"
+.br
+.RI "\fIIdentifier of callbacks to be used with object or canvas. \fP"
+.ti -1c
+.RI "enum \fB_Evas_Button_Flags\fP { \fBEVAS_BUTTON_NONE\fP =  0, \fBEVAS_BUTTON_DOUBLE_CLICK\fP =  (1 << 0), \fBEVAS_BUTTON_TRIPLE_CLICK\fP =  (1 << 1) }"
+.br
+.RI "\fIFlags for Mouse Button events. \fP"
+.ti -1c
+.RI "enum \fB_Evas_Event_Flags\fP { \fBEVAS_EVENT_FLAG_NONE\fP =  0, \fBEVAS_EVENT_FLAG_ON_HOLD\fP =  (1 << 0), \fBEVAS_EVENT_FLAG_ON_SCROLL\fP =  (1 << 1) }"
+.br
+.RI "\fIFlags for Events. \fP"
+.ti -1c
+.RI "enum \fB_Evas_Font_Hinting_Flags\fP { \fBEVAS_FONT_HINTING_NONE\fP, \fBEVAS_FONT_HINTING_AUTO\fP, \fBEVAS_FONT_HINTING_BYTECODE\fP }"
+.br
+.RI "\fIFlags for Font Hinting. \fP"
+.ti -1c
+.RI "enum \fB_Evas_Colorspace\fP { \fBEVAS_COLORSPACE_ARGB8888\fP, \fBEVAS_COLORSPACE_YCBCR422P601_PL\fP, \fBEVAS_COLORSPACE_YCBCR422P709_PL\fP, \fBEVAS_COLORSPACE_RGB565_A5P\fP, \fBEVAS_COLORSPACE_GRY8\fP }"
+.br
+.RI "\fIColorspaces for pixel data supported by Evas. \fP"
+.ti -1c
+.RI "enum \fB_Evas_Object_Table_Homogeneous_Mode\fP "
+.br
+.RI "\fIHow to pack items into cells in a table. \fP"
+.ti -1c
+.RI "enum \fB_Evas_Load_Error\fP { \fBEVAS_LOAD_ERROR_NONE\fP =  0, \fBEVAS_LOAD_ERROR_GENERIC\fP =  1, \fBEVAS_LOAD_ERROR_DOES_NOT_EXIST\fP =  2, \fBEVAS_LOAD_ERROR_PERMISSION_DENIED\fP =  3, \fBEVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED\fP =  4, \fBEVAS_LOAD_ERROR_CORRUPT_FILE\fP =  5, \fBEVAS_LOAD_ERROR_UNKNOWN_FORMAT\fP =  6 }"
+.br
+.ti -1c
+.RI "enum \fB_Evas_Alloc_Error\fP { \fBEVAS_ALLOC_ERROR_NONE\fP =  0, \fBEVAS_ALLOC_ERROR_FATAL\fP =  1, \fBEVAS_ALLOC_ERROR_RECOVERED\fP =  2 }"
+.br
+.ti -1c
+.RI "enum \fB_Evas_Fill_Spread\fP { \fBEVAS_TEXTURE_REFLECT\fP =  0, \fBEVAS_TEXTURE_REPEAT\fP =  1, \fBEVAS_TEXTURE_RESTRICT\fP =  2, \fBEVAS_TEXTURE_RESTRICT_REFLECT\fP =  3, \fBEVAS_TEXTURE_RESTRICT_REPEAT\fP =  4, \fBEVAS_TEXTURE_PAD\fP =  5 }"
+.br
+.ti -1c
+.RI "enum \fB_Evas_Pixel_Import_Pixel_Format\fP { \fBEVAS_PIXEL_FORMAT_NONE\fP =  0, \fBEVAS_PIXEL_FORMAT_ARGB32\fP =  1, \fBEVAS_PIXEL_FORMAT_YUV420P_601\fP =  2 }"
+.br
+.ti -1c
+.RI "enum \fB_Evas_Render_Op\fP { \fBEVAS_RENDER_BLEND\fP =  0, \fBEVAS_RENDER_BLEND_REL\fP =  1, \fBEVAS_RENDER_COPY\fP =  2, \fBEVAS_RENDER_COPY_REL\fP =  3, \fBEVAS_RENDER_ADD\fP =  4, \fBEVAS_RENDER_ADD_REL\fP =  5, \fBEVAS_RENDER_SUB\fP =  6, \fBEVAS_RENDER_SUB_REL\fP =  7, \fBEVAS_RENDER_TINT\fP =  8, \fBEVAS_RENDER_TINT_REL\fP =  9, \fBEVAS_RENDER_MASK\fP =  10, \fBEVAS_RENDER_MUL\fP =  11 }"
+.br
+.RI "\fIHow the object should be rendered to output. \fP"
+.ti -1c
+.RI "enum \fB_Evas_Object_Pointer_Mode\fP { \fBEVAS_OBJECT_POINTER_MODE_AUTOGRAB\fP }"
+.br
+.RI "\fIHow mouse pointer should be handled by Evas. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBevas_init\fP (void)"
+.br
+.RI "\fIInitialize Evas. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_shutdown\fP (void)"
+.br
+.RI "\fIShutdown Evas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Alloc_Error\fP \fBevas_alloc_error\fP (void)"
+.br
+.RI "\fIReturn if any allocation errors have occurred during the prior function. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_async_events_fd_get\fP (void) EINA_WARN_UNUSED_RESULT EINA_PURE"
+.br
+.RI "\fIGet evas' internal asynchronous events read file descriptor. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_async_events_process\fP (void)"
+.br
+.RI "\fITrigger the processing of all events waiting on the file descriptor returned by \fBevas_async_events_fd_get()\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas\fP * \fBevas_new\fP (void) EINA_WARN_UNUSED_RESULT EINA_MALLOC"
+.br
+.RI "\fICreates a new empty evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_free\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIFrees the given evas and any objects created on it. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_focus_in\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIInform to the evas that it got the focus. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_focus_out\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIInform to the evas that it lost the focus. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_focus_state_get\fP (const \fBEvas\fP *e) EINA_PURE"
+.br
+.RI "\fIGet the focus state known by the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_nochange_push\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIPush the nochange flag up 1. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_nochange_pop\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIPop the nochange flag down 1. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_data_attach_set\fP (\fBEvas\fP *e, void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIAttaches a specific pointer to the evas for fetching later. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_data_attach_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturns the pointer attached by \fBevas_data_attach_set()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_damage_rectangle_add\fP (\fBEvas\fP *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIAdd a damage rectangle. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_obscured_rectangle_add\fP (\fBEvas\fP *e, int x, int y, int w, int h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIAdd an obscured region. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_obscured_clear\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRemove all obscured region rectangles from the canvas. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_render_updates\fP (\fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIForce immediate renderization of the given canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_render_updates_free\fP (Eina_List *updates)"
+.br
+.RI "\fIFree the rectangles returned by \fBevas_render_updates()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_render\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIForce renderization of the given canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_norender\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIUpdate the canvas internal objects but not triggering immediate renderization. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_render_idle_flush\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMake the canvas discard internally cached data used for rendering. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_render_method_lookup\fP (const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)"
+.br
+.RI "\fILook up a numeric ID from a string name of a rendering engine. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_render_method_list\fP (void) EINA_WARN_UNUSED_RESULT"
+.br
+.RI "\fIList all the rendering engines compiled into the copy of the Evas library. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_render_method_list_free\fP (Eina_List *list)"
+.br
+.RI "\fIThis function should be called to free a list of engine names. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_output_method_set\fP (\fBEvas\fP *e, int render_method) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the output engine for the given evas. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_output_method_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the number of the output engine used for the given evas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Engine_Info\fP * \fBevas_engine_info_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the current render engine info struct from the given evas. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_engine_info_set\fP (\fBEvas\fP *e, \fBEvas_Engine_Info\fP *info) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIApplies the engine settings for the given evas from the given \fCEvas_Engine_Info\fP structure. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_output_size_set\fP (\fBEvas\fP *e, int w, int h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the output size of the render engine of the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_output_size_get\fP (const \fBEvas\fP *e, int *w, int *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieve the output size of the render engine of the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_output_viewport_set\fP (\fBEvas\fP *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the output viewport of the given evas in evas units. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_output_viewport_get\fP (const \fBEvas\fP *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet the render engine's output viewport co-ordinates in canvas units. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_coord_screen_x_to_world\fP (const \fBEvas\fP *e, int x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIConvert/scale an ouput screen co-ordinate into canvas co-ordinates. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_coord_screen_y_to_world\fP (const \fBEvas\fP *e, int y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIConvert/scale an ouput screen co-ordinate into canvas co-ordinates. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_coord_world_x_to_screen\fP (const \fBEvas\fP *e, Evas_Coord x) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIConvert/scale a canvas co-ordinate into output screen co-ordinates. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_coord_world_y_to_screen\fP (const \fBEvas\fP *e, Evas_Coord y) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIConvert/scale a canvas co-ordinate into output screen co-ordinates. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_pointer_output_xy_get\fP (const \fBEvas\fP *e, int *x, int *y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIThis function returns the current known pointer co-ordinates. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_pointer_canvas_xy_get\fP (const \fBEvas\fP *e, Evas_Coord *x, Evas_Coord *y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIThis function returns the current known pointer co-ordinates. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_pointer_button_down_mask_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns a bitmask with the mouse buttons currently pressed, set to 1. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_pointer_inside_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns whether the mouse pointer is logically inside the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_freeze\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIFreeze all event processing. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_thaw\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIThaw a canvas out after freezing. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_event_freeze_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturn the freeze count of a given canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_down\fP (\fBEvas\fP *e, int b, \fBEvas_Button_Flags\fP flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMouse down event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_up\fP (\fBEvas\fP *e, int b, \fBEvas_Button_Flags\fP flags, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMouse up event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_move\fP (\fBEvas\fP *e, int x, int y, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMouse move event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_in\fP (\fBEvas\fP *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMouse in event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_out\fP (\fBEvas\fP *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMouse out event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_cancel\fP (\fBEvas\fP *e, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMouse cancel event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_wheel\fP (\fBEvas\fP *e, int direction, int z, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMouse wheel event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_key_down\fP (\fBEvas\fP *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIKey down event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_key_up\fP (\fBEvas\fP *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIKey up event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_hold\fP (\fBEvas\fP *e, int hold, unsigned int timestamp, const void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIHold event feed. \fP"
+.ti -1c
+.RI "EAPI void EAPI void *EAPI void *EAPI void \fBevas_post_event_callback_push\fP (\fBEvas\fP *e, Evas_Object_Event_Post_Cb func, const void *data)"
+.br
+.RI "\fIPush a callback on the post-event callback stack. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_post_event_callback_remove\fP (\fBEvas\fP *e, Evas_Object_Event_Post_Cb func)"
+.br
+.RI "\fIRemove a callback from the post-event callback stack. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_post_event_callback_remove_full\fP (\fBEvas\fP *e, Evas_Object_Event_Post_Cb func, const void *data)"
+.br
+.RI "\fIRemove a callback from the post-event callback stack. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_image_cache_flush\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIFlush the image cache of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_image_cache_reload\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReload the image cache. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_image_cache_set\fP (\fBEvas\fP *e, int size) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the image cache. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_image_cache_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fISet the image cache. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_font_hinting_set\fP (\fBEvas\fP *e, \fBEvas_Font_Hinting_Flags\fP hinting) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIChanges the font hinting for the given evas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Font_Hinting_Flags\fP \fBevas_font_hinting_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the font hinting used by the given evas. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_font_hinting_can_hint\fP (const \fBEvas\fP *e, \fBEvas_Font_Hinting_Flags\fP hinting) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIChecks if the font hinting is supported by the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_font_cache_flush\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIForce the given evas and associated engine to flush its font cache. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_font_cache_set\fP (\fBEvas\fP *e, int size) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIChanges the size of font cache of the given evas. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_font_cache_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIChanges the size of font cache of the given evas. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_font_available_list\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIList of available font descriptions known or found by this evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_font_available_list_free\fP (\fBEvas\fP *e, Eina_List *available) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIFree list of font descriptions returned by evas_font_dir_available_list(). \fP"
+.ti -1c
+.RI "EAPI void \fBevas_font_path_clear\fP (\fBEvas\fP *e) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRemoves all font paths loaded into memory for the given evas. \fP"
+.ti -1c
+.RI "EAPI void EAPI void EAPI const Eina_List * \fBevas_font_path_list\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the list of font paths used by the given evas. \fP"
+.ti -1c
+.RI "EAPI void EAPI \fBEvas_Object\fP * \fBevas_object_clip_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the object clipping this one (if any). \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_clip_unset\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIDisable clipping for an object. \fP"
+.ti -1c
+.RI "EAPI const Eina_List * \fBevas_object_clipees_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturn a list of objects currently clipped by a specific object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_focus_set\fP (\fBEvas_Object\fP *obj, Eina_Bool focus) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets focus to the given object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_focus_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITest if the object has focus. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_layer_set\fP (\fBEvas_Object\fP *obj, short l) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the layer of the evas that the given object will be part of. \fP"
+.ti -1c
+.RI "EAPI short \fBevas_object_layer_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the layer of the evas that the given object is part of. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_name_set\fP (\fBEvas_Object\fP *obj, const char *name) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the name of the given evas object to the given name. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_name_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the name of the given evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_ref\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIIncrements object reference count to defer deletion. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_unref\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIDecrements object reference count to defer deletion. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_del\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIDeletes the given evas object and frees its memory. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_move\fP (\fBEvas_Object\fP *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMoves the given evas object to the given location. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_resize\fP (\fBEvas_Object\fP *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIChanges the size of the given evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_geometry_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the position and rectangular size of the given evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_show\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMakes the given evas object visible. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_hide\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMakes the given evas object invisible. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_visible_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves whether or not the given evas object is visible. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_color_set\fP (\fBEvas_Object\fP *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the general colour of the given evas object to the given colour. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_color_get\fP (const \fBEvas_Object\fP *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the general colour of the given evas object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas\fP * \fBevas_object_evas_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the evas that the given evas object is on. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_type_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the name of the type of the given evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_raise\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRaise \fCobj\fP to the top of its layer. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_lower\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fILower \fCobj\fP to the bottom of its layer. \fP"
+.ti -1c
+.RI "EAPI void EAPI void EAPI \fBEvas_Object\fP * \fBevas_object_above_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the evas object above \fCobj\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_below_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the evas object below \fCobj\fP. \fP"
+.ti -1c
+.RI "EAPI void EAPI void *EAPI void *EAPI void \fBevas_object_pass_events_set\fP (\fBEvas_Object\fP *obj, Eina_Bool pass) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet an object's pass events state. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_pass_events_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIDetermine whether an object is set to pass events. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_repeat_events_set\fP (\fBEvas_Object\fP *obj, Eina_Bool repeat) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet an object's repeat events state. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_repeat_events_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIDetermine whether an object is set to repeat events. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_propagate_events_set\fP (\fBEvas_Object\fP *obj, Eina_Bool prop) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet whether events on a smart member object should propagate to its parent. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_propagate_events_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIDetermine whether an object is set to propagate events. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_map_enable_set\fP (\fBEvas_Object\fP *obj, Eina_Bool enabled)"
+.br
+.RI "\fIEnable or disable the map that is set. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_map_enable_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the map enabled state. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_map_source_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Object\fP *src)"
+.br
+.RI "\fISet the map source object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_map_source_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the map source object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_map_set\fP (\fBEvas_Object\fP *obj, const \fBEvas_Map\fP *map)"
+.br
+.RI "\fISet current object transformation map. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Map\fP * \fBevas_object_map_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet current object transformation map. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_util_points_populate_from_object_full\fP (\fBEvas_Map\fP *m, const \fBEvas_Object\fP *obj, Evas_Coord z)"
+.br
+.RI "\fIPopulate source and destination map points to match exactly object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_util_points_populate_from_object\fP (\fBEvas_Map\fP *m, const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIPopulate source and destination map points to match exactly object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_util_points_populate_from_geometry\fP (\fBEvas_Map\fP *m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z)"
+.br
+.RI "\fIPopulate source and destination map points to match given geometry. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_util_points_color_set\fP (\fBEvas_Map\fP *m, int r, int g, int b, int a)"
+.br
+.RI "\fISet color of all points to given color. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_util_rotate\fP (\fBEvas_Map\fP *m, double degrees, Evas_Coord cx, Evas_Coord cy)"
+.br
+.RI "\fIChange the map to apply the given rotation. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_util_zoom\fP (\fBEvas_Map\fP *m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy)"
+.br
+.RI "\fIChange the map to apply the given zooming. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_util_3d_rotate\fP (\fBEvas_Map\fP *m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz)"
+.br
+.RI "\fIRotate the map around 3 axes in 3D. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_util_3d_lighting\fP (\fBEvas_Map\fP *m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab)"
+.br
+.RI "\fIPerform lighting calculations on the given Map. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_util_3d_perspective\fP (\fBEvas_Map\fP *m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)"
+.br
+.RI "\fIApply a perspective transform to the map. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_map_util_clockwise_get\fP (\fBEvas_Map\fP *m)"
+.br
+.RI "\fIGet the clockwise state of a map. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Map\fP * \fBevas_map_new\fP (int count)"
+.br
+.RI "\fICreate map of transformation points to be later used with an evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_smooth_set\fP (\fBEvas_Map\fP *m, Eina_Bool enabled)"
+.br
+.RI "\fISet the smoothing for map rendering. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_map_smooth_get\fP (const \fBEvas_Map\fP *m)"
+.br
+.RI "\fIget the smoothing for map rendering \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_alpha_set\fP (\fBEvas_Map\fP *m, Eina_Bool enabled)"
+.br
+.RI "\fISet the alpha flag for map rendering. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_map_alpha_get\fP (const \fBEvas_Map\fP *m)"
+.br
+.RI "\fIget the alpha flag for map rendering \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Map\fP * \fBevas_map_dup\fP (const \fBEvas_Map\fP *m)"
+.br
+.RI "\fICopy a previously allocated map. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_free\fP (\fBEvas_Map\fP *m)"
+.br
+.RI "\fIFree a previously allocated map. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_map_count_get\fP (const \fBEvas_Map\fP *m) EINA_CONST"
+.br
+.RI "\fIGet a maps size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_point_coord_set\fP (\fBEvas_Map\fP *m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z)"
+.br
+.RI "\fIChange the map point's coordinate. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_point_coord_get\fP (const \fBEvas_Map\fP *m, int idx, Evas_Coord *x, Evas_Coord *y, Evas_Coord *z)"
+.br
+.RI "\fIGet the map point's coordinate. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_point_image_uv_set\fP (\fBEvas_Map\fP *m, int idx, double u, double v)"
+.br
+.RI "\fIChange the map point's U and V texture source point. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_point_image_uv_get\fP (const \fBEvas_Map\fP *m, int idx, double *u, double *v)"
+.br
+.RI "\fIGet the map point's U and V texture source points. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_point_color_set\fP (\fBEvas_Map\fP *m, int idx, int r, int g, int b, int a)"
+.br
+.RI "\fISet the color of a vertex in the map. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_map_point_color_get\fP (const \fBEvas_Map\fP *m, int idx, int *r, int *g, int *b, int *a)"
+.br
+.RI "\fIGet the color set on a vertex in the map. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_min_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the size hint for the minimum size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_min_set\fP (\fBEvas_Object\fP *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the size hint for the minimum size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_max_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the size hint for the maximum size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_max_set\fP (\fBEvas_Object\fP *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the size hint for the maximum size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_request_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the size request hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_request_set\fP (\fBEvas_Object\fP *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the requested size hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_aspect_get\fP (const \fBEvas_Object\fP *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the size aspect control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_aspect_set\fP (\fBEvas_Object\fP *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the size aspect control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_align_get\fP (const \fBEvas_Object\fP *obj, double *x, double *y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the size align control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_align_set\fP (\fBEvas_Object\fP *obj, double x, double y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the size align control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_weight_get\fP (const \fBEvas_Object\fP *obj, double *x, double *y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the size weight control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_weight_set\fP (\fBEvas_Object\fP *obj, double x, double y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the size weight control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_padding_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the size padding control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_padding_set\fP (\fBEvas_Object\fP *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the size padding control hint. \fP"
+.ti -1c
+.RI "EAPI void *EAPI void \fBevas_object_pointer_mode_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Object_Pointer_Mode\fP setting) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet pointer behavior. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object_Pointer_Mode\fP \fBevas_object_pointer_mode_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIDetermine how pointer will behave. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_anti_alias_set\fP (\fBEvas_Object\fP *obj, Eina_Bool antialias) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets whether or not the given evas object is to be drawn anti-aliased. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_anti_alias_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves whether or not the given evas object is to be drawn anti_aliased. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_scale_set\fP (\fBEvas_Object\fP *obj, double scale) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the scaling factor for an evas object. \fP"
+.ti -1c
+.RI "EAPI double \fBevas_object_scale_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the scaling factor for the given evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_render_op_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Render_Op\fP op) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the render_op to be used for rendering the evas object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Render_Op\fP \fBevas_object_render_op_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the current value of the operation used for rendering the evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_precise_is_inside_set\fP (\fBEvas_Object\fP *obj, Eina_Bool precise) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet whether to use a precise (usually expensive) point collision detection. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_precise_is_inside_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIDetermine whether an object is set to use a precise point collision detection. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_static_clip_set\fP (\fBEvas_Object\fP *obj, Eina_Bool is_static_clip) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet a hint flag on the object that this is used as a static 'clipper'. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_static_clip_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet static 'clipper' hint flag. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_focus_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieve the object that currently has focus. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_name_find\fP (const \fBEvas\fP *e, const char *name) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the object on the given evas with the given name. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_top_at_xy_get\fP (const \fBEvas\fP *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the top object at the given position (x,y). \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_top_at_pointer_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the top object at mouse pointer position. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_top_in_rectangle_get\fP (const \fBEvas\fP *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the top object in the given rectangle region. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_objects_at_xy_get\fP (const \fBEvas\fP *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the objects at the given position. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_objects_in_rectangle_get\fP (const \fBEvas\fP *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_bottom_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the lowest evas object on the Evas \fCe\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_top_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the highest evas object on the Evas \fCe\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_rectangle_add\fP (\fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIAdds a rectangle to the given evas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_image_add\fP (\fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fICreates a new image object on the given evas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_image_filled_add\fP (\fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fICreates a new image object that automatically scales on the given evas. \fP"
+.ti -1c
+.RI "EAPI void EAPI void \fBevas_object_image_file_set\fP (\fBEvas_Object\fP *obj, const char *file, const char *key) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the filename and key of the given image object. \fP"
+.ti -1c
+.RI "EAPI void EAPI void \fBevas_object_image_border_set\fP (\fBEvas_Object\fP *obj, int l, int r, int t, int b) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets how much of each border of the given image object is not to be scaled. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_border_get\fP (const \fBEvas_Object\fP *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves how much of each border of the given image object is not to be scaled. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_border_center_fill_set\fP (\fBEvas_Object\fP *obj, Evas_Border_Fill_Mode fill) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets if the center part of the given image object (not the border) should be drawn. \fP"
+.ti -1c
+.RI "EAPI Evas_Border_Fill_Mode \fBevas_object_image_border_center_fill_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves if the center of the given image object is to be drawn or not. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_filled_set\fP (\fBEvas_Object\fP *obj, Eina_Bool setting) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets if image fill property should track object size. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_filled_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves if image fill property is tracking object size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_border_scale_set\fP (\fBEvas_Object\fP *obj, double scale)"
+.br
+.RI "\fISets a scale factor (multiplier) for the borders of an image. \fP"
+.ti -1c
+.RI "EAPI double \fBevas_object_image_border_scale_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the border scale factor. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_fill_set\fP (\fBEvas_Object\fP *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the rectangle of the given image object that the image will be drawn to. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_fill_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the dimensions of the rectangle of the given image object that the image will be drawn to. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_fill_spread_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Fill_Spread\fP spread) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the tiling mode for the given evas image object's fill. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Fill_Spread\fP \fBevas_object_image_fill_spread_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the spread (tiling mode) for the given image object's fill. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_size_set\fP (\fBEvas_Object\fP *obj, int w, int h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the size of the given image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_size_get\fP (const \fBEvas_Object\fP *obj, int *w, int *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieves the size of the given image object. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_object_image_stride_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the row stride of the given image object,. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Load_Error\fP \fBevas_object_image_load_error_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves a number representing any error that occurred during the last load of the given image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_data_set\fP (\fBEvas_Object\fP *obj, void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the raw image data of the given image object. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_image_data_convert\fP (\fBEvas_Object\fP *obj, \fBEvas_Colorspace\fP to_cspace) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIConverts the raw image data of the given image object to the specified colorspace. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_image_data_get\fP (const \fBEvas_Object\fP *obj, Eina_Bool for_writing) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet a pointer to the raw image data of the given image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_data_copy_set\fP (\fBEvas_Object\fP *obj, void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReplaces the raw image data of the given image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_data_update_add\fP (\fBEvas_Object\fP *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMark a sub-region of the given image object to be redrawn. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_alpha_set\fP (\fBEvas_Object\fP *obj, Eina_Bool has_alpha) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIEnable or disable alpha channel of the given image object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_alpha_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the alpha channel setting of the given image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_smooth_scale_set\fP (\fBEvas_Object\fP *obj, Eina_Bool smooth_scale) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets whether to use of high-quality image scaling algorithm of the given image object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_smooth_scale_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves whether the given image object is using use a high-quality image scaling algorithm. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_preload\fP (\fBEvas_Object\fP *obj, Eina_Bool cancel) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIPreload image in the background. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_reload\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReload a image of the canvas. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool EAPI Eina_Bool EAPI void EAPI void \fBevas_object_image_pixels_dirty_set\fP (\fBEvas_Object\fP *obj, Eina_Bool dirty) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMark whether the given image object is dirty (needs to be redrawn). \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_pixels_dirty_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves whether the given image object is dirty (needs to be redrawn). \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_load_dpi_set\fP (\fBEvas_Object\fP *obj, double dpi) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the dpi resolution of a loaded image of the canvas. \fP"
+.ti -1c
+.RI "EAPI double \fBevas_object_image_load_dpi_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the dpi resolution of a loaded image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_load_size_set\fP (\fBEvas_Object\fP *obj, int w, int h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the size of a loaded image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_load_size_get\fP (const \fBEvas_Object\fP *obj, int *w, int *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet the size of a loaded image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_load_scale_down_set\fP (\fBEvas_Object\fP *obj, int scale_down) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the scale down of a loaded image of the canvas. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_object_image_load_scale_down_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the scale down value of given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_colorspace_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Colorspace\fP cspace) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the colorspace of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Colorspace\fP \fBevas_object_image_colorspace_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the colorspace of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void EAPI \fBEvas_Native_Surface\fP * \fBevas_object_image_native_surface_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the native surface of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_scale_hint_set\fP (\fBEvas_Object\fP *obj, Evas_Image_Scale_Hint hint) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the scale hint of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI Evas_Image_Scale_Hint \fBevas_object_image_scale_hint_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the scale hint of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_content_hint_set\fP (\fBEvas_Object\fP *obj, Evas_Image_Content_Hint hint) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the content hint of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI Evas_Image_Content_Hint \fBevas_object_image_content_hint_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the content hint of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_alpha_mask_set\fP (\fBEvas_Object\fP *obj, Eina_Bool ismask) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIEnable an image to be used as an alpha mask. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_source_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Object\fP *src) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the source object on a proxy object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_image_source_get\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet the current source object of an image. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_source_unset\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIClear the source on a proxy image. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_text_add\fP (\fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fICreates a new text \fCEvas_Object\fP on the provided \fCEvas\fP canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_font_source_set\fP (\fBEvas_Object\fP *obj, const char *font) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_text_font_source_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_font_set\fP (\fBEvas_Object\fP *obj, const char *font, Evas_Font_Size size) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void EAPI void \fBevas_object_text_text_set\fP (\fBEvas_Object\fP *obj, const char *text) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the text to be displayed by the given evas text object. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_text_text_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieves the text currently being displayed by the given evas text object. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_ascent_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_descent_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_max_ascent_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_max_descent_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_horiz_advance_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_vert_advance_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_inset_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_text_char_pos_get\fP (const \fBEvas_Object\fP *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRetrieve position and dimension information of a character within a text \fCEvas_Object\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_object_text_char_coords_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_object_text_last_up_to_pos\fP (const \fBEvas_Object\fP *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns the logical position of the last char in the text up to the pos given. \fP"
+.ti -1c
+.RI "EAPI Evas_Text_Style_Type \fBevas_object_text_style_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_style_set\fP (\fBEvas_Object\fP *obj, Evas_Text_Style_Type type) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_shadow_color_set\fP (\fBEvas_Object\fP *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_shadow_color_get\fP (const \fBEvas_Object\fP *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_glow_color_set\fP (\fBEvas_Object\fP *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_glow_color_get\fP (const \fBEvas_Object\fP *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_glow2_color_set\fP (\fBEvas_Object\fP *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_glow2_color_get\fP (const \fBEvas_Object\fP *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_outline_color_set\fP (\fBEvas_Object\fP *obj, int r, int g, int b, int a) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_outline_color_get\fP (const \fBEvas_Object\fP *obj, int *r, int *g, int *b, int *a) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_style_pad_get\fP (const \fBEvas_Object\fP *obj, int *l, int *r, int *t, int *b) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGets the text style pad of a text object. \fP"
+.ti -1c
+.RI "EAPI Evas_BiDi_Direction \fBevas_object_text_direction_get\fP (const \fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1) EINA_WARN_UNUSED_RESULT"
+.br
+.RI "\fIRetrieves the direction of the text currently being displayed in the text object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_textblock_add\fP (\fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIAdds a textblock to the given evas. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_textblock_escape_string_get\fP (const char *escape) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturns the unescaped version of escape. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_textblock_string_escape_get\fP (const char *string, int *len_ret) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturns the escaped version of the string. \fP"
+.ti -1c
+.RI "EAPI Evas_Textblock_Style * \fBevas_textblock_style_new\fP (void) EINA_WARN_UNUSED_RESULT EINA_MALLOC"
+.br
+.RI "\fICreates a new textblock style. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_style_free\fP (Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIDestroys a textblock style. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_style_set\fP (Evas_Textblock_Style *ts, const char *text) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the style ts to the style passed as text by text. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_textblock_style_get\fP (const Evas_Textblock_Style *ts) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturn the text of the style ts. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_style_set\fP (\fBEvas_Object\fP *obj, Evas_Textblock_Style *ts) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the objects style to ts. \fP"
+.ti -1c
+.RI "EAPI const Evas_Textblock_Style * \fBevas_object_textblock_style_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturn the style of an object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_replace_char_set\fP (\fBEvas_Object\fP *obj, const char *ch) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the 'replacement character' to use for the given textblock object. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_textblock_replace_char_get\fP (\fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the 'replacement character' for given textblock object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_valign_set\fP (\fBEvas_Object\fP *obj, double align)"
+.br
+.RI "\fISets the vertical alignment of text within the textblock object as a whole. \fP"
+.ti -1c
+.RI "EAPI double \fBevas_object_textblock_valign_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGets the vertical alignment of a textblock. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_newline_mode_set\fP (\fBEvas_Object\fP *obj, Eina_Bool mode) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets newline mode. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_textblock_newline_mode_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGets newline mode. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_text_markup_set\fP (\fBEvas_Object\fP *obj, const char *text) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the tetxblock's text to the markup text. \fP"
+.ti -1c
+.RI "EAPI void EAPI const char * \fBevas_object_textblock_text_markup_get\fP (const \fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturn the markup of the object. \fP"
+.ti -1c
+.RI "EAPI const Evas_Textblock_Cursor * \fBevas_object_textblock_cursor_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturn the object's main cursor. \fP"
+.ti -1c
+.RI "EAPI Evas_Textblock_Cursor * \fBevas_object_textblock_cursor_new\fP (\fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fICreate a new cursor, associate it to the obj and init it to point to the start of the textblock. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_free\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIFree the cursor and unassociate it from the object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_paragraph_first\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the cursor to the start of the first text node. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_paragraph_last\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIsets the cursor to the end of the last text node. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_paragraph_next\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIAdvances to the the start of the next text node. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_paragraph_prev\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIAdvances to the the end of the previous text node. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Textblock_Node_Format\fP * \fBevas_textblock_node_format_first_get\fP (const \fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns the first format node. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Textblock_Node_Format\fP * \fBevas_textblock_node_format_last_get\fP (const \fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns the last format node. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Textblock_Node_Format\fP * \fBevas_textblock_node_format_next_get\fP (const \fBEvas_Object_Textblock_Node_Format\fP *n) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns the next format node (after n). \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Textblock_Node_Format\fP * \fBevas_textblock_node_format_prev_get\fP (const \fBEvas_Object_Textblock_Node_Format\fP *n) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns the prev format node (after n). \fP"
+.ti -1c
+.RI "EAPI void EAPI void EAPI const \fBEvas_Object_Textblock_Node_Format\fP * \fBevas_textblock_cursor_format_get\fP (const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturn the format node at the position pointed by cur. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_textblock_node_format_text_get\fP (const \fBEvas_Object_Textblock_Node_Format\fP *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet the text format representation of the format node. \fP"
+.ti -1c
+.RI "EAPI void EAPI Eina_Bool \fBevas_textblock_cursor_format_is_visible_get\fP (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fICheck if the current cursor position is a visible format. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_format_next\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIAdvances to the next format node. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_format_prev\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIAdvances to the previous format node. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_is_format\fP (const Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns true if the cursor points to a format. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_char_next\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIAdvances 1 char forward. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_char_prev\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIAdvances 1 char backward. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_paragraph_char_first\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGo to the first char in the node the cursor is pointing on. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_paragraph_char_last\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGo to the last char in a text node. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_line_char_first\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGo to the start of the current line. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_line_char_last\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGo to the end of the current line. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_pos_get\fP (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturn the current cursor pos. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_pos_set\fP (Evas_Textblock_Cursor *cur, int pos) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the cursor pos. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_line_set\fP (Evas_Textblock_Cursor *cur, int line) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGo to the start of the line passed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_char_delete\fP (Evas_Textblock_Cursor *cur) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIDelete the character at the location of the cursor. \fP"
+.ti -1c
+.RI "EAPI void EAPI const char * \fBevas_textblock_cursor_paragraph_text_get\fP (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturn the text of the paragraph cur points to - returns the text in markup. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_paragraph_text_length_get\fP (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturn the length of the paragraph, cheaper the eina_unicode_strlen(). \fP"
+.ti -1c
+.RI "EAPI char * \fBevas_textblock_cursor_content_get\fP (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIReturn the content of the cursor. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_geometry_get\fP (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns the geometry of the cursor. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_char_geometry_get\fP (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns the geometry of the char at cur. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_pen_geometry_get\fP (const Evas_Textblock_Cursor *cur, Evas_Coord *cpen_x, Evas_Coord *cy, Evas_Coord *cadv, Evas_Coord *ch) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns the geometry of the pen at cur. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_line_geometry_get\fP (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIReturns the geometry of the line at cur. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_char_coord_set\fP (Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the position of the cursor according to the X and Y coordinates. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_line_coord_set\fP (Evas_Textblock_Cursor *cur, Evas_Coord y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the cursor position according to the y coord. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_format_item_geometry_get\fP (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIto be documented. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_eol_get\fP (const Evas_Textblock_Cursor *cur) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIChecks if the cursor points to the end of the line. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_textblock_line_number_geometry_get\fP (const \fBEvas_Object\fP *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet the geometry of a line number. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_clear\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIClear the textblock object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_size_formatted_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet the formatted width and height. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_size_native_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet the native width and height. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_style_insets_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIto be documented. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_line_add\fP (\fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIAdds a new evas line object to the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_line_xy_set\fP (\fBEvas_Object\fP *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)"
+.br
+.RI "\fISets the coordinates of the end points of the given evas line object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_line_xy_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2)"
+.br
+.RI "\fIRetrieves the coordinates of the end points of the given evas line object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_polygon_add\fP (\fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIAdds a new evas polygon object to the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_polygon_point_add\fP (\fBEvas_Object\fP *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIAdds the given point to the given evas polygon object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_polygon_points_clear\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRemoves all of the points from the given evas polygon object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_smart_free\fP (\fBEvas_Smart\fP *s) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIFree an Evas_Smart. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Smart\fP * \fBevas_smart_class_new\fP (const \fBEvas_Smart_Class\fP *sc) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fICreates an Evas_Smart from an Evas_Smart_Class. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Smart_Class\fP * \fBevas_smart_class_get\fP (const \fBEvas_Smart\fP *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the Evas_Smart_Class of an Evas_Smart. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_smart_data_get\fP (const \fBEvas_Smart\fP *s) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the data pointer set on an Evas_Smart. \fP"
+.ti -1c
+.RI "EAPI void EAPI void \fBevas_object_smart_member_del\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRemoves a member object from a smart object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_smart_parent_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGets the smart parent of an Evas_Object. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_object_smart_members_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGets the list of the member objects of an Evas_Object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Smart\fP * \fBevas_object_smart_smart_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the Evas_Smart from which \fCobj\fP was created. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_smart_data_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIRetrieve user data stored on a smart object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_data_set\fP (\fBEvas_Object\fP *obj, void *data) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIStore a pointer to user data for a smart object. \fP"
+.ti -1c
+.RI "EAPI void EAPI void EAPI void EAPI Eina_Bool \fBevas_object_smart_callbacks_descriptions_set\fP (\fBEvas_Object\fP *obj, const \fBEvas_Smart_Cb_Description\fP *descriptions) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet smart object instance callbacks descriptions. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_callbacks_descriptions_get\fP (const \fBEvas_Object\fP *obj, const \fBEvas_Smart_Cb_Description\fP ***class_descriptions, unsigned int *class_count, const \fBEvas_Smart_Cb_Description\fP ***instance_descriptions, unsigned int *instance_count) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet the callbacks descriptions known by this smart object. \fP"
+.ti -1c
+.RI "EAPI void EAPI void \fBevas_object_smart_changed\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMark smart object as changed, dirty. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_need_recalculate_set\fP (\fBEvas_Object\fP *obj, Eina_Bool value) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the need_recalculate flag of given smart object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_smart_need_recalculate_get\fP (const \fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the current value of need_recalculate flag. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_calculate\fP (\fBEvas_Object\fP *obj) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fICall user provided calculate() and unset need_calculate. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_smart_objects_calculate\fP (\fBEvas\fP *e)"
+.br
+.RI "\fICall user provided calculate() and unset need_calculate on all objects. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_smart_clipped_clipper_get\fP (\fBEvas_Object\fP *obj) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the clipper object for the given clipped smart object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_clipped_smart_set\fP (\fBEvas_Smart_Class\fP *sc) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet smart class callbacks so it implements the 'Clipped Smart Object'. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Smart_Class\fP * \fBevas_object_smart_clipped_class_get\fP (void) EINA_CONST"
+.br
+.RI "\fIGet a pointer to the Clipped Smart Class to use for proper inheritance. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_move_children_relative\fP (\fBEvas_Object\fP *obj, Evas_Coord dx, Evas_Coord dy) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIMoves all children objects relative to given offset. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_smart_set\fP (\fBEvas_Object_Box_Api\fP *api) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the default box \fIapi\fP struct (Evas_Object_Box_Api) with the default values. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Box_Api\fP * \fBevas_object_box_smart_class_get\fP (void) EINA_CONST"
+.br
+.RI "\fIGet Box Smart Class for inheritance purposes. \fP"
+.ti -1c
+.RI "EAPI void EAPI \fBEvas_Object\fP * \fBevas_object_box_add\fP (\fBEvas\fP *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fICreate a new box. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_box_add_to\fP (\fBEvas_Object\fP *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fICreate a box that is child of a given element \fIparent\fP. \fP"
+.ti -1c
+.RI "EAPI void EAPI void EAPI void EAPI void EAPI void EAPI void EAPI void EAPI void EAPI void EAPI void \fBevas_object_box_align_set\fP (\fBEvas_Object\fP *o, double horizontal, double vertical) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the alignment of the whole bounding box of contents. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_align_get\fP (const \fBEvas_Object\fP *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet alignment of the whole bounding box of contents. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_padding_set\fP (\fBEvas_Object\fP *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the space (padding) between cells. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_padding_get\fP (const \fBEvas_Object\fP *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet the (space) padding between cells. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object_Box_Option\fP *EAPI \fBEvas_Object_Box_Option\fP *EAPI \fBEvas_Object_Box_Option\fP EAPI \fBEvas_Object_Box_Option\fP EAPI \fBEvas_Object_Box_Option\fP *EAPI Eina_Bool EAPI Eina_Bool \fBevas_object_box_remove_at\fP (\fBEvas_Object\fP *o, unsigned int pos) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRemove an object from the box \fIo\fP which occupies position \fIpos\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_box_remove_all\fP (\fBEvas_Object\fP *o, Eina_Bool clear) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIRemove all child objects. \fP"
+.ti -1c
+.RI "EAPI Eina_Iterator * \fBevas_object_box_iterator_new\fP (const \fBEvas_Object\fP *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIGet an iterator to walk the list of children for the box. \fP"
+.ti -1c
+.RI "EAPI Eina_Accessor * \fBevas_object_box_accessor_new\fP (const \fBEvas_Object\fP *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIGet an accessor to get random access to the list of children for the box. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_object_box_children_get\fP (const \fBEvas_Object\fP *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIGet the list of children for the box. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_box_option_property_name_get\fP (\fBEvas_Object\fP *o, int property) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the name of the property of the child elements of the box \fIo\fP whose id is \fIproperty\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_table_add\fP (\fBEvas\fP *evas) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fICreate a new table. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_table_add_to\fP (\fBEvas_Object\fP *parent) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fICreate a table that is child of a given element \fIparent\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_homogeneous_set\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Table_Homogeneous_Mode\fP homogeneous) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet how this table should layout children. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object_Table_Homogeneous_Mode\fP \fBevas_object_table_homogeneous_get\fP (const \fBEvas_Object\fP *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the current layout homogeneous mode. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_padding_set\fP (\fBEvas_Object\fP *o, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet padding between cells. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_padding_get\fP (const \fBEvas_Object\fP *o, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet padding between cells. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_align_set\fP (\fBEvas_Object\fP *o, double horizontal, double vertical) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISet the alignment of the whole bounding box of contents. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_align_get\fP (const \fBEvas_Object\fP *o, double *horizontal, double *vertical) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet alignment of the whole bounding box of contents. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_mirrored_set\fP (\fBEvas_Object\fP *o, Eina_Bool mirrored) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fISets the mirrored mode of the table. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_table_mirrored_get\fP (const \fBEvas_Object\fP *o) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGets the mirrored mode of the table. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool EAPI Eina_Bool EAPI void \fBevas_object_table_clear\fP (\fBEvas_Object\fP *o, Eina_Bool clear) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIFaster way to remove all child objects from a table object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_col_row_size_get\fP (const \fBEvas_Object\fP *o, int *cols, int *rows) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet the number of columns and rows this table takes. \fP"
+.ti -1c
+.RI "EAPI Eina_Iterator * \fBevas_object_table_iterator_new\fP (const \fBEvas_Object\fP *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIGet an iterator to walk the list of children for the table. \fP"
+.ti -1c
+.RI "EAPI Eina_Accessor * \fBevas_object_table_accessor_new\fP (const \fBEvas_Object\fP *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIGet an accessor to get random access to the list of children for the table. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_object_table_children_get\fP (const \fBEvas_Object\fP *o) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_MALLOC"
+.br
+.RI "\fIGet the list of children for the table. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_table_child_get\fP (const \fBEvas_Object\fP *o, unsigned short col, unsigned short row) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGet a child from the table using its coordinates. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_cserve_want_get\fP (void) EINA_WARN_UNUSED_RESULT EINA_PURE"
+.br
+.RI "\fIRetrieves if the system wants to share bitmaps using the server. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_cserve_connected_get\fP (void) EINA_WARN_UNUSED_RESULT"
+.br
+.RI "\fIRetrieves if the system is connected to the server used to shae bitmaps. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_cserve_stats_get\fP (\fBEvas_Cserve_Stats\fP *stats) EINA_WARN_UNUSED_RESULT"
+.br
+.RI "\fIRetrieves if the system wants to share bitmaps using the server. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_cserve_config_get\fP (\fBEvas_Cserve_Config\fP *config) EINA_WARN_UNUSED_RESULT EINA_PURE"
+.br
+.RI "\fIRetrieves the current configuration of the server. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_cserve_config_set\fP (const \fBEvas_Cserve_Config\fP *config) EINA_WARN_UNUSED_RESULT EINA_PURE"
+.br
+.RI "\fIChanges the configuration of the server. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_cserve_disconnect\fP (void)"
+.br
+.RI "\fIForce system to disconnect from cache server. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_load_error_str\fP (\fBEvas_Load_Error\fP error)"
+.br
+.RI "\fIConverts the given error code into a string describing it in english. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_color_hsv_to_rgb\fP (float h, float s, float v, int *r, int *g, int *b)"
+.br
+.RI "\fIConvert a given color from HSV to RGB format. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_color_rgb_to_hsv\fP (int r, int g, int b, float *h, float *s, float *v)"
+.br
+.RI "\fIConvert a given color from RGB to HSV format. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_color_argb_premul\fP (int a, int *r, int *g, int *b)"
+.br
+.RI "\fIPre-multiplies a rgb triplet by an alpha factor. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_color_argb_unpremul\fP (int a, int *r, int *g, int *b)"
+.br
+.RI "\fIUndo pre-multiplication of a rgb triplet by an alpha factor. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_data_argb_premul\fP (unsigned int *data, unsigned int len)"
+.br
+.RI "\fIPre-multiplies data by an alpha factor. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_data_argb_unpremul\fP (unsigned int *data, unsigned int len)"
+.br
+.RI "\fIUndo pre-multiplication data by an alpha factor. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_string_char_next_get\fP (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGets the next character in the string. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_string_char_prev_get\fP (const char *str, int pos, int *decoded) EINA_ARG_NONNULL(1)"
+.br
+.RI "\fIGets the previous character in the string. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_string_char_len_get\fP (const char *str) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIGet the length in characters of the string. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Modifier\fP * \fBevas_key_modifier_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fITO BE DOCUMENTED: \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Lock\fP * \fBevas_key_lock_get\fP (const \fBEvas\fP *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE"
+.br
+.RI "\fIReturns a handle to the locks available in the system. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+These routines are used for Evas library interaction. 
+
+\fBTodo\fP
+.RS 4
+check boolean return values and convert to Eina_Bool 
+.PP
+change all api to use EINA_SAFETY_* 
+.PP
+finish api documentation 
+.RE
+.PP
+
+.SH "Typedef Documentation"
+.PP 
+.SS "typedef enum \fB_Evas_Button_Flags\fP  \fBEvas_Button_Flags\fP"
+.PP
+Flags for Mouse Button events. Flags for Mouse Button events 
+.SS "typedef enum \fB_Evas_Callback_Type\fP  \fBEvas_Callback_Type\fP"
+.PP
+Identifier of callbacks to be used with object or canvas. \fBSee also:\fP
+.RS 4
+\fBevas_object_event_callback_add()\fP 
+.PP
+\fBevas_event_callback_add()\fP The type of event to trigger the callback 
+.RE
+.PP
+
+.SS "typedef enum \fB_Evas_Event_Flags\fP  \fBEvas_Event_Flags\fP"
+.PP
+Flags for Events. Flags for Events 
+.SS "typedef enum \fB_Evas_Pixel_Import_Pixel_Format\fP  \fBEvas_Pixel_Import_Pixel_Format\fP"
+.PP
+Pixel format for import call. See \fBevas_object_image_pixels_import()\fP 
+.SH "Enumeration Type Documentation"
+.PP 
+.SS "enum \fB_Evas_Alloc_Error\fP"
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_ALLOC_ERROR_NONE \fP\fP
+No allocation error. 
+.TP
+\fB\fIEVAS_ALLOC_ERROR_FATAL \fP\fP
+Allocation failed despite attempts to free up memory. 
+.TP
+\fB\fIEVAS_ALLOC_ERROR_RECOVERED \fP\fP
+Allocation succeeded, but extra memory had to be found by freeing up speculative resources. 
+.SS "enum \fB_Evas_Button_Flags\fP"
+.PP
+Flags for Mouse Button events. 
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_BUTTON_NONE \fP\fP
+No extra mouse button data. 
+.TP
+\fB\fIEVAS_BUTTON_DOUBLE_CLICK \fP\fP
+This mouse button press was the 2nd press of a double click. 
+.TP
+\fB\fIEVAS_BUTTON_TRIPLE_CLICK \fP\fP
+This mouse button press was the 3rd press of a triple click. 
+.SS "enum \fB_Evas_Callback_Type\fP"
+.PP
+Identifier of callbacks to be used with object or canvas. \fBSee also:\fP
+.RS 4
+\fBevas_object_event_callback_add()\fP 
+.PP
+\fBevas_event_callback_add()\fP 
+.RE
+.PP
+
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_CALLBACK_MOUSE_IN \fP\fP
+Mouse In Event. 
+.TP
+\fB\fIEVAS_CALLBACK_MOUSE_OUT \fP\fP
+Mouse Out Event. 
+.TP
+\fB\fIEVAS_CALLBACK_MOUSE_DOWN \fP\fP
+Mouse Button Down Event. 
+.TP
+\fB\fIEVAS_CALLBACK_MOUSE_UP \fP\fP
+Mouse Button Up Event. 
+.TP
+\fB\fIEVAS_CALLBACK_MOUSE_MOVE \fP\fP
+Mouse Move Event. 
+.TP
+\fB\fIEVAS_CALLBACK_MOUSE_WHEEL \fP\fP
+Mouse Wheel Event. 
+.TP
+\fB\fIEVAS_CALLBACK_MULTI_DOWN \fP\fP
+Multi-touch Down Event. 
+.TP
+\fB\fIEVAS_CALLBACK_MULTI_UP \fP\fP
+Multi-touch Up Event. 
+.TP
+\fB\fIEVAS_CALLBACK_MULTI_MOVE \fP\fP
+Multi-touch Move Event. 
+.TP
+\fB\fIEVAS_CALLBACK_FREE \fP\fP
+Object Being Freed (Called after Del). 
+.TP
+\fB\fIEVAS_CALLBACK_KEY_DOWN \fP\fP
+Key Press Event. 
+.TP
+\fB\fIEVAS_CALLBACK_KEY_UP \fP\fP
+Key Release Event. 
+.TP
+\fB\fIEVAS_CALLBACK_FOCUS_IN \fP\fP
+Focus In Event. 
+.TP
+\fB\fIEVAS_CALLBACK_FOCUS_OUT \fP\fP
+Focus Out Event. 
+.TP
+\fB\fIEVAS_CALLBACK_SHOW \fP\fP
+Show Event. 
+.TP
+\fB\fIEVAS_CALLBACK_HIDE \fP\fP
+Hide Event. 
+.TP
+\fB\fIEVAS_CALLBACK_MOVE \fP\fP
+Move Event. 
+.TP
+\fB\fIEVAS_CALLBACK_RESIZE \fP\fP
+Resize Event. 
+.TP
+\fB\fIEVAS_CALLBACK_RESTACK \fP\fP
+Restack Event. 
+.TP
+\fB\fIEVAS_CALLBACK_DEL \fP\fP
+Object Being Deleted (called before Free). 
+.TP
+\fB\fIEVAS_CALLBACK_HOLD \fP\fP
+Events go on/off hold. 
+.TP
+\fB\fIEVAS_CALLBACK_CHANGED_SIZE_HINTS \fP\fP
+Size hints changed event. 
+.TP
+\fB\fIEVAS_CALLBACK_IMAGE_PRELOADED \fP\fP
+Image as been preloaded. 
+.TP
+\fB\fIEVAS_CALLBACK_CANVAS_FOCUS_IN \fP\fP
+Canvas got focus as a whole. 
+.TP
+\fB\fIEVAS_CALLBACK_CANVAS_FOCUS_OUT \fP\fP
+Canvas lost focus as a whole. 
+.TP
+\fB\fIEVAS_CALLBACK_RENDER_FLUSH_PRE \fP\fP
+Called just before rendering is updated on the canvas target. 
+.TP
+\fB\fIEVAS_CALLBACK_RENDER_FLUSH_POST \fP\fP
+Called just after rendering is updated on the canvas target. 
+.TP
+\fB\fIEVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN \fP\fP
+Canvas object got focus. 
+.TP
+\fB\fIEVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT \fP\fP
+Canvas object lost focus. 
+.TP
+\fB\fIEVAS_CALLBACK_IMAGE_UNLOADED \fP\fP
+Image data has been unloaded (by some mechanims in evas that throws out original image data). 
+.TP
+\fB\fIEVAS_CALLBACK_LAST \fP\fP
+keep as last element/sentinel -- not really an event 
+.SS "enum \fB_Evas_Event_Flags\fP"
+.PP
+Flags for Events. 
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_EVENT_FLAG_NONE \fP\fP
+No fancy flags set. 
+.TP
+\fB\fIEVAS_EVENT_FLAG_ON_HOLD \fP\fP
+This event is being delivered but should be put 'on hold' until the on hold flag is unset. the event should be used for informational purposes and maybe some indications visually, but not actually perform anything 
+.TP
+\fB\fIEVAS_EVENT_FLAG_ON_SCROLL \fP\fP
+This event flag indicates the event occurs while scrolling; for exameple, DOWN event occurs during scrolling; the event should be used for informational purposes and maybe some indications visually, but not actually perform anything. 
+.SS "enum \fB_Evas_Fill_Spread\fP"
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_TEXTURE_REFLECT \fP\fP
+image fill tiling mode - tiling reflects 
+.TP
+\fB\fIEVAS_TEXTURE_REPEAT \fP\fP
+tiling repeats 
+.TP
+\fB\fIEVAS_TEXTURE_RESTRICT \fP\fP
+tiling clamps - range offset ignored 
+.TP
+\fB\fIEVAS_TEXTURE_RESTRICT_REFLECT \fP\fP
+tiling clamps and any range offset reflects 
+.TP
+\fB\fIEVAS_TEXTURE_RESTRICT_REPEAT \fP\fP
+tiling clamps and any range offset repeats 
+.TP
+\fB\fIEVAS_TEXTURE_PAD \fP\fP
+tiling extends with end values 
+.SS "enum \fB_Evas_Load_Error\fP"
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_LOAD_ERROR_NONE \fP\fP
+No error on load. 
+.TP
+\fB\fIEVAS_LOAD_ERROR_GENERIC \fP\fP
+A non-specific error occurred. 
+.TP
+\fB\fIEVAS_LOAD_ERROR_DOES_NOT_EXIST \fP\fP
+File (or file path) does not exist. 
+.TP
+\fB\fIEVAS_LOAD_ERROR_PERMISSION_DENIED \fP\fP
+Permission deinied to an existing file (or path). 
+.TP
+\fB\fIEVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED \fP\fP
+Allocation of resources failure prevented load. 
+.TP
+\fB\fIEVAS_LOAD_ERROR_CORRUPT_FILE \fP\fP
+File corrupt (but was detected as a known format). 
+.TP
+\fB\fIEVAS_LOAD_ERROR_UNKNOWN_FORMAT \fP\fP
+File is not a known format. 
+.SS "enum \fB_Evas_Pixel_Import_Pixel_Format\fP"
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_PIXEL_FORMAT_NONE \fP\fP
+No pixel format. 
+.TP
+\fB\fIEVAS_PIXEL_FORMAT_ARGB32 \fP\fP
+ARGB 32bit pixel format with A in the high byte per 32bit pixel word. 
+.TP
+\fB\fIEVAS_PIXEL_FORMAT_YUV420P_601 \fP\fP
+YUV 420 Planar format with CCIR 601 color encoding wuth contiguous planes in the order Y, U and V. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI const \fBEvas_Lock\fP* evas_key_lock_get (const \fBEvas\fP * e)"
+.PP
+Returns a handle to the locks available in the system. This is required to check for locks with the evas_key_lock_is_set function.
+.PP
+\fBSee also:\fP
+.RS 4
+evas_key_lock_add 
+.PP
+evas_key_lock_del 
+.PP
+evas_key_lock_on 
+.PP
+evas_key_lock_off
+.PP
+evas_key_lock_is_set 
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+An Evas_Lock handle to query the lock subsystem with evas_key_lock_is_set, or NULL on error. 
+.RE
+.PP
+
+.SS "EAPI const \fBEvas_Modifier\fP* evas_key_modifier_get (const \fBEvas\fP * e)"
+.PP
+TO BE DOCUMENTED: \fBTodo\fP
+.RS 4
+document key modifiers.
+.RE
+.PP
+.PP
+TO BE DOCUMENTED:
+.PP
+This is required to check for modifiers with the evas_key_modifier_is_set function.
+.PP
+\fBSee also:\fP
+.RS 4
+evas_key_modifier_add 
+.PP
+evas_key_modifier_del 
+.PP
+evas_key_modifier_on 
+.PP
+evas_key_modifier_off 
+.PP
+evas_key_modifier_is_set
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+An Evas_Modifier handle to query the modifier subsystem with evas_key_modifier_is_set, or NULL on error. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_map_alpha_get (const \fBEvas_Map\fP * m)"
+.PP
+get the alpha flag for map rendering This gets the alph flag for map rendering.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to get the alpha from. Must not be NULL. 
+.RE
+.PP
+
+.SS "EAPI void evas_map_alpha_set (\fBEvas_Map\fP * m, Eina_Bool enabled)"
+.PP
+Set the alpha flag for map rendering. This sets alpha flag for map rendering. If the object is a type that has its own alpha settings, then this will take precedence. Only image objects have this currently. Fits stops alpha blending of the map area, and is useful if you know the object and/or all sub-objects is 100% solid.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to modify. Must not be NULL. 
+.br
+\fIenabled\fP enable or disable alpha map rendering 
+.RE
+.PP
+
+.SS "EAPI int evas_map_count_get (const \fBEvas_Map\fP * m)"
+.PP
+Get a maps size. Returns the number of points in a map. Should be at least 4.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to get size. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+-1 on error, points otherwise. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Map\fP* evas_map_dup (const \fBEvas_Map\fP * m)"
+.PP
+Copy a previously allocated map. This makes a duplicate of the \fCm\fP object and returns it.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to copy. Must not be NULL. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+newly allocated map with the same count and contents as \fCm\fP. 
+.RE
+.PP
+
+.SS "EAPI void evas_map_free (\fBEvas_Map\fP * m)"
+.PP
+Free a previously allocated map. This frees a givem map \fCm\fP and all memory associated with it. You must NOT free a map returned by \fBevas_object_map_get()\fP as this is internal.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to free. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Map\fP* evas_map_new (int count)"
+.PP
+Create map of transformation points to be later used with an evas object. This creates a set of points (currently only 4 is supported. no other number for \fCcount\fP will work). That is empty and ready to be modified with evas_map calls.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcount\fP number of points in the map. * 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+a newly allocated map or NULL on errors.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_free()\fP 
+.PP
+\fBevas_map_dup()\fP 
+.PP
+\fBevas_map_point_coord_set()\fP 
+.PP
+\fBevas_map_point_image_uv_set()\fP 
+.PP
+\fBevas_map_util_points_populate_from_object_full()\fP 
+.PP
+\fBevas_map_util_points_populate_from_object()\fP
+.PP
+\fBevas_object_map_set()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_map_point_color_get (const \fBEvas_Map\fP * m, int idx, int * r, int * g, int * b, int * a)"
+.PP
+Get the color set on a vertex in the map. This gets the color set by \fBevas_map_point_color_set()\fP on the given vertex of the map.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to get the color of the vertex from. 
+.br
+\fIidx\fP index of point get. Must be smaller than map size. 
+.br
+\fIr\fP pointer to red return 
+.br
+\fIg\fP pointer to green return 
+.br
+\fIb\fP pointer to blue return 
+.br
+\fIa\fP pointer to alpha return (0 - 255)
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_point_coord_set()\fP 
+.PP
+\fBevas_object_map_set()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_map_point_color_set (\fBEvas_Map\fP * m, int idx, int r, int g, int b, int a)"
+.PP
+Set the color of a vertex in the map. This sets the color of the vertex in the map. Colors will be linearly interpolated between vertex points through the map. Color will multiply the 'texture' pixels (like GL_MODULATE in OpenGL). The default color of a vertex in a map is white solid (255, 255, 255, 255) which means it will have no affect on modifying the texture pixels.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change the color of. 
+.br
+\fIidx\fP index of point to change. Must be smaller than map size. 
+.br
+\fIr\fP red (0 - 255) 
+.br
+\fIg\fP green (0 - 255) 
+.br
+\fIb\fP blue (0 - 255) 
+.br
+\fIa\fP alpha (0 - 255)
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_util_points_color_set()\fP 
+.PP
+\fBevas_map_point_coord_set()\fP 
+.PP
+\fBevas_object_map_set()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_map_point_coord_get (const \fBEvas_Map\fP * m, int idx, Evas_Coord * x, Evas_Coord * y, Evas_Coord * z)"
+.PP
+Get the map point's coordinate. This returns the coordinates of the given point in the map.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to query point. 
+.br
+\fIidx\fP index of point to query. Must be smaller than map size. 
+.br
+\fIx\fP where to return the X coordinate. 
+.br
+\fIy\fP where to return the Y coordinate. 
+.br
+\fIz\fP where to return the Z coordinate. 
+.RE
+.PP
+
+.SS "EAPI void evas_map_point_coord_set (\fBEvas_Map\fP * m, int idx, Evas_Coord x, Evas_Coord y, Evas_Coord z)"
+.PP
+Change the map point's coordinate. This sets the fixen point's coordinate in the map. Note that points describe the outline of a quadrangle and are ordered either clockwise or anit-clock-wise. It is suggested to keep your quadrangles concave and non-complex, though these polygon modes may work, they may not render a desired set of output. The quadrangle will use points 0 and 1 , 1 and 2, 2 and 3, and 3 and 0 to describe the edges of the quandrangle.
+.PP
+The X and Y and Z coordinates are in canvas units. Z is optional and may or may not be honored in drawing. Z is a hint and does not affect the X and Y rendered coordinates. It may be used for calculating fills with perspective correct rendering.
+.PP
+Remember all coordinates are canvas global ones like with move and reize in evas.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change point. Must not be \fCNULL\fP. 
+.br
+\fIidx\fP index of point to change. Must be smaller than map size. 
+.br
+\fIx\fP Point X Coordinate 
+.br
+\fIy\fP Point Y Coordinate 
+.br
+\fIz\fP Point Z Coordinate hint (pre-perspective transform)
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_util_rotate()\fP 
+.PP
+\fBevas_map_util_zoom()\fP 
+.PP
+\fBevas_map_util_points_populate_from_object_full()\fP 
+.PP
+\fBevas_map_util_points_populate_from_object()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_map_point_image_uv_get (const \fBEvas_Map\fP * m, int idx, double * u, double * v)"
+.PP
+Get the map point's U and V texture source points. This returns the texture points set by \fBevas_map_point_image_uv_set()\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to query point. 
+.br
+\fIidx\fP index of point to query. Must be smaller than map size. 
+.br
+\fIu\fP where to write the X coordinate within the image/texture source 
+.br
+\fIv\fP where to write the Y coordinate within the image/texture source 
+.RE
+.PP
+
+.SS "EAPI void evas_map_point_image_uv_set (\fBEvas_Map\fP * m, int idx, double u, double v)"
+.PP
+Change the map point's U and V texture source point. This sets the U and V coordinates for the point. This determines which coordinate in the source image is mapped to the given point, much like OpenGL and textures. Notes that these points do select the pixel, but are double floating point values to allow for accuracy and sub-pixel selection.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change the point of. 
+.br
+\fIidx\fP index of point to change. Must be smaller than map size. 
+.br
+\fIu\fP the X coordinate within the image/texture source 
+.br
+\fIv\fP the Y coordinate within the image/texture source
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_point_coord_set()\fP 
+.PP
+\fBevas_object_map_set()\fP 
+.PP
+\fBevas_map_util_points_populate_from_object_full()\fP 
+.PP
+\fBevas_map_util_points_populate_from_object()\fP 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_map_smooth_get (const \fBEvas_Map\fP * m)"
+.PP
+get the smoothing for map rendering This gets smoothing for map rendering.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to get the smooth from. Must not be NULL. 
+.RE
+.PP
+
+.SS "EAPI void evas_map_smooth_set (\fBEvas_Map\fP * m, Eina_Bool enabled)"
+.PP
+Set the smoothing for map rendering. This sets smoothing for map rendering. If the object is a type that has its own smoothing settings, then both the smooth settings for this object and the map must be turned off. By default smooth maps are enabled.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to modify. Must not be NULL. 
+.br
+\fIenabled\fP enable or disable smooth map rendering 
+.RE
+.PP
+
+.SS "EAPI void evas_map_util_3d_lighting (\fBEvas_Map\fP * m, Evas_Coord lx, Evas_Coord ly, Evas_Coord lz, int lr, int lg, int lb, int ar, int ag, int ab)"
+.PP
+Perform lighting calculations on the given Map. This is used to apply lighting calculations (from a single light source) to a given map. The R, G and B values of each vertex will be modified to reflect the lighting based on the lixth point coordinates, the light color and the ambient color, and at what angle the map is facing the light source. A surface should have its points be declared in a clockwise fashion if the face is 'facing' towards you (as opposed to away from you) as faces have a 'logical' side for lighting.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change. 
+.br
+\fIlx\fP X coordinate in space of light point 
+.br
+\fIly\fP Y coordinate in space of light point 
+.br
+\fIlz\fP Z coordinate in space of light point 
+.br
+\fIlr\fP light red value (0 - 255) 
+.br
+\fIlg\fP light green value (0 - 255) 
+.br
+\fIlb\fP light blue value (0 - 255) 
+.br
+\fIar\fP ambient color red value (0 - 255) 
+.br
+\fIag\fP ambient color green value (0 - 255) 
+.br
+\fIab\fP ambient color blue value (0 - 255) 
+.RE
+.PP
+
+.SS "EAPI void evas_map_util_3d_perspective (\fBEvas_Map\fP * m, Evas_Coord px, Evas_Coord py, Evas_Coord z0, Evas_Coord foc)"
+.PP
+Apply a perspective transform to the map. This applies a given perspective (3D) to the map coordinates. X, Y and Z values are used. The px and py points specify the 'infinite distance' point in the 3D conversion (where all lines converge to like when artists draw 3D by hand). The \fCz0\fP value specifis the z value at which there is a 1:1 mapping between spatial coorinates and screen coordinates. Any points on this z value will not have their X and Y values modified in the transform. Those further away (Z value higher) will shrink into the distance, and those less than this value will expand and become bigger. The \fCfoc\fP value determines the 'focal length' of the camera. This is in reality the distance between the camera lens plane itself (at or closer than this rendering results are undefined) and the 'z0' z value. This allows for some 'depth' control and \fCfoc\fP must be greater than 0.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change. 
+.br
+\fIpx\fP The pespective distance X coordinate 
+.br
+\fIpy\fP The pespective distance Y coordinate 
+.br
+\fIz0\fP The '0' z plane value 
+.br
+\fIfoc\fP The focal distance 
+.RE
+.PP
+
+.SS "EAPI void evas_map_util_3d_rotate (\fBEvas_Map\fP * m, double dx, double dy, double dz, Evas_Coord cx, Evas_Coord cy, Evas_Coord cz)"
+.PP
+Rotate the map around 3 axes in 3D. This will rotate not just around the 'Z' axis as in \fBevas_map_util_rotate()\fP (which is a convenience call for those only wanting 2D). This will rotate around the X, Y and Z axes. The Z axis points 'into' the screen with low values at the screen and higher values further away. The X axis runs from left to right on the screen and the Y axis from top to bottom. Like with evas_map_util_rotate(0 you provide a center point to rotate around (in 3D).
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change. 
+.br
+\fIdx\fP amount of degrees from 0.0 to 360.0 to rotate arount X axis. 
+.br
+\fIdy\fP amount of degrees from 0.0 to 360.0 to rotate arount Y axis. 
+.br
+\fIdz\fP amount of degrees from 0.0 to 360.0 to rotate arount Z axis. 
+.br
+\fIcx\fP rotation's center horizontal position. 
+.br
+\fIcy\fP rotation's center vertical position. 
+.br
+\fIcz\fP rotation's center vertical position. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_map_util_clockwise_get (\fBEvas_Map\fP * m)"
+.PP
+Get the clockwise state of a map. This determines if the output points (X and Y. Z is not used) are clockwise or anti-clockwise. This can be used for 'back-face culling'. This is where you hide objects that 'face away' from you. In this case objects that are not clockwise.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to query. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if clockwise, 0 otherwise 
+.RE
+.PP
+
+.SS "EAPI void evas_map_util_points_color_set (\fBEvas_Map\fP * m, int r, int g, int b, int a)"
+.PP
+Set color of all points to given color. This call is useful to reuse maps after they had 3d lightning or any other colorization applied before.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change the color of. 
+.br
+\fIr\fP red (0 - 255) 
+.br
+\fIg\fP green (0 - 255) 
+.br
+\fIb\fP blue (0 - 255) 
+.br
+\fIa\fP alpha (0 - 255)
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_point_color_set()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_map_util_points_populate_from_geometry (\fBEvas_Map\fP * m, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Coord z)"
+.PP
+Populate source and destination map points to match given geometry. Similar to \fBevas_map_util_points_populate_from_object_full()\fP, this call takes raw values instead of querying object's unmapped geometry. The given width will be used to calculate destination points (\fBevas_map_point_coord_set()\fP) and set the image uv (\fBevas_map_point_image_uv_set()\fP).
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change all 4 points (must be of size 4). 
+.br
+\fIx\fP Point X Coordinate 
+.br
+\fIy\fP Point Y Coordinate 
+.br
+\fIw\fP width to use to calculate second and third points. 
+.br
+\fIh\fP height to use to calculate third and fourth points. 
+.br
+\fIz\fP Point Z Coordinate hint (pre-perspective transform). This value will be used for all four points.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_util_points_populate_from_object()\fP 
+.PP
+\fBevas_map_point_coord_set()\fP 
+.PP
+\fBevas_map_point_image_uv_set()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_map_util_points_populate_from_object (\fBEvas_Map\fP * m, const \fBEvas_Object\fP * obj)"
+.PP
+Populate source and destination map points to match exactly object. Usually one initialize map of an object to match it's original position and size, then transform these with evas_map_util_* functions, such as \fBevas_map_util_rotate()\fP or \fBevas_map_util_3d_rotate()\fP. The original set is done by this function, avoiding code duplication all around.
+.PP
+Z Point coordinate is assumed as 0 (zero).
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change all 4 points (must be of size 4). 
+.br
+\fIobj\fP object to use unmapped geometry to populate map coordinates.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_util_points_populate_from_object_full()\fP 
+.PP
+\fBevas_map_util_points_populate_from_geometry()\fP 
+.PP
+\fBevas_map_point_coord_set()\fP 
+.PP
+\fBevas_map_point_image_uv_set()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_map_util_points_populate_from_object_full (\fBEvas_Map\fP * m, const \fBEvas_Object\fP * obj, Evas_Coord z)"
+.PP
+Populate source and destination map points to match exactly object. Usually one initialize map of an object to match it's original position and size, then transform these with evas_map_util_* functions, such as \fBevas_map_util_rotate()\fP or \fBevas_map_util_3d_rotate()\fP. The original set is done by this function, avoiding code duplication all around.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change all 4 points (must be of size 4). 
+.br
+\fIobj\fP object to use unmapped geometry to populate map coordinates. 
+.br
+\fIz\fP Point Z Coordinate hint (pre-perspective transform). This value will be used for all four points.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_util_points_populate_from_object()\fP 
+.PP
+\fBevas_map_point_coord_set()\fP 
+.PP
+\fBevas_map_point_image_uv_set()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_map_util_rotate (\fBEvas_Map\fP * m, double degrees, Evas_Coord cx, Evas_Coord cy)"
+.PP
+Change the map to apply the given rotation. This rotates the indicated map's coordinates around the center coordinate given by \fCcx\fP and \fCcy\fP as the rotation center. The points will have their X and Y coordinates rotated clockwise by \fCdegrees\fP degress (360.0 is a full rotation). Negative values for degrees will rotate counter-clockwise by that amount. All coordinates are canvas global coordinates.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change. 
+.br
+\fIdegrees\fP amount of degrees from 0.0 to 360.0 to rotate. 
+.br
+\fIcx\fP rotation's center horizontal position. 
+.br
+\fIcy\fP rotation's center vertical position.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_point_coord_set()\fP 
+.PP
+\fBevas_map_util_zoom()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_map_util_zoom (\fBEvas_Map\fP * m, double zoomx, double zoomy, Evas_Coord cx, Evas_Coord cy)"
+.PP
+Change the map to apply the given zooming. Like \fBevas_map_util_rotate()\fP, this zooms the points of the map from a center point. That center is defined by \fCcx\fP and \fCcy\fP. The \fCzoomx\fP and \fCzoomy\fP parameters specific how much to zoom in the X and Y direction respectively. A value of 1.0 means 'don't zoom'. 2.0 means 'dobule the size'. 0.5 is 'half the size' etc. All coordinates are canvas global coordinates.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIm\fP map to change. 
+.br
+\fIzoomx\fP horizontal zoom to use. 
+.br
+\fIzoomy\fP vertical zoom to use. 
+.br
+\fIcx\fP zooming center horizontal position. 
+.br
+\fIcy\fP zooming center vertical position.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_point_coord_set()\fP 
+.PP
+\fBevas_map_util_rotate()\fP 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_object_map_enable_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the map enabled state. This returns the currently enabled state of the map on the object indicated. The default map enable state is off. You can enable and disable it with \fBevas_object_map_enable_set()\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP object to get the map enabled state from 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the map enabled state 
+.RE
+.PP
+
+.SS "EAPI void evas_object_map_enable_set (\fBEvas_Object\fP * obj, Eina_Bool enabled)"
+.PP
+Enable or disable the map that is set. This enables the map that is set or disables it. On enable, the object geometry will be saved, and the new geometry will change (position and size) to reflect the map geometry set. If none is set yet, this may be an undefined geometry, unless you have already set the map with \fBevas_object_map_set()\fP. It is suggested you first set a map with \fBevas_object_map_set()\fP with valid useful coordinates then enable and disable the map with \fBevas_object_map_enable_set()\fP as needed.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP object to enable the map on 
+.br
+\fIenabled\fP enabled state 
+.RE
+.PP
+
+.SS "EAPI const \fBEvas_Map\fP* evas_object_map_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get current object transformation map. This returns the current internal map set on the indicated object. It is intended for read-only acces and is only valid as long as the object is not deleted or the map on the object is not changed. If you wish to modify the map and set it back do the following:
+.PP
+.PP
+.nf
+ const Evas_Map *m = evas_object_map_get(obj);
+ Evas_Map *m2 = evas_map_dup(m);
+ evas_map_util_rotate(m2, 30.0, 0, 0);
+ evas_object_map_set(obj);
+ evas_map_free(m2);
+.fi
+.PP
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP object to query transformation map. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+map reference to map in use. This is an internal data structure, so do not modify it.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_map_set()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_object_map_set (\fBEvas_Object\fP * obj, const \fBEvas_Map\fP * map)"
+.PP
+Set current object transformation map. This sets the map on a given object. It is copied from the \fCmap\fP pointer, so there is no need to keep the \fCmap\fP object if you don't need it anymore.
+.PP
+A map is a set of 4 points which have canvas x, y coordinates per point, with an optional z point value as a hint for perspective correction, if it is available. As well each point has u and v coordinates. These are like 'texture coordinates' in OpenGL in that they define a point in the source image that is mapped to that map vertex/point. The u corresponds to the x coordinate of this mapped point and v, the y coordinate. Note that these coordinates describe a bounding region to sample. If you have a 200x100 source image and want to display it at 200x100 with proper pixel precision, then do:
+.PP
+.PP
+.nf
+ Evas_Map *m = evas_map_new(4);
+ evas_map_point_coord_set(m, 0,   0,   0, 0);
+ evas_map_point_coord_set(m, 1, 200,   0, 0);
+ evas_map_point_coord_set(m, 2, 200, 100, 0);
+ evas_map_point_coord_set(m, 3,   0, 100, 0);
+ evas_map_point_image_uv_set(m, 0,   0,   0);
+ evas_map_point_image_uv_set(m, 1, 200,   0);
+ evas_map_point_image_uv_set(m, 2, 200, 100);
+ evas_map_point_image_uv_set(m, 3,   0, 100);
+ evas_object_map_set(obj, m);
+ evas_map_free(m);
+.fi
+.PP
+.PP
+Note that the map points a uv coordinates match the image geometry. If the \fCmap\fP parameter is NULL, the stored map will be freed and geometry prior to enabling/setting a map will be restored.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP object to change transformation map 
+.br
+\fImap\fP new map to use
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_map_new()\fP 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP* evas_object_map_source_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the map source object. See \fBevas_object_map_source_set()\fP
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP object to set the map source of 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the object set as the source 
+.RE
+.PP
+
+.SS "EAPI void evas_object_map_source_set (\fBEvas_Object\fP * obj, \fBEvas_Object\fP * src)"
+.PP
+Set the map source object. This sets the object from which the map is taken - can be any object that has map enabled on it.
+.PP
+Currently not implemented. for future use.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP object to set the map source of 
+.br
+\fIsrc\fP the source object from which the map is taken 
+.RE
+.PP
+
+.SS "EAPI Eina_List* evas_object_smart_members_get (const \fBEvas_Object\fP * obj)"
+.PP
+Gets the list of the member objects of an Evas_Object. \fBParameters:\fP
+.RS 4
+\fIobj\fP the Evas_Object you want to get the list of member objects 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the list of the member objects of \fIobj\fP. The returned list should be freed with eina_list_free() when you no longer need it 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Alloc_Error.3 b/doc/man/man3/Evas_Alloc_Error.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Button_Flags.3 b/doc/man/man3/Evas_Button_Flags.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Callback_Type.3 b/doc/man/man3/Evas_Callback_Type.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Canvas.3 b/doc/man/man3/Evas_Canvas.3
new file mode 100644 (file)
index 0000000..c88519d
--- /dev/null
@@ -0,0 +1,386 @@
+.TH "Canvas Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Canvas Functions \- 
+.PP
+Functions that deal with the basic evas object.  
+
+.SS "Modules"
+
+.in +1c
+.ti -1c
+.RI "\fBRender Engine Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that are used to set the render engine for a given function, and then get that engine working. \fP"
+.ti -1c
+.RI "\fBOutput and Viewport Resizing Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that set and retrieve the output and viewport size of an evas. \fP"
+.ti -1c
+.RI "\fBCoordinate Mapping Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that are used to map coordinates from the canvas to the screen or the screen to the canvas. \fP"
+.ti -1c
+.RI "\fBPointer (Mouse) Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that deal with the status of the pointer (mouse cursor). \fP"
+.ti -1c
+.RI "\fBEvent Freezing Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that deal with the freezing of event processing of an evas. \fP"
+.ti -1c
+.RI "\fBEvent Feeding Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions to tell Evas that events happened and should be processed. \fP"
+.ti -1c
+.RI "\fBCanvas Events\fP"
+.br
+.PP
+
+.RI "\fICanvas generates some events. \fP"
+.ti -1c
+.RI "\fBImage Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that deals with images at canvas level. \fP"
+.ti -1c
+.RI "\fBFont Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that deals with fonts. \fP"
+.in -1c
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef struct _Evas \fBEvas\fP"
+.br
+.RI "\fIAn Evas canvas handle. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEvas\fP * \fBevas_new\fP (void)"
+.br
+.RI "\fICreates a new empty evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_free\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIFrees the given evas and any objects created on it. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_data_attach_set\fP (\fBEvas\fP *e, void *data)"
+.br
+.RI "\fIAttaches a specific pointer to the evas for fetching later. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_data_attach_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIReturns the pointer attached by \fBevas_data_attach_set()\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_focus_in\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIInform to the evas that it got the focus. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_focus_out\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIInform to the evas that it lost the focus. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_focus_state_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIGet the focus state known by the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_nochange_push\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIPush the nochange flag up 1. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_nochange_pop\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIPop the nochange flag down 1. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_damage_rectangle_add\fP (\fBEvas\fP *e, int x, int y, int w, int h)"
+.br
+.RI "\fIAdd a damage rectangle. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_obscured_rectangle_add\fP (\fBEvas\fP *e, int x, int y, int w, int h)"
+.br
+.RI "\fIAdd an obscured region. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_obscured_clear\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIRemove all obscured region rectangles from the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_render_updates_free\fP (Eina_List *updates)"
+.br
+.RI "\fIFree the rectangles returned by \fBevas_render_updates()\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_render_updates\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIForce immediate renderization of the given canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_render\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIForce renderization of the given canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_norender\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIUpdate the canvas internal objects but not triggering immediate renderization. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_render_idle_flush\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIMake the canvas discard internally cached data used for rendering. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with the basic evas object. 
+
+They are the functions you need to use at a minimum to get a working evas, and to destroy it. 
+.SH "Typedef Documentation"
+.PP 
+.SS "\fBEvas\fP"
+.PP
+An Evas canvas handle. \fBSee also:\fP
+.RS 4
+\fBevas_new()\fP 
+.PP
+\fBevas_free()\fP 
+.RE
+.PP
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_damage_rectangle_add (\fBEvas\fP * e, int x, int y, int w, int h)"
+.PP
+Add a damage rectangle. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.br
+\fIx\fP The rectangle's left position. 
+.br
+\fIy\fP The rectangle's top position. 
+.br
+\fIw\fP The rectangle's width. 
+.br
+\fIh\fP The rectangle's height.
+.RE
+.PP
+This is the function by which one tells evas that a part of the canvas has to be repainted. 
+.PP
+Referenced by evas_object_clip_set(), and evas_object_clip_unset().
+.SS "EAPI void* evas_data_attach_get (const \fBEvas\fP * e)"
+.PP
+Returns the pointer attached by \fBevas_data_attach_set()\fP. \fBParameters:\fP
+.RS 4
+\fIe\fP The canvas to attach the pointer to 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The pointer attached 
+.RE
+.PP
+
+.SS "EAPI void evas_data_attach_set (\fBEvas\fP * e, void * data)"
+.PP
+Attaches a specific pointer to the evas for fetching later. \fBParameters:\fP
+.RS 4
+\fIe\fP The canvas to attach the pointer to 
+.br
+\fIdata\fP The pointer to attach 
+.RE
+.PP
+
+.SS "EAPI void evas_focus_in (\fBEvas\fP * e)"
+.PP
+Inform to the evas that it got the focus. \fBParameters:\fP
+.RS 4
+\fIe\fP The evas to change information. 
+.RE
+.PP
+
+.PP
+References EVAS_CALLBACK_CANVAS_FOCUS_IN.
+.SS "EAPI void evas_focus_out (\fBEvas\fP * e)"
+.PP
+Inform to the evas that it lost the focus. \fBParameters:\fP
+.RS 4
+\fIe\fP The evas to change information. 
+.RE
+.PP
+
+.PP
+References EVAS_CALLBACK_CANVAS_FOCUS_OUT.
+.SS "EAPI Eina_Bool evas_focus_state_get (const \fBEvas\fP * e)"
+.PP
+Get the focus state known by the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The evas to query information. 
+.RE
+.PP
+
+.SS "EAPI void evas_free (\fBEvas\fP * e)"
+.PP
+Frees the given evas and any objects created on it. Any objects with 'free' callbacks will have those callbacks called in this function.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.RE
+.PP
+
+.PP
+References evas_font_path_clear(), and evas_render_idle_flush().
+.SS "EAPI \fBEvas\fP* evas_new (void)"
+.PP
+Creates a new empty evas. Note that before you can use the evas, you will to at a minimum: 
+.PD 0
+
+.IP "\(bu" 2
+Set its render method with \fBevas_output_method_set\fP . 
+.IP "\(bu" 2
+Set its viewport size with \fBevas_output_viewport_set\fP . 
+.IP "\(bu" 2
+Set its size of the canvas with \fBevas_output_size_set\fP . 
+.IP "\(bu" 2
+Ensure that the render engine is given the correct settings with \fBevas_engine_info_set\fP .
+.PP
+This function should only fail if the memory allocation fails
+.PP
+\fBNote:\fP
+.RS 4
+this function is very low level. Instead of using it directly, consider using the high level functions in Ecore_Evas such as \fCecore_evas_new()\fP. See http://docs.enlightenment.org/auto/ecore/.
+.RE
+.PP
+\fBAttention:\fP
+.RS 4
+it is recommended that one calls \fBevas_init()\fP before creating new canvas.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A new uninitialised Evas canvas on success. Otherwise, \fCNULL\fP. 
+.RE
+.PP
+
+.SS "EAPI void evas_nochange_pop (\fBEvas\fP * e)"
+.PP
+Pop the nochange flag down 1. This tells evas, that while the nochange flag is greater than 0, do not mark objects as 'changed' when making changes.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The evas to change information. 
+.RE
+.PP
+
+.SS "EAPI void evas_nochange_push (\fBEvas\fP * e)"
+.PP
+Push the nochange flag up 1. This tells evas, that while the nochange flag is greater than 0, do not mark objects as 'changed' when making changes.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The evas to change information. 
+.RE
+.PP
+
+.SS "EAPI void evas_norender (\fBEvas\fP * e)"
+.PP
+Update the canvas internal objects but not triggering immediate renderization. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer.
+.RE
+.PP
+This function updates the canvas internal objects not triggering renderization. To force renderization function \fBevas_render()\fP should be used.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_render\fP. 
+.RE
+.PP
+
+.SS "EAPI void evas_obscured_clear (\fBEvas\fP * e)"
+.PP
+Remove all obscured region rectangles from the canvas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer.
+.RE
+.PP
+This function removes all the rectangles from the obscured list of the canvas. It takes obscured areas added with \fBevas_obscured_rectangle_add()\fP and makes it a region that have to be repainted. 
+.SS "EAPI void evas_obscured_rectangle_add (\fBEvas\fP * e, int x, int y, int w, int h)"
+.PP
+Add an obscured region. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.br
+\fIx\fP The rectangle's left position. 
+.br
+\fIy\fP The rectangle's top position 
+.br
+\fIw\fP The rectangle's width. 
+.br
+\fIh\fP The rectangle's height.
+.RE
+.PP
+This is the function by which one tells evas that a part of the canvas has not to be repainted. To make this region one that have to be repainted, call the function \fBevas_obscured_clear()\fP.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_obscured_clear()\fP. 
+.RE
+.PP
+
+.SS "EAPI void evas_render (\fBEvas\fP * e)"
+.PP
+Force renderization of the given canvas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.RE
+.PP
+
+.SS "EAPI void evas_render_idle_flush (\fBEvas\fP * e)"
+.PP
+Make the canvas discard internally cached data used for rendering. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer.
+.RE
+.PP
+This function flushes the arrays of delete, active and render objects. Other things it may also discard are: shared memory segments, temporary scratch buffers, cached data to avoid re-compute of that data etc. 
+.PP
+Referenced by evas_free().
+.SS "EAPI Eina_List* evas_render_updates (\fBEvas\fP * e)"
+.PP
+Force immediate renderization of the given canvas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A newly allocated list of updated rectangles of the canvas. Free this list with \fBevas_render_updates_free()\fP.
+.RE
+.PP
+This function forces an immediate renderization update of the given given canvas. 
+.SS "EAPI void evas_render_updates_free (Eina_List * updates)"
+.PP
+Free the rectangles returned by \fBevas_render_updates()\fP. \fBParameters:\fP
+.RS 4
+\fIupdates\fP The list of updated rectangles of the canvas.
+.RE
+.PP
+This function removes the region from the render updates list. It makes the region doesn't be render updated anymore. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Canvas_Events.3 b/doc/man/man3/Evas_Canvas_Events.3
new file mode 100644 (file)
index 0000000..ad18fb9
--- /dev/null
@@ -0,0 +1,195 @@
+.TH "Canvas Events" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Canvas Events \- 
+.PP
+Canvas generates some events.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_event_callback_add\fP (\fBEvas\fP *e, \fBEvas_Callback_Type\fP type, Evas_Event_Cb func, const void *data)"
+.br
+.RI "\fIAdd a callback function to the canvas. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_event_callback_del\fP (\fBEvas\fP *e, \fBEvas_Callback_Type\fP type, Evas_Event_Cb func)"
+.br
+.RI "\fIDelete a callback function from the canvas. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_event_callback_del_full\fP (\fBEvas\fP *e, \fBEvas_Callback_Type\fP type, Evas_Event_Cb func, const void *data)"
+.br
+.RI "\fIDelete a callback function from the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_post_event_callback_push\fP (\fBEvas\fP *e, Evas_Object_Event_Post_Cb func, const void *data)"
+.br
+.RI "\fIPush a callback on the post-event callback stack. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_post_event_callback_remove\fP (\fBEvas\fP *e, Evas_Object_Event_Post_Cb func)"
+.br
+.RI "\fIRemove a callback from the post-event callback stack. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_post_event_callback_remove_full\fP (\fBEvas\fP *e, Evas_Object_Event_Post_Cb func, const void *data)"
+.br
+.RI "\fIRemove a callback from the post-event callback stack. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Canvas generates some events. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_event_callback_add (\fBEvas\fP * e, \fBEvas_Callback_Type\fP type, Evas_Event_Cb func, const void * data)"
+.PP
+Add a callback function to the canvas. \fBParameters:\fP
+.RS 4
+\fIe\fP Canvas to attach a callback to 
+.br
+\fItype\fP The type of event that will trigger the callback 
+.br
+\fIfunc\fP The function to be called when the event is triggered 
+.br
+\fIdata\fP The data pointer to be passed to \fCfunc\fP 
+.RE
+.PP
+This function adds a function callback to the canvas when the event of type \fCtype\fP occurs on canvas \fCe\fP. The function is \fCfunc\fP.
+.PP
+In the event of a memory allocation error during addition of the callback to the canvas, \fBevas_alloc_error()\fP should be used to determine the nature of the error, if any, and the program should sensibly try and recover.
+.PP
+The function will be passed the pointer \fCdata\fP when it is called. A callback function must look like this:
+.PP
+.PP
+.nf
+ void callback (void *data, Evas *e, void *event_info);
+.fi
+.PP
+.PP
+The first parameter \fCdata\fP in this function will be the same value passed to \fBevas_event_callback_add()\fP as the \fCdata\fP parameter. The second parameter \fCe\fP is the canvas handle on which the event occurred. The third parameter \fCevent_info\fP is a pointer to a data structure that may or may not be passed to the callback, depending on the event type that triggered the callback.
+.PP
+The event type \fCtype\fP to trigger the function may be one of \fBEVAS_CALLBACK_RENDER_FLUSH_PRE\fP, \fBEVAS_CALLBACK_RENDER_FLUSH_POST\fP, \fBEVAS_CALLBACK_CANVAS_FOCUS_IN\fP, \fBEVAS_CALLBACK_CANVAS_FOCUS_OUT\fP. This determines the kind of event that will trigger the callback to be called. So far none of the event types provide useful data, so in all of them \fCevent_info\fP pointer is \fCNULL\fP.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *e;
+ extern void *my_data;
+ void focus_in_callback(void *data, Evas *e, void *event_info);
+ void focus_out_callback(void *data, Evas *e, void *event_info);
+
+ evas_event_callback_add(e, EVAS_CALLBACK_CANVAS_FOCUS_IN, focus_in_callback, my_data);
+ if (evas_alloc_error() != EVAS_ALLOC_ERROR_NONE)
+   {
+     fprintf(stderr, 'ERROR: Callback registering failed! Abort!\n');
+     exit(-1);
+   }
+ evas_event_callback_add(e, EVAS_CALLBACK_CANVAS_FOCUS_OUT, focus_out_callback, my_data);
+ if (evas_alloc_error() != EVAS_ALLOC_ERROR_NONE)
+   {
+     fprintf(stderr, 'ERROR: Callback registering failed! Abort!\n');
+     exit(-1);
+   }
+
+.fi
+.PP
+.SS "EAPI void* evas_event_callback_del (\fBEvas\fP * e, \fBEvas_Callback_Type\fP type, Evas_Event_Cb func)"
+.PP
+Delete a callback function from the canvas. \fBParameters:\fP
+.RS 4
+\fIe\fP Canvas to remove a callback from 
+.br
+\fItype\fP The type of event that was triggering the callback 
+.br
+\fIfunc\fP The function that was to be called when the event was triggered 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer that was to be passed to the callback
+.RE
+.PP
+This function removes the most recently added callback from the canvas \fCe\fP which was triggered by the event type \fCtype\fP and was calling the function \fCfunc\fP when triggered. If the removal is successful it will also return the data pointer that was passed to \fBevas_event_callback_add()\fP when the callback was added to the canvas. If not successful NULL will be returned.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *e;
+ void *my_data;
+ void focus_in_callback(void *data, Evas *e, void *event_info);
+
+ my_data = evas_event_callback_del(ebject, EVAS_CALLBACK_CANVAS_FOCUS_IN, focus_in_callback);
+
+.fi
+.PP
+.SS "EAPI void* evas_event_callback_del_full (\fBEvas\fP * e, \fBEvas_Callback_Type\fP type, Evas_Event_Cb func, const void * data)"
+.PP
+Delete a callback function from the canvas. \fBParameters:\fP
+.RS 4
+\fIe\fP Canvas to remove a callback from 
+.br
+\fItype\fP The type of event that was triggering the callback 
+.br
+\fIfunc\fP The function that was to be called when the event was triggered 
+.br
+\fIdata\fP The data pointer that was to be passed to the callback 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer that was to be passed to the callback
+.RE
+.PP
+This function removes the most recently added callback from the canvas \fCe\fP which was triggered by the event type \fCtype\fP and was calling the function \fCfunc\fP with data \fCdata\fP when triggered. If the removal is successful it will also return the data pointer that was passed to \fBevas_event_callback_add()\fP (that will be the same as the parameter) when the callback was added to the canvas. If not successful NULL will be returned.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *e;
+ void *my_data;
+ void focus_in_callback(void *data, Evas *e, void *event_info);
+
+ my_data = evas_event_callback_del_full(ebject, EVAS_CALLBACK_CANVAS_FOCUS_IN, focus_in_callback, my_data);
+
+.fi
+.PP
+.SS "EAPI void evas_post_event_callback_push (\fBEvas\fP * e, Evas_Object_Event_Post_Cb func, const void * data)"
+.PP
+Push a callback on the post-event callback stack. \fBParameters:\fP
+.RS 4
+\fIe\fP Canvas to push the callback on 
+.br
+\fIfunc\fP The function that to be called when the stack is unwound 
+.br
+\fIdata\fP The data pointer to be passed to the callback
+.RE
+.PP
+Evas has a stack of callbacks that get called after all the callbacks for an event have triggered (all the objects it triggers on and al the callbacks in each object triggered). When all these have been called, the stack is unwond from most recently to least recently pushed item and removed from the stack calling the callback set for it.
+.PP
+This is intended for doing reverse logic-like processing, example - when a child object that happens to get the event later is meant to be able to 'steal' functions from a parent and thus on unwind of this stack hav its function called first, thus being able to set flags, or return 0 from the post-callback that stops all other post-callbacks in the current stack from being called (thus basically allowing a child to take control, if the event callback prepares information ready for taking action, but the post callback actually does the action). 
+.SS "EAPI void evas_post_event_callback_remove (\fBEvas\fP * e, Evas_Object_Event_Post_Cb func)"
+.PP
+Remove a callback from the post-event callback stack. \fBParameters:\fP
+.RS 4
+\fIe\fP Canvas to push the callback on 
+.br
+\fIfunc\fP The function that to be called when the stack is unwound
+.RE
+.PP
+This removes a callback from the stack added with \fBevas_post_event_callback_push()\fP. The first instance of the function in the callback stack is removed from being executed when the stack is unwound. Further instances may still be run on unwind. 
+.SS "EAPI void evas_post_event_callback_remove_full (\fBEvas\fP * e, Evas_Object_Event_Post_Cb func, const void * data)"
+.PP
+Remove a callback from the post-event callback stack. \fBParameters:\fP
+.RS 4
+\fIe\fP Canvas to push the callback on 
+.br
+\fIfunc\fP The function that to be called when the stack is unwound 
+.br
+\fIdata\fP The data pointer to be passed to the callback
+.RE
+.PP
+This removes a callback from the stack added with \fBevas_post_event_callback_push()\fP. The first instance of the function and data in the callback stack is removed from being executed when the stack is unwound. Further instances may still be run on unwind. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Colorspace.3 b/doc/man/man3/Evas_Colorspace.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/Evas_Coord_Mapping_Group.3 b/doc/man/man3/Evas_Coord_Mapping_Group.3
new file mode 100644 (file)
index 0000000..acac671
--- /dev/null
@@ -0,0 +1,148 @@
+.TH "Coordinate Mapping Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Coordinate Mapping Functions \- 
+.PP
+Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_coord_screen_x_to_world\fP (const \fBEvas\fP *e, int x)"
+.br
+.RI "\fIConvert/scale an ouput screen co-ordinate into canvas co-ordinates. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_coord_screen_y_to_world\fP (const \fBEvas\fP *e, int y)"
+.br
+.RI "\fIConvert/scale an ouput screen co-ordinate into canvas co-ordinates. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_coord_world_x_to_screen\fP (const \fBEvas\fP *e, Evas_Coord x)"
+.br
+.RI "\fIConvert/scale a canvas co-ordinate into output screen co-ordinates. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_coord_world_y_to_screen\fP (const \fBEvas\fP *e, Evas_Coord y)"
+.br
+.RI "\fIConvert/scale a canvas co-ordinate into output screen co-ordinates. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that are used to map coordinates from the canvas to the screen or the screen to the canvas. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Evas_Coord evas_coord_screen_x_to_world (const \fBEvas\fP * e, int x)"
+.PP
+Convert/scale an ouput screen co-ordinate into canvas co-ordinates. \fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas 
+.br
+\fIx\fP The screen/output x co-ordinate 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The screen co-ordinate translated to canvas unit co-ordinates
+.RE
+.PP
+This function takes in a horizontal co-ordinate as the \fCx\fP parameter and converts it into canvas units, accounting for output size, viewport size and location, returning it as the function return value. If \fCe\fP is invalid, the results are undefined.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+ extern int screen_x;
+ Evas_Coord canvas_x;
+
+ canvas_x = evas_coord_screen_x_to_world(evas, screen_x);
+
+.fi
+.PP
+.SS "EAPI Evas_Coord evas_coord_screen_y_to_world (const \fBEvas\fP * e, int y)"
+.PP
+Convert/scale an ouput screen co-ordinate into canvas co-ordinates. \fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas 
+.br
+\fIy\fP The screen/output y co-ordinate 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The screen co-ordinate translated to canvas unit co-ordinates
+.RE
+.PP
+This function takes in a vertical co-ordinate as the \fCy\fP parameter and converts it into canvas units, accounting for output size, viewport size and location, returning it as the function return value. If \fCe\fP is invalid, the results are undefined.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+ extern int screen_y;
+ Evas_Coord canvas_y;
+
+ canvas_y = evas_coord_screen_y_to_world(evas, screen_y);
+
+.fi
+.PP
+.SS "EAPI int evas_coord_world_x_to_screen (const \fBEvas\fP * e, Evas_Coord x)"
+.PP
+Convert/scale a canvas co-ordinate into output screen co-ordinates. \fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas 
+.br
+\fIx\fP The canvas x co-ordinate 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The output/screen co-ordinate translated to output co-ordinates
+.RE
+.PP
+This function takes in a horizontal co-ordinate as the \fCx\fP parameter and converts it into output units, accounting for output size, viewport size and location, returning it as the function return value. If \fCe\fP is invalid, the results are undefined.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+ int screen_x;
+ extern Evas_Coord canvas_x;
+
+ screen_x = evas_coord_world_x_to_screen(evas, canvas_x);
+
+.fi
+.PP
+.SS "EAPI int evas_coord_world_y_to_screen (const \fBEvas\fP * e, Evas_Coord y)"
+.PP
+Convert/scale a canvas co-ordinate into output screen co-ordinates. \fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas 
+.br
+\fIy\fP The canvas y co-ordinate 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The output/screen co-ordinate translated to output co-ordinates
+.RE
+.PP
+This function takes in a vertical co-ordinate as the \fCx\fP parameter and converts it into output units, accounting for output size, viewport size and location, returning it as the function return value. If \fCe\fP is invalid, the results are undefined.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+ int screen_y;
+ extern Evas_Coord canvas_y;
+
+ screen_y = evas_coord_world_y_to_screen(evas, canvas_y);
+
+.fi
+.PP
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Coord_Point.3 b/doc/man/man3/Evas_Coord_Point.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Coord_Precision_Point.3 b/doc/man/man3/Evas_Coord_Precision_Point.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Coord_Rectangle.3 b/doc/man/man3/Evas_Coord_Rectangle.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Cserve.3 b/doc/man/man3/Evas_Cserve.3
new file mode 100644 (file)
index 0000000..0573e2b
--- /dev/null
@@ -0,0 +1,121 @@
+.TH "Shared Image Cache Server" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Shared Image Cache Server \- 
+.PP
+Provides client-server infrastructure to share bitmaps across multiple processes, saving data and processing power.  
+
+.SS "Data Structures"
+
+.in +1c
+.ti -1c
+.RI "struct \fB_Evas_Cserve_Stats\fP"
+.br
+.RI "\fIStatistics about server that shares cached bitmaps. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Cserve_Image_Cache\fP"
+.br
+.RI "\fICache of images shared by server. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Cserve_Image\fP"
+.br
+.RI "\fIAn image shared by the server. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Cserve_Config\fP"
+.br
+.RI "\fIConfiguration that controls the server that shares cached bitmaps. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_cserve_want_get\fP (void)"
+.br
+.RI "\fIRetrieves if the system wants to share bitmaps using the server. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_cserve_connected_get\fP (void)"
+.br
+.RI "\fIRetrieves if the system is connected to the server used to shae bitmaps. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_cserve_stats_get\fP (\fBEvas_Cserve_Stats\fP *stats)"
+.br
+.RI "\fIRetrieves if the system wants to share bitmaps using the server. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_cserve_config_get\fP (\fBEvas_Cserve_Config\fP *config)"
+.br
+.RI "\fIRetrieves the current configuration of the server. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_cserve_config_set\fP (const \fBEvas_Cserve_Config\fP *config)"
+.br
+.RI "\fIChanges the configuration of the server. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_cserve_disconnect\fP (void)"
+.br
+.RI "\fIForce system to disconnect from cache server. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Provides client-server infrastructure to share bitmaps across multiple processes, saving data and processing power. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Eina_Bool evas_cserve_config_get (\fBEvas_Cserve_Config\fP * config)"
+.PP
+Retrieves the current configuration of the server. \fBParameters:\fP
+.RS 4
+\fIconfig\fP where to store current server configuration. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCEINA_TRUE\fP if \fCconfig\fP were filled with data, \fCEINA_FALSE\fP otherwise and \fCconfig\fP is untouched. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_cserve_config_set (const \fBEvas_Cserve_Config\fP * config)"
+.PP
+Changes the configuration of the server. \fBParameters:\fP
+.RS 4
+\fIconfig\fP where to store current server configuration. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCEINA_TRUE\fP if \fCconfig\fP were successfully applied, \fCEINA_FALSE\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_cserve_connected_get (void)"
+.PP
+Retrieves if the system is connected to the server used to shae bitmaps. \fBReturns:\fP
+.RS 4
+\fCEINA_TRUE\fP if connected, \fCEINA_FALSE\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_cserve_stats_get (\fBEvas_Cserve_Stats\fP * stats)"
+.PP
+Retrieves if the system wants to share bitmaps using the server. \fBParameters:\fP
+.RS 4
+\fIstats\fP pointer to structure to fill with statistics about cache server. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCEINA_TRUE\fP if \fCstats\fP were filled with data, \fCEINA_FALSE\fP otherwise and \fCstats\fP is untouched. 
+.RE
+.PP
+
+.PP
+References _Evas_Cserve_Stats::saved_memory, _Evas_Cserve_Stats::saved_memory_peak, _Evas_Cserve_Stats::saved_time_image_data_load, _Evas_Cserve_Stats::saved_time_image_header_load, _Evas_Cserve_Stats::wasted_memory, and _Evas_Cserve_Stats::wasted_memory_peak.
+.SS "EAPI Eina_Bool evas_cserve_want_get (void)"
+.PP
+Retrieves if the system wants to share bitmaps using the server. \fBReturns:\fP
+.RS 4
+\fCEINA_TRUE\fP if wants, \fCEINA_FALSE\fP otherwise. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Device.3 b/doc/man/man3/Evas_Device.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Engine_Info.3 b/doc/man/man3/Evas_Engine_Info.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Feeding_Group.3 b/doc/man/man3/Evas_Event_Feeding_Group.3
new file mode 100644 (file)
index 0000000..af30691
--- /dev/null
@@ -0,0 +1,263 @@
+.TH "Event Feeding Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Event Feeding Functions \- 
+.PP
+Functions to tell Evas that events happened and should be processed.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBevas_event_freeze_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIReturn the freeze count of a given canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_down\fP (\fBEvas\fP *e, int b, \fBEvas_Button_Flags\fP flags, unsigned int timestamp, const void *data)"
+.br
+.RI "\fIMouse down event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_up\fP (\fBEvas\fP *e, int b, \fBEvas_Button_Flags\fP flags, unsigned int timestamp, const void *data)"
+.br
+.RI "\fIMouse up event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_cancel\fP (\fBEvas\fP *e, unsigned int timestamp, const void *data)"
+.br
+.RI "\fIMouse cancel event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_wheel\fP (\fBEvas\fP *e, int direction, int z, unsigned int timestamp, const void *data)"
+.br
+.RI "\fIMouse wheel event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_move\fP (\fBEvas\fP *e, int x, int y, unsigned int timestamp, const void *data)"
+.br
+.RI "\fIMouse move event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_in\fP (\fBEvas\fP *e, unsigned int timestamp, const void *data)"
+.br
+.RI "\fIMouse in event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_mouse_out\fP (\fBEvas\fP *e, unsigned int timestamp, const void *data)"
+.br
+.RI "\fIMouse out event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_key_down\fP (\fBEvas\fP *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)"
+.br
+.RI "\fIKey down event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_key_up\fP (\fBEvas\fP *e, const char *keyname, const char *key, const char *string, const char *compose, unsigned int timestamp, const void *data)"
+.br
+.RI "\fIKey up event feed. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_feed_hold\fP (\fBEvas\fP *e, int hold, unsigned int timestamp, const void *data)"
+.br
+.RI "\fIHold event feed. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions to tell Evas that events happened and should be processed. 
+
+As explained in \fBWhat Evas is not?\fP, Evas does not know how to poll for events, so the developer should do it and then feed such events to the canvas to be processed. This is only required if operating Evas directly as modules such as Ecore_Evas does that for you. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_event_feed_hold (\fBEvas\fP * e, int hold, unsigned int timestamp, const void * data)"
+.PP
+Hold event feed. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.br
+\fIhold\fP The hold. 
+.br
+\fItimestamp\fP The timestamp of the mouse up event. 
+.br
+\fIdata\fP The data for canvas.
+.RE
+.PP
+This function makes the object to stop sending events. 
+.PP
+References EVAS_CALLBACK_HOLD, and _Evas_Event_Hold::hold.
+.SS "EAPI void evas_event_feed_key_down (\fBEvas\fP * e, const char * keyname, const char * key, const char * string, const char * compose, unsigned int timestamp, const void * data)"
+.PP
+Key down event feed. \fBParameters:\fP
+.RS 4
+\fIe\fP The canvas to thaw out 
+.br
+\fIkeyname\fP Name of the key 
+.br
+\fIkey\fP The key pressed. 
+.br
+\fIstring\fP A String 
+.br
+\fIcompose\fP The compose string 
+.br
+\fItimestamp\fP Timestamp of the mouse up event 
+.br
+\fIdata\fP Data for canvas.
+.RE
+.PP
+This function will set some evas properties that is necessary when a key is pressed. It prepares information to be treated by the callback function. 
+.PP
+References _Evas_Event_Key_Down::compose, EVAS_CALLBACK_KEY_DOWN, _Evas_Event_Key_Down::key, _Evas_Event_Key_Down::keyname, and _Evas_Event_Key_Down::string.
+.SS "EAPI void evas_event_feed_key_up (\fBEvas\fP * e, const char * keyname, const char * key, const char * string, const char * compose, unsigned int timestamp, const void * data)"
+.PP
+Key up event feed. \fBParameters:\fP
+.RS 4
+\fIe\fP The canvas to thaw out 
+.br
+\fIkeyname\fP Name of the key 
+.br
+\fIkey\fP The key released. 
+.br
+\fIstring\fP string 
+.br
+\fIcompose\fP compose 
+.br
+\fItimestamp\fP Timestamp of the mouse up event 
+.br
+\fIdata\fP Data for canvas.
+.RE
+.PP
+This function will set some evas properties that is necessary when a key is released. It prepares information to be treated by the callback function. 
+.PP
+References _Evas_Event_Key_Up::compose, EVAS_CALLBACK_KEY_UP, _Evas_Event_Key_Up::key, _Evas_Event_Key_Up::keyname, and _Evas_Event_Key_Up::string.
+.SS "EAPI void evas_event_feed_mouse_cancel (\fBEvas\fP * e, unsigned int timestamp, const void * data)"
+.PP
+Mouse cancel event feed. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.br
+\fItimestamp\fP The timestamp of the mouse up event. 
+.br
+\fIdata\fP The data for canvas.
+.RE
+.PP
+This function will call \fBevas_event_feed_mouse_up()\fP when a mouse cancel event happens. 
+.PP
+References evas_event_feed_mouse_up().
+.SS "EAPI void evas_event_feed_mouse_down (\fBEvas\fP * e, int b, \fBEvas_Button_Flags\fP flags, unsigned int timestamp, const void * data)"
+.PP
+Mouse down event feed. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.br
+\fIb\fP The button number. 
+.br
+\fIflags\fP The evas button flags. 
+.br
+\fItimestamp\fP The timestamp of the mouse down event. 
+.br
+\fIdata\fP The data for canvas.
+.RE
+.PP
+This function will set some evas properties that is necessary when the mouse button is pressed. It prepares information to be treated by the callback function. 
+.PP
+References _Evas_Event_Mouse_Down::button, and EVAS_CALLBACK_MOUSE_DOWN.
+.SS "EAPI void evas_event_feed_mouse_in (\fBEvas\fP * e, unsigned int timestamp, const void * data)"
+.PP
+Mouse in event feed. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.br
+\fItimestamp\fP The timestamp of the mouse up event. 
+.br
+\fIdata\fP The data for canvas.
+.RE
+.PP
+This function will set some evas properties that is necessary when the mouse in event happens. It prepares information to be treated by the callback function. 
+.PP
+References _Evas_Event_Mouse_In::buttons, EVAS_CALLBACK_MOUSE_IN, and evas_event_feed_mouse_move().
+.SS "EAPI void evas_event_feed_mouse_move (\fBEvas\fP * e, int x, int y, unsigned int timestamp, const void * data)"
+.PP
+Mouse move event feed. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.br
+\fIx\fP The horizontal position of the mouse pointer. 
+.br
+\fIy\fP The vertical position of the mouse pointer. 
+.br
+\fItimestamp\fP The timestamp of the mouse up event. 
+.br
+\fIdata\fP The data for canvas.
+.RE
+.PP
+This function will set some evas properties that is necessary when the mouse is moved from its last position. It prepares information to be treated by the callback function. 
+.PP
+References _Evas_Event_Mouse_In::buttons, _Evas_Event_Mouse_Out::buttons, _Evas_Event_Mouse_Move::buttons, EVAS_CALLBACK_MOUSE_IN, EVAS_CALLBACK_MOUSE_MOVE, and EVAS_CALLBACK_MOUSE_OUT.
+.PP
+Referenced by evas_event_feed_mouse_in(), evas_event_feed_mouse_up(), evas_object_clip_set(), evas_object_clip_unset(), evas_object_hide(), evas_object_layer_set(), evas_object_line_xy_set(), evas_object_lower(), evas_object_move(), evas_object_pass_events_set(), evas_object_polygon_point_add(), evas_object_polygon_points_clear(), evas_object_raise(), evas_object_repeat_events_set(), evas_object_resize(), evas_object_show(), evas_object_stack_above(), evas_object_stack_below(), evas_object_text_font_set(), and evas_object_text_text_set().
+.SS "EAPI void evas_event_feed_mouse_out (\fBEvas\fP * e, unsigned int timestamp, const void * data)"
+.PP
+Mouse out event feed. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.br
+\fItimestamp\fP Timestamp of the mouse up event. 
+.br
+\fIdata\fP The data for canvas.
+.RE
+.PP
+This function will set some evas properties that is necessary when the mouse out event happens. It prepares information to be treated by the callback function. 
+.PP
+References _Evas_Event_Mouse_Out::buttons, and EVAS_CALLBACK_MOUSE_OUT.
+.SS "EAPI void evas_event_feed_mouse_up (\fBEvas\fP * e, int b, \fBEvas_Button_Flags\fP flags, unsigned int timestamp, const void * data)"
+.PP
+Mouse up event feed. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.br
+\fIb\fP The button number. 
+.br
+\fIflags\fP evas button flags. 
+.br
+\fItimestamp\fP The timestamp of the mouse up event. 
+.br
+\fIdata\fP The data for canvas.
+.RE
+.PP
+This function will set some evas properties that is necessary when the mouse button is released. It prepares information to be treated by the callback function. 
+.PP
+References _Evas_Event_Mouse_Up::button, _Evas_Event_Mouse_In::buttons, _Evas_Event_Mouse_Out::buttons, EVAS_CALLBACK_MOUSE_IN, EVAS_CALLBACK_MOUSE_OUT, EVAS_CALLBACK_MOUSE_UP, and evas_event_feed_mouse_move().
+.PP
+Referenced by evas_event_feed_mouse_cancel().
+.SS "EAPI void evas_event_feed_mouse_wheel (\fBEvas\fP * e, int direction, int z, unsigned int timestamp, const void * data)"
+.PP
+Mouse wheel event feed. \fBParameters:\fP
+.RS 4
+\fIe\fP The given canvas pointer. 
+.br
+\fIdirection\fP The wheel mouse direction. 
+.br
+\fIz\fP How much mouse wheel was scrolled up or down. 
+.br
+\fItimestamp\fP The timestamp of the mouse up event. 
+.br
+\fIdata\fP The data for canvas.
+.RE
+.PP
+This function will set some evas properties that is necessary when the mouse wheel is scrolled up or down. It prepares information to be treated by the callback function. 
+.PP
+References EVAS_CALLBACK_MOUSE_WHEEL.
+.SS "EAPI int evas_event_freeze_get (const \fBEvas\fP * e)"
+.PP
+Return the freeze count of a given canvas. \fBParameters:\fP
+.RS 4
+\fIe\fP The canvas to fetch the freeze count from.
+.RE
+.PP
+This returns the number of times the canvas has been told to freeze events. It is possible to call \fBevas_event_freeze()\fP multiple times, and these must be matched by \fBevas_event_thaw()\fP calls. This call allows the program to discover just how many times things have been frozen in case it may want to break out of a deep freeze state where the count is high.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+
+ while (evas_event_freeze_get(evas) > 0) evas_event_thaw(evas);
+
+.fi
+.PP
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Event_Flags.3 b/doc/man/man3/Evas_Event_Flags.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Freezing_Group.3 b/doc/man/man3/Evas_Event_Freezing_Group.3
new file mode 100644 (file)
index 0000000..d2cb7f2
--- /dev/null
@@ -0,0 +1,61 @@
+.TH "Event Freezing Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Event Freezing Functions \- 
+.PP
+Functions that deal with the freezing of event processing of an evas.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_event_freeze\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIFreeze all event processing. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_event_thaw\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIThaw a canvas out after freezing. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with the freezing of event processing of an evas. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_event_freeze (\fBEvas\fP * e)"
+.PP
+Freeze all event processing. \fBParameters:\fP
+.RS 4
+\fIe\fP The canvas to freeze event processing on.
+.RE
+.PP
+This function will indicate to evas that the canvas \fCe\fP is to have all event processing frozen until a matching \fBevas_event_thaw()\fP function is called on the same canvas. Every freeze call must be matched by a thaw call in order to completely thaw out a canvas.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+ extern Evas_Object *object;
+
+ evas_event_freeze(evas);
+ evas_object_move(object, 50, 100);
+ evas_object_resize(object, 200, 200);
+ evas_event_thaw(evas);
+
+.fi
+.PP
+.SS "EAPI void evas_event_thaw (\fBEvas\fP * e)"
+.PP
+Thaw a canvas out after freezing. \fBParameters:\fP
+.RS 4
+\fIe\fP The canvas to thaw out.
+.RE
+.PP
+This will thaw out a canvas after a matching \fBevas_event_freeze()\fP call. If this call completely thaws out a canvas, events will start being processed again after this call, but this call will not invole any 'missed' events to be evaluated.
+.PP
+See \fBevas_event_freeze()\fP for an example. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Event_Hold.3 b/doc/man/man3/Evas_Event_Hold.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Key_Down.3 b/doc/man/man3/Evas_Event_Key_Down.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Key_Up.3 b/doc/man/man3/Evas_Event_Key_Up.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Mouse_Down.3 b/doc/man/man3/Evas_Event_Mouse_Down.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Mouse_In.3 b/doc/man/man3/Evas_Event_Mouse_In.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Mouse_Move.3 b/doc/man/man3/Evas_Event_Mouse_Move.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Mouse_Out.3 b/doc/man/man3/Evas_Event_Mouse_Out.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Mouse_Up.3 b/doc/man/man3/Evas_Event_Mouse_Up.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Mouse_Wheel.3 b/doc/man/man3/Evas_Event_Mouse_Wheel.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Multi_Down.3 b/doc/man/man3/Evas_Event_Multi_Down.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Multi_Move.3 b/doc/man/man3/Evas_Event_Multi_Move.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Event_Multi_Up.3 b/doc/man/man3/Evas_Event_Multi_Up.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Fill_Spread.3 b/doc/man/man3/Evas_Fill_Spread.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Font_Group.3 b/doc/man/man3/Evas_Font_Group.3
new file mode 100644 (file)
index 0000000..3bd865f
--- /dev/null
@@ -0,0 +1,194 @@
+.TH "Font Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Font Functions \- 
+.PP
+Functions that deals with fonts.  
+
+.SS "Modules"
+
+.in +1c
+.ti -1c
+.RI "\fBFont Path Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that edit the paths being used to load fonts. \fP"
+.in -1c
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef enum \fB_Evas_Font_Hinting_Flags\fP \fBEvas_Font_Hinting_Flags\fP"
+.br
+.RI "\fIFlags for Font Hinting. \fP"
+.in -1c
+.SS "Enumerations"
+
+.in +1c
+.ti -1c
+.RI "enum \fB_Evas_Font_Hinting_Flags\fP { \fBEVAS_FONT_HINTING_NONE\fP, \fBEVAS_FONT_HINTING_AUTO\fP, \fBEVAS_FONT_HINTING_BYTECODE\fP }"
+.br
+.RI "\fIFlags for Font Hinting. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_font_hinting_set\fP (\fBEvas\fP *e, \fBEvas_Font_Hinting_Flags\fP hinting)"
+.br
+.RI "\fIChanges the font hinting for the given evas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Font_Hinting_Flags\fP \fBevas_font_hinting_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIRetrieves the font hinting used by the given evas. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_font_hinting_can_hint\fP (const \fBEvas\fP *e, \fBEvas_Font_Hinting_Flags\fP hinting)"
+.br
+.RI "\fIChecks if the font hinting is supported by the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_font_cache_flush\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIForce the given evas and associated engine to flush its font cache. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_font_cache_set\fP (\fBEvas\fP *e, int size)"
+.br
+.RI "\fIChanges the size of font cache of the given evas. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_font_cache_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIChanges the size of font cache of the given evas. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_font_available_list\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIList of available font descriptions known or found by this evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_font_available_list_free\fP (\fBEvas\fP *e, Eina_List *available)"
+.br
+.RI "\fIFree list of font descriptions returned by evas_font_dir_available_list(). \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deals with fonts. 
+.SH "Typedef Documentation"
+.PP 
+.SS "typedef enum \fB_Evas_Font_Hinting_Flags\fP  \fBEvas_Font_Hinting_Flags\fP"
+.PP
+Flags for Font Hinting. Flags for Font Hinting 
+.SH "Enumeration Type Documentation"
+.PP 
+.SS "enum \fB_Evas_Font_Hinting_Flags\fP"
+.PP
+Flags for Font Hinting. 
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_FONT_HINTING_NONE \fP\fP
+No font hinting. 
+.TP
+\fB\fIEVAS_FONT_HINTING_AUTO \fP\fP
+Automatic font hinting. 
+.TP
+\fB\fIEVAS_FONT_HINTING_BYTECODE \fP\fP
+Bytecode font hinting. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Eina_List* evas_font_available_list (const \fBEvas\fP * e)"
+.PP
+List of available font descriptions known or found by this evas. The list depends on Evas compile time configuration, such as fontconfig support, and the paths provided at runtime as explained in \fBFont Path Functions\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The evas instance to query. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+a newly allocated list of strings. Do not change the strings. Be sure to call \fBevas_font_available_list_free()\fP after you're done. 
+.RE
+.PP
+
+.SS "EAPI void evas_font_available_list_free (\fBEvas\fP * e, Eina_List * available)"
+.PP
+Free list of font descriptions returned by evas_font_dir_available_list(). \fBParameters:\fP
+.RS 4
+\fIe\fP The evas instance that returned such list. 
+.br
+\fIavailable\fP the list returned by evas_font_dir_available_list(). 
+.RE
+.PP
+
+.SS "EAPI void evas_font_cache_flush (\fBEvas\fP * e)"
+.PP
+Force the given evas and associated engine to flush its font cache. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas to flush font cache. 
+.RE
+.PP
+
+.SS "EAPI int evas_font_cache_get (const \fBEvas\fP * e)"
+.PP
+Changes the size of font cache of the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas to flush font cache. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The size, in bytes. 
+.RE
+.PP
+
+.SS "EAPI void evas_font_cache_set (\fBEvas\fP * e, int size)"
+.PP
+Changes the size of font cache of the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas to flush font cache. 
+.br
+\fIsize\fP The size, in bytes. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_font_hinting_can_hint (const \fBEvas\fP * e, \fBEvas_Font_Hinting_Flags\fP hinting)"
+.PP
+Checks if the font hinting is supported by the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas to query. 
+.br
+\fIhinting\fP The hinting to use, one of \fBEVAS_FONT_HINTING_NONE\fP, \fBEVAS_FONT_HINTING_AUTO\fP, \fBEVAS_FONT_HINTING_BYTECODE\fP. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fCEINA_TRUE\fP if it is supported, \fCEINA_FALSE\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Font_Hinting_Flags\fP evas_font_hinting_get (const \fBEvas\fP * e)"
+.PP
+Retrieves the font hinting used by the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas to query. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The hinting in use, one of \fBEVAS_FONT_HINTING_NONE\fP, \fBEVAS_FONT_HINTING_AUTO\fP, \fBEVAS_FONT_HINTING_BYTECODE\fP. 
+.RE
+.PP
+
+.SS "EAPI void evas_font_hinting_set (\fBEvas\fP * e, \fBEvas_Font_Hinting_Flags\fP hinting)"
+.PP
+Changes the font hinting for the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.br
+\fIhinting\fP The hinting to use, one of \fBEVAS_FONT_HINTING_NONE\fP, \fBEVAS_FONT_HINTING_AUTO\fP, \fBEVAS_FONT_HINTING_BYTECODE\fP. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Font_Hinting_Flags.3 b/doc/man/man3/Evas_Font_Hinting_Flags.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/Evas_Font_Path_Group.3 b/doc/man/man3/Evas_Font_Path_Group.3
new file mode 100644 (file)
index 0000000..ac8c158
--- /dev/null
@@ -0,0 +1,79 @@
+.TH "Font Path Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Font Path Functions \- 
+.PP
+Functions that edit the paths being used to load fonts.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_font_path_clear\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIRemoves all font paths loaded into memory for the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_font_path_append\fP (\fBEvas\fP *e, const char *path)"
+.br
+.RI "\fIAppends a font path to the list of font paths used by the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_font_path_prepend\fP (\fBEvas\fP *e, const char *path)"
+.br
+.RI "\fIPrepends a font path to the list of font paths used by the given evas. \fP"
+.ti -1c
+.RI "EAPI const Eina_List * \fBevas_font_path_list\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIRetrieves the list of font paths used by the given evas. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that edit the paths being used to load fonts. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_font_path_append (\fBEvas\fP * e, const char * path)"
+.PP
+Appends a font path to the list of font paths used by the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.br
+\fIpath\fP The new font path. 
+.RE
+.PP
+
+.SS "EAPI void evas_font_path_clear (\fBEvas\fP * e)"
+.PP
+Removes all font paths loaded into memory for the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.RE
+.PP
+
+.PP
+Referenced by evas_free().
+.SS "EAPI const Eina_List* evas_font_path_list (const \fBEvas\fP * e)"
+.PP
+Retrieves the list of font paths used by the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The list of font paths used. 
+.RE
+.PP
+
+.SS "EAPI void evas_font_path_prepend (\fBEvas\fP * e, const char * path)"
+.PP
+Prepends a font path to the list of font paths used by the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.br
+\fIpath\fP The new font path. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Group.3 b/doc/man/man3/Evas_Group.3
new file mode 100644 (file)
index 0000000..2bdad08
--- /dev/null
@@ -0,0 +1,148 @@
+.TH "Top Level Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Top Level Functions \- 
+.PP
+Functions that affect Evas as a whole.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI int \fBevas_async_events_fd_get\fP (void)"
+.br
+.RI "\fIGet evas' internal asynchronous events read file descriptor. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_async_events_process\fP (void)"
+.br
+.RI "\fITrigger the processing of all events waiting on the file descriptor returned by \fBevas_async_events_fd_get()\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_async_events_put\fP (const void *target, \fBEvas_Callback_Type\fP type, void *event_info, Evas_Async_Events_Put_Cb func)"
+.br
+.RI "\fIInsert asynchronous events on the canvas. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_init\fP (void)"
+.br
+.RI "\fIInitialize Evas. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_shutdown\fP (void)"
+.br
+.RI "\fIShutdown Evas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Alloc_Error\fP \fBevas_alloc_error\fP (void)"
+.br
+.RI "\fIReturn if any allocation errors have occurred during the prior function. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that affect Evas as a whole. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Alloc_Error\fP evas_alloc_error (void)"
+.PP
+Return if any allocation errors have occurred during the prior function. \fBReturns:\fP
+.RS 4
+The allocation error flag
+.RE
+.PP
+This function will return if any memory allocation errors occurred during, and what kind they were. The return value will be one of EVAS_ALLOC_ERROR_NONE, EVAS_ALLOC_ERROR_FATAL or EVAS_ALLOC_ERROR_RECOVERED with each meaning something different.
+.PP
+EVAS_ALLOC_ERROR_NONE means that no errors occurred at all and the function worked as expected.
+.PP
+EVAS_ALLOC_ERROR_FATAL means the function was completely unable to perform its job and will have exited as cleanly as possible. The programmer should consider this as a sign of very low memory and should try and safely recover from the prior functions failure (or try free up memory elsewhere and try again after more memory is freed).
+.PP
+EVAS_ALLOC_ERROR_RECOVERED means that an allocation error occurred, but was recovered from by evas finding memory of its own it has allocated and freeing what it sees as not really usefully allocated memory. What is freed may vary. Evas may reduce the resolution of images, free cached images or fonts, trhow out pre-rendered data, reduce the complexity of change lists etc. Evas and the program will function as per normal after this, but this is a sign of low memory, and it is suggested that the program try and identify memory it doesn't need, and free it.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas_Object *object;
+ void callback (void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ evas_object_event_callback_add(object, EVAS_CALLBACK_MOUSE_DOWN, callback, NULL);
+ if (evas_alloc_error() == EVAS_ALLOC_ERROR_FATAL)
+   {
+     fprintf(stderr, 'ERROR: Completely unable to attach callabck. Must\n');
+     fprintf(stderr, '       destroy object now as it cannot be used.\n');
+     evas_object_del(object);
+     object = NULL;
+     fprintf(stderr, 'WARNING: Memory is really low. Cleaning out RAM.\n');
+     my_memory_cleanup();
+   }
+ if (evas_alloc_error() == EVAS_ALLOC_ERROR_RECOVERED)
+   {
+     fprintf(stderr, 'WARNING: Memory is really low. Cleaning out RAM.\n');
+     my_memory_cleanup();
+   }
+
+.fi
+.PP
+.SS "EAPI int evas_async_events_fd_get (void)"
+.PP
+Get evas' internal asynchronous events read file descriptor. \fBReturns:\fP
+.RS 4
+The canvas' asynchronous events read file descriptor.
+.RE
+.PP
+Evas' asynchronous events are meant to be dealt with internally, i. e., when building stuff to be glued together into the EFL infrastructure -- a module, for example. The context which demands its use is when calculations need to be done out of the main thread, asynchronously, and some action must be performed after that.
+.PP
+An example of actual use of this API is for image asynchronous preload inside evas. If the canvas was instantiated through ecore-evas usage, ecore itself will take care of calling those events' processing.
+.PP
+This function returns the read file descriptor where to get the asynchronous events of the canvas. Naturally, other mainloops, apart from ecore, may make use of it. 
+.SS "EAPI int evas_async_events_process (void)"
+.PP
+Trigger the processing of all events waiting on the file descriptor returned by \fBevas_async_events_fd_get()\fP. \fBReturns:\fP
+.RS 4
+The number of events processed.
+.RE
+.PP
+All asynchronous events queued up by \fBevas_async_events_put()\fP are processed here. More precisely, the callback functions, informed together with other event parameters, when queued, get called (with those parameters), in that order. 
+.SS "EAPI Eina_Bool evas_async_events_put (const void * target, \fBEvas_Callback_Type\fP type, void * event_info, Evas_Async_Events_Put_Cb func)"
+.PP
+Insert asynchronous events on the canvas. \fBParameters:\fP
+.RS 4
+\fItarget\fP The target to be affected by the events. 
+.br
+\fItype\fP The type of callback function. 
+.br
+\fIevent_info\fP Information about the event. 
+.br
+\fIfunc\fP The callback function pointer.
+.RE
+.PP
+This is the way, for a routine running outside evas' main thread, to report an asynchronous event. A callback function is informed, whose call is to happen after \fBevas_async_events_process()\fP is called. 
+.SS "EAPI int evas_init (void)"
+.PP
+Initialize Evas. \fBReturns:\fP
+.RS 4
+The init counter value.
+.RE
+.PP
+This function initialize evas, increments a counter of the number of calls to this function and returns this value.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_shutdown()\fP. 
+.RE
+.PP
+
+.SS "EAPI int evas_shutdown (void)"
+.PP
+Shutdown Evas. \fBReturns:\fP
+.RS 4
+The init counter value.
+.RE
+.PP
+This function finalize evas, decrements the counter of the number of calls to the function \fBevas_init()\fP and returns this value.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_init()\fP. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Image_Group.3 b/doc/man/man3/Evas_Image_Group.3
new file mode 100644 (file)
index 0000000..88f7eb9
--- /dev/null
@@ -0,0 +1,74 @@
+.TH "Image Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Image Functions \- 
+.PP
+Functions that deals with images at canvas level.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_image_cache_flush\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIFlush the image cache of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_image_cache_reload\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIReload the image cache. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_image_cache_set\fP (\fBEvas\fP *e, int size)"
+.br
+.RI "\fISet the image cache. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_image_cache_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fISet the image cache. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deals with images at canvas level. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_image_cache_flush (\fBEvas\fP * e)"
+.PP
+Flush the image cache of the canvas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas pointer.
+.RE
+.PP
+This function flushes image cache of canvas. 
+.PP
+Referenced by evas_image_cache_reload().
+.SS "EAPI int evas_image_cache_get (const \fBEvas\fP * e)"
+.PP
+Set the image cache. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas pointer.
+.RE
+.PP
+This function returns the image cache of canvas. 
+.SS "EAPI void evas_image_cache_reload (\fBEvas\fP * e)"
+.PP
+Reload the image cache. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas pointer.
+.RE
+.PP
+This function reloads the image cache of canvas. 
+.PP
+References evas_image_cache_flush().
+.SS "EAPI void evas_image_cache_set (\fBEvas\fP * e, int size)"
+.PP
+Set the image cache. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas pointer. 
+.br
+\fIsize\fP The cache size.
+.RE
+.PP
+This function sets the image cache of canvas. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Line_Group.3 b/doc/man/man3/Evas_Line_Group.3
new file mode 100644 (file)
index 0000000..21f9b29
--- /dev/null
@@ -0,0 +1,79 @@
+.TH "Line Object Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Line Object Functions \- 
+.PP
+Functions used to deal with evas line objects.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_line_add\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIAdds a new evas line object to the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_line_xy_set\fP (\fBEvas_Object\fP *obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)"
+.br
+.RI "\fISets the coordinates of the end points of the given evas line object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_line_xy_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *x1, Evas_Coord *y1, Evas_Coord *x2, Evas_Coord *y2)"
+.br
+.RI "\fIRetrieves the coordinates of the end points of the given evas line object. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions used to deal with evas line objects. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Object\fP* evas_object_line_add (\fBEvas\fP * e)"
+.PP
+Adds a new evas line object to the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The new evas line object. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_line_xy_get (const \fBEvas_Object\fP * obj, Evas_Coord * x1, Evas_Coord * y1, Evas_Coord * x2, Evas_Coord * y2)"
+.PP
+Retrieves the coordinates of the end points of the given evas line object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given line object. 
+.br
+\fIx1\fP Pointer to an integer in which to store the X coordinate of the first end point. 
+.br
+\fIy1\fP Pointer to an integer in which to store the Y coordinate of the first end point. 
+.br
+\fIx2\fP Pointer to an integer in which to store the X coordinate of the second end point. 
+.br
+\fIy2\fP Pointer to an integer in which to store the Y coordinate of the second end point. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_line_xy_set (\fBEvas_Object\fP * obj, Evas_Coord x1, Evas_Coord y1, Evas_Coord x2, Evas_Coord y2)"
+.PP
+Sets the coordinates of the end points of the given evas line object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas line object. 
+.br
+\fIx1\fP The X coordinate of the first point. 
+.br
+\fIy1\fP The Y coordinate of the first point. 
+.br
+\fIx2\fP The X coordinate of the second point. 
+.br
+\fIy2\fP The Y coordinate of the second point. 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move().
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Load_Error.3 b/doc/man/man3/Evas_Load_Error.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Lock.3 b/doc/man/man3/Evas_Lock.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Map.3 b/doc/man/man3/Evas_Map.3
new file mode 100644 (file)
index 0000000..93d4e34
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Map.3
diff --git a/doc/man/man3/Evas_Modifier.3 b/doc/man/man3/Evas_Modifier.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Modifier_Mask.3 b/doc/man/man3/Evas_Modifier_Mask.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Native_Surface.3 b/doc/man/man3/Evas_Native_Surface.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Object.3 b/doc/man/man3/Evas_Object.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Object_Box.3 b/doc/man/man3/Evas_Object_Box.3
new file mode 100644 (file)
index 0000000..223d0af
--- /dev/null
@@ -0,0 +1,533 @@
+.TH "Box (Sequence) Smart Object." 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Box (Sequence) Smart Object. \- 
+.PP
+Convenience smart object that packs children as a sequence using a layout function specified by user.  
+
+.SS "Data Structures"
+
+.in +1c
+.ti -1c
+.RI "struct \fB_Evas_Object_Box_Api\fP"
+.br
+.RI "\fIThis structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with \fBevas_object_box_layout_set()\fP. \fP"
+.ti -1c
+.RI "struct \fB_Evas_Object_Box_Data\fP"
+.br
+.RI "\fIThis structure augments clipped smart object's instance data, providing extra members required by generic box implementation. \fP"
+.in -1c
+.SS "Defines"
+
+.in +1c
+.ti -1c
+.RI "#define \fBEVAS_OBJECT_BOX_API_INIT\fP(smart_class_init)   {smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.br
+.RI "\fIInitializer for whole Evas_Object_Box_Api structure. \fP"
+.ti -1c
+.RI "#define \fBEVAS_OBJECT_BOX_API_INIT_NULL\fP   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)"
+.br
+.RI "\fIInitializer to zero a whole Evas_Object_Box_Api structure. \fP"
+.ti -1c
+.RI "#define \fBEVAS_OBJECT_BOX_API_INIT_VERSION\fP   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)"
+.br
+.RI "\fIInitializer to zero a whole Evas_Object_Box_Api structure and set version. \fP"
+.ti -1c
+.RI "#define \fBEVAS_OBJECT_BOX_API_INIT_NAME_VERSION\fP(name)   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))"
+.br
+.RI "\fIInitializer to zero a whole Evas_Object_Box_Api structure and set name and version. \fP"
+.in -1c
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef struct \fB_Evas_Object_Box_Api\fP \fBEvas_Object_Box_Api\fP"
+.br
+.RI "\fISmart Class extension providing extra box requirements. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Object_Box_Data\fP \fBEvas_Object_Box_Data\fP"
+.br
+.RI "\fISmart instance data providing box requirements. \fP"
+.ti -1c
+.RI "typedef struct _Evas_Object_Box_Option \fBEvas_Object_Box_Option\fP"
+.br
+.RI "\fIThe base structure for a box option. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_box_add\fP (\fBEvas\fP *evas)"
+.br
+.RI "\fICreate a new box. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_box_add_to\fP (\fBEvas_Object\fP *parent)"
+.br
+.RI "\fICreate a box that is child of a given element \fIparent\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_smart_set\fP (\fBEvas_Object_Box_Api\fP *api)"
+.br
+.RI "\fISet the default box \fIapi\fP struct (Evas_Object_Box_Api) with the default values. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Box_Api\fP * \fBevas_object_box_smart_class_get\fP (void)"
+.br
+.RI "\fIGet Box Smart Class for inheritance purposes. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_layout_set\fP (\fBEvas_Object\fP *o, Evas_Object_Box_Layout cb, const void *data, void(*free_data)(void *data))"
+.br
+.RI "\fISet a 'calculate' callback (\fIcb\fP) to the \fIo\fP box's smart class, which here defines its genre (horizontal, vertical, homogeneous, etc. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_layout_horizontal\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Data\fP *priv, void *data __UNUSED__)"
+.br
+.RI "\fILayout function which sets the box \fIo\fP to a (basic) horizontal box. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_layout_vertical\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Data\fP *priv, void *data __UNUSED__)"
+.br
+.RI "\fILayout function which sets the box \fIo\fP to a (basic) vertical box. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_layout_homogeneous_horizontal\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Data\fP *priv, void *data __UNUSED__)"
+.br
+.RI "\fILayout function which sets the box \fIo\fP to a *homogeneous* horizontal box. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_layout_homogeneous_vertical\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Data\fP *priv, void *data __UNUSED__)"
+.br
+.RI "\fILayout function which sets the box \fIo\fP to a *homogeneous* vertical box. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_layout_homogeneous_max_size_horizontal\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Data\fP *priv, void *data __UNUSED__)"
+.br
+.RI "\fILayout function which sets the box \fIo\fP to a *max size-homogeneous* horizontal box. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_layout_homogeneous_max_size_vertical\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Data\fP *priv, void *data __UNUSED__)"
+.br
+.RI "\fILayout function which sets the box \fIo\fP to a *max size-homogeneous* vertical box. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_layout_flow_horizontal\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Data\fP *priv, void *data __UNUSED__)"
+.br
+.RI "\fILayout function which sets the box \fIo\fP to a *flow* horizontal box. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_layout_flow_vertical\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Data\fP *priv, void *data __UNUSED__)"
+.br
+.RI "\fILayout function which sets the box \fIo\fP to a *flow* vertical box. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_layout_stack\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Data\fP *priv, void *data __UNUSED__)"
+.br
+.RI "\fILayout function which sets the box \fIo\fP to set all children to the size of the object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_align_set\fP (\fBEvas_Object\fP *o, double horizontal, double vertical)"
+.br
+.RI "\fISet the alignment of the whole bounding box of contents. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_align_get\fP (const \fBEvas_Object\fP *o, double *horizontal, double *vertical)"
+.br
+.RI "\fIGet alignment of the whole bounding box of contents. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_padding_set\fP (\fBEvas_Object\fP *o, Evas_Coord horizontal, Evas_Coord vertical)"
+.br
+.RI "\fISet the space (padding) between cells. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_box_padding_get\fP (const \fBEvas_Object\fP *o, Evas_Coord *horizontal, Evas_Coord *vertical)"
+.br
+.RI "\fIGet the (space) padding between cells. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object_Box_Option\fP * \fBevas_object_box_append\fP (\fBEvas_Object\fP *o, \fBEvas_Object\fP *child)"
+.br
+.RI "\fIAppend a new object \fIchild\fP to the box \fIo\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object_Box_Option\fP * \fBevas_object_box_prepend\fP (\fBEvas_Object\fP *o, \fBEvas_Object\fP *child)"
+.br
+.RI "\fIPrepend a new object \fIchild\fP to the box \fIo\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object_Box_Option\fP * \fBevas_object_box_insert_before\fP (\fBEvas_Object\fP *o, \fBEvas_Object\fP *child, const \fBEvas_Object\fP *reference)"
+.br
+.RI "\fIPrepend a new object \fIchild\fP to the box \fCo\fP relative to element \fIreference\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object_Box_Option\fP * \fBevas_object_box_insert_after\fP (\fBEvas_Object\fP *o, \fBEvas_Object\fP *child, const \fBEvas_Object\fP *reference)"
+.br
+.RI "\fIAppend a new object \fIchild\fP to the box \fCo\fP relative to element \fIreference\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object_Box_Option\fP * \fBevas_object_box_insert_at\fP (\fBEvas_Object\fP *o, \fBEvas_Object\fP *child, unsigned int pos)"
+.br
+.RI "\fIInsert a new object \fIchild\fP to the box \fIo\fP at position \fIpos\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_box_remove\fP (\fBEvas_Object\fP *o, \fBEvas_Object\fP *child)"
+.br
+.RI "\fIRemove an object \fIchild\fP from the box \fIo\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_box_remove_at\fP (\fBEvas_Object\fP *o, unsigned int pos)"
+.br
+.RI "\fIRemove an object from the box \fIo\fP which occupies position \fIpos\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_box_remove_all\fP (\fBEvas_Object\fP *o, Eina_Bool clear)"
+.br
+.RI "\fIRemove all child objects. \fP"
+.ti -1c
+.RI "EAPI Eina_Iterator * \fBevas_object_box_iterator_new\fP (const \fBEvas_Object\fP *o)"
+.br
+.RI "\fIGet an iterator to walk the list of children for the box. \fP"
+.ti -1c
+.RI "EAPI Eina_Accessor * \fBevas_object_box_accessor_new\fP (const \fBEvas_Object\fP *o)"
+.br
+.RI "\fIGet an accessor to get random access to the list of children for the box. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_object_box_children_get\fP (const \fBEvas_Object\fP *o)"
+.br
+.RI "\fIGet the list of children for the box. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_box_option_property_name_get\fP (\fBEvas_Object\fP *o, int property)"
+.br
+.RI "\fIGet the name of the property of the child elements of the box \fIo\fP whose id is \fIproperty\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_object_box_option_property_id_get\fP (\fBEvas_Object\fP *o, const char *name)"
+.br
+.RI "\fIGet the id of the property of the child elements of the box \fIo\fP whose name is \fIname\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_box_option_property_set\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Option\fP *opt, int property,...)"
+.br
+.RI "\fISet the property (with id \fIproperty\fP) of the child element of the box \fIo\fP whose property struct is \fIopt\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_box_option_property_vset\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Option\fP *opt, int property, va_list args)"
+.br
+.RI "\fISet the property (with id \fIproperty\fP) of the child element of the box \fIo\fP whose property struct is \fIopt\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_box_option_property_get\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Option\fP *opt, int property,...)"
+.br
+.RI "\fIGet the property (with id \fIproperty\fP) of the child element of the box \fIo\fP whose property struct is \fIopt\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_box_option_property_vget\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Box_Option\fP *opt, int property, va_list args)"
+.br
+.RI "\fIGet the property (with id \fIproperty\fP) of the child element of the box \fIo\fP whose property struct is \fIopt\fP. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Convenience smart object that packs children as a sequence using a layout function specified by user. 
+
+There are a couple of helper layout functions, all of them using children size hints to define their size and alignment inside their cell space.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBSize Hints\fP 
+.RE
+.PP
+
+.SH "Define Documentation"
+.PP 
+.SS "#define EVAS_OBJECT_BOX_API_INIT(smart_class_init)   {smart_class_init, EVAS_OBJECT_BOX_API_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.PP
+Initializer for whole Evas_Object_Box_Api structure. \fBParameters:\fP
+.RS 4
+\fIsmart_class_init\fP initializer to use for the 'base' field (Evas_Smart_Class).
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBEVAS_SMART_CLASS_INIT_NULL\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_VERSION\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION\fP 
+.PP
+\fBEVAS_OBJECT_BOX_API_INIT_NULL\fP 
+.PP
+\fBEVAS_OBJECT_BOX_API_INIT_VERSION\fP 
+.PP
+\fBEVAS_OBJECT_BOX_API_INIT_NAME_VERSION\fP 
+.RE
+.PP
+
+.SS "#define EVAS_OBJECT_BOX_API_INIT_NAME_VERSION(name)   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NAME_VERSION(name))"
+.PP
+Initializer to zero a whole Evas_Object_Box_Api structure and set name and version. Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION and name to the specific value.
+.PP
+It will keep a reference to name field as a 'const char *', that is, name must be available while the structure is used (hint: static or global!) and will not be modified.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBEVAS_OBJECT_BOX_API_INIT_NULL\fP 
+.PP
+\fBEVAS_OBJECT_BOX_API_INIT_VERSION\fP 
+.PP
+\fBEVAS_OBJECT_BOX_API_INIT\fP 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_box_smart_class_get().
+.SS "#define EVAS_OBJECT_BOX_API_INIT_NULL   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_NULL)"
+.PP
+Initializer to zero a whole Evas_Object_Box_Api structure. \fBSee also:\fP
+.RS 4
+\fBEVAS_OBJECT_BOX_API_INIT_VERSION\fP 
+.PP
+\fBEVAS_OBJECT_BOX_API_INIT_NAME_VERSION\fP 
+.PP
+\fBEVAS_OBJECT_BOX_API_INIT\fP 
+.RE
+.PP
+
+.SS "#define EVAS_OBJECT_BOX_API_INIT_VERSION   EVAS_OBJECT_BOX_API_INIT(EVAS_SMART_CLASS_INIT_VERSION)"
+.PP
+Initializer to zero a whole Evas_Object_Box_Api structure and set version. Similar to EVAS_OBJECT_BOX_API_INIT_NULL, but will set version field of Evas_Smart_Class (base field) to latest EVAS_SMART_CLASS_VERSION
+.PP
+\fBSee also:\fP
+.RS 4
+\fBEVAS_OBJECT_BOX_API_INIT_NULL\fP 
+.PP
+\fBEVAS_OBJECT_BOX_API_INIT_NAME_VERSION\fP 
+.PP
+\fBEVAS_OBJECT_BOX_API_INIT\fP 
+.RE
+.PP
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Eina_Accessor* evas_object_box_accessor_new (const \fBEvas_Object\fP * o)"
+.PP
+Get an accessor to get random access to the list of children for the box. \fBNote:\fP
+.RS 4
+Do not remove or delete objects while walking the list. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP* evas_object_box_add (\fBEvas\fP * evas)"
+.PP
+Create a new box. Its layout function must be set via \fBevas_object_box_layout_set()\fP (defaults to \fBevas_object_box_layout_horizontal()\fP). The other properties of the box must be set/retrieved via evas_object_box_{h,v}_{align,padding}_{get,set)(). 
+.PP
+References evas_object_smart_add().
+.PP
+Referenced by evas_object_box_add_to().
+.SS "EAPI \fBEvas_Object\fP* evas_object_box_add_to (\fBEvas_Object\fP * parent)"
+.PP
+Create a box that is child of a given element \fIparent\fP. \fBSee also:\fP
+.RS 4
+\fBevas_object_box_add()\fP 
+.RE
+.PP
+
+.PP
+References evas_object_box_add(), evas_object_evas_get(), and evas_object_smart_member_add().
+.SS "EAPI \fBEvas_Object_Box_Option\fP* evas_object_box_append (\fBEvas_Object\fP * o, \fBEvas_Object\fP * child)"
+.PP
+Append a new object \fIchild\fP to the box \fIo\fP. On error, \fCNULL\fP is returned. 
+.PP
+References evas_object_smart_changed(), and evas_object_smart_member_add().
+.SS "EAPI Eina_List* evas_object_box_children_get (const \fBEvas_Object\fP * o)"
+.PP
+Get the list of children for the box. \fBNote:\fP
+.RS 4
+This is a duplicate of the list kept by the box internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the box when walking this list, but these removals won't be reflected on it. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object_Box_Option\fP* evas_object_box_insert_after (\fBEvas_Object\fP * o, \fBEvas_Object\fP * child, const \fBEvas_Object\fP * reference)"
+.PP
+Append a new object \fIchild\fP to the box \fCo\fP relative to element \fIreference\fP. If \fIreference\fP is not contained in the box or any other error occurs, \fCNULL\fP is returend. 
+.PP
+References evas_object_smart_changed(), and evas_object_smart_member_add().
+.SS "EAPI \fBEvas_Object_Box_Option\fP* evas_object_box_insert_at (\fBEvas_Object\fP * o, \fBEvas_Object\fP * child, unsigned int pos)"
+.PP
+Insert a new object \fIchild\fP to the box \fIo\fP at position \fIpos\fP. On error, \fCNULL\fP is returned. 
+.PP
+References evas_object_smart_changed(), and evas_object_smart_member_add().
+.SS "EAPI \fBEvas_Object_Box_Option\fP* evas_object_box_insert_before (\fBEvas_Object\fP * o, \fBEvas_Object\fP * child, const \fBEvas_Object\fP * reference)"
+.PP
+Prepend a new object \fIchild\fP to the box \fCo\fP relative to element \fIreference\fP. If \fIreference\fP is not contained in the box or any other error occurs, \fCNULL\fP is returned. 
+.PP
+References evas_object_smart_changed(), and evas_object_smart_member_add().
+.SS "EAPI Eina_Iterator* evas_object_box_iterator_new (const \fBEvas_Object\fP * o)"
+.PP
+Get an iterator to walk the list of children for the box. \fBNote:\fP
+.RS 4
+Do not remove or delete objects while walking the list. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_box_layout_flow_horizontal (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Data\fP * priv, void *data __UNUSED__)"
+.PP
+Layout function which sets the box \fIo\fP to a *flow* horizontal box. \fIpriv\fP must be the smart data of the box.
+.PP
+In a flow horizontal box, the box's child elements are placed in rows (think of text as an analogy). A row has as much elements as can fit into the box's width. The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.
+.PP
+\fBbox's properties:\fP
+.RS 4
+\fCpadding_h\fP tells the box to draw empty spaces of that size, in pixels, between the child objects's cells. \fCalign_h\fP dictates the horizontal alignment of the rows (0 to left align them, 1 to right align). A value of -1.0 to \fCalign_h\fP lets the rows *justified* horizontally. \fCalign_v\fP controls the vertical alignment of the entire set of rows (0 to top, 1 to bottom). A value of -1.0 to \fCalign_v\fP makes the box to *justify* the rows vertically. The padding between them, in this case, is corrected so that the first row touches the top border and the last one touches the bottom border (even if they must overlap). \fCpadding_v\fP has no influence on the layout.
+.RE
+.PP
+\fBChild element's properties:\fP
+.RS 4
+\fCpadding_l\fP and \fCpadding_r\fP sum up to the required width of the child element. The \fCalign_x\fP property has no influence on the layout. The child's \fCpadding_t\fP and \fCpadding_b\fP sum up to the required height of the child element and is the only means (besides row justifying) of setting space between rows. Note, however, that \fCalign_y\fP dictates positioning relative to the *largest height* required by a child object in the actual row. 
+.RE
+.PP
+
+.PP
+References evas_object_geometry_get(), evas_object_move(), evas_object_size_hint_align_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().
+.SS "EAPI void evas_object_box_layout_flow_vertical (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Data\fP * priv, void *data __UNUSED__)"
+.PP
+Layout function which sets the box \fIo\fP to a *flow* vertical box. \fIpriv\fP must be the smart data of the box.
+.PP
+This function behaves analogously to \fBevas_object_box_layout_flow_horizontal()\fP. The description of its behaviour can be derived from that function's documentation. 
+.PP
+References evas_object_geometry_get(), evas_object_move(), evas_object_size_hint_align_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().
+.SS "EAPI void evas_object_box_layout_homogeneous_horizontal (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Data\fP * priv, void *data __UNUSED__)"
+.PP
+Layout function which sets the box \fIo\fP to a *homogeneous* horizontal box. \fIpriv\fP must be the smart data of the box.
+.PP
+In a homogeneous horizontal box, its width is divided equally between the contained objects. The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.
+.PP
+\fBbox's properties:\fP
+.RS 4
+\fCalign_h\fP has no influence on the box for this layout. \fCpadding_h\fP tells the box to draw empty spaces of that size, in pixels, between the (still equal) child objects's cells. The \fCalign_v\fP and \fCpadding_v\fP properties of the box don't contribute to its behaviour when this layout is chosen.
+.RE
+.PP
+\fBChild element's properties:\fP
+.RS 4
+\fCpadding_l\fP and \fCpadding_r\fP sum up to the required width of the child element. The \fCalign_x\fP property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to \fCalign_x\fP makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). The child's \fCpadding_t\fP, \fCpadding_b\fP and \fCalign_y\fP properties apply for padding/positioning relative to the overall height of the box. A value of -1.0 to \fCalign_y\fP makes the box try to resize this child element to the exact height of its parent (respecting the max hint on the child's height). 
+.RE
+.PP
+
+.PP
+References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().
+.SS "EAPI void evas_object_box_layout_homogeneous_max_size_horizontal (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Data\fP * priv, void *data __UNUSED__)"
+.PP
+Layout function which sets the box \fIo\fP to a *max size-homogeneous* horizontal box. \fIpriv\fP must be the smart data of the box.
+.PP
+In a max size-homogeneous horizontal box, the equal sized cells reserved for the child objects have the width of the space required by the largest child (in width). The box's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.
+.PP
+\fBbox's properties:\fP
+.RS 4
+\fCpadding_h\fP tells the box to draw empty spaces of that size, in pixels, between the child objects's cells. \fCalign_h\fP controls the horizontal alignment of the child objects relative to the containing box. When set to 0, children are aligned to the left. A value of 1 lets them aligned to the right border. Values in between align them proportionally. A negative value of \fCalign_h\fP makes the box to *justify* its children cells. The padding between them, in this case, is corrected so that the leftmost one touches the left border and the rightmost one touches the right border (even if they must overlap). The \fCalign_v\fP and \fCpadding_v\fP properties of the box don't contribute to its behaviour when this layout is chosen.
+.RE
+.PP
+\fBChild element's properties:\fP
+.RS 4
+\fCpadding_l\fP and \fCpadding_r\fP sum up to the required width of the child element. The \fCalign_x\fP property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to \fCalign_x\fP makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). The child's \fCpadding_t\fP, \fCpadding_b\fP and \fCalign_y\fP properties apply for padding/positioning relative to the overall height of the box. A value of -1.0 to \fCalign_y\fP makes the box try to resize this child element to the exact height of its parent (respecting the max hint on the child's height). 
+.RE
+.PP
+
+.PP
+References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().
+.SS "EAPI void evas_object_box_layout_homogeneous_max_size_vertical (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Data\fP * priv, void *data __UNUSED__)"
+.PP
+Layout function which sets the box \fIo\fP to a *max size-homogeneous* vertical box. \fIpriv\fP must be the smart data of the box.
+.PP
+This function behaves analogously to \fBevas_object_box_layout_homogeneous_max_size_horizontal()\fP. The description of its behaviour can be derived from that function's documentation. 
+.PP
+References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().
+.SS "EAPI void evas_object_box_layout_homogeneous_vertical (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Data\fP * priv, void *data __UNUSED__)"
+.PP
+Layout function which sets the box \fIo\fP to a *homogeneous* vertical box. \fIpriv\fP must be the smart data of the box.
+.PP
+This function behaves analogously to \fBevas_object_box_layout_homogeneous_horizontal()\fP. The description of its behaviour can be derived from that function's documentation. 
+.PP
+References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), and evas_object_size_hint_padding_get().
+.SS "EAPI void evas_object_box_layout_horizontal (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Data\fP * priv, void *data __UNUSED__)"
+.PP
+Layout function which sets the box \fIo\fP to a (basic) horizontal box. \fIpriv\fP must be the smart data of the box.
+.PP
+The object's overall behavior is controlled by its properties, which are set by the evas_object_box_{h,v}_{align,padding}_set() family of functions. The properties of the elements in the box -- set by evas_object_size_hint_{align,padding,weight}_set() functions -- also control the way this function works.
+.PP
+\fBbox's properties:\fP
+.RS 4
+\fCalign_h\fP controls the horizontal alignment of the child objects relative to the containing box. When set to 0, children are aligned to the left. A value of 1 lets them aligned to the right border. Values in between align them proportionally. Note that if the size required by the children, which is given by their widths and the \fCpadding_h\fP property of the box, is bigger than the container width, the children will be displayed out of its bounds. A negative value of \fCalign_h\fP makes the box to *justify* its children. The padding between them, in this case, is corrected so that the leftmost one touches the left border and the rightmost one touches the right border (even if they must overlap). The \fCalign_v\fP and \fCpadding_v\fP properties of the box don't contribute to its behaviour when this layout is chosen.
+.RE
+.PP
+\fBChild element's properties:\fP
+.RS 4
+\fCalign_x\fP does not influence the box's behavior. \fCpadding_l\fP and \fCpadding_r\fP sum up to the container's horizontal padding between elements. The child's \fCpadding_t\fP, \fCpadding_b\fP and \fCalign_y\fP properties apply for padding/positioning relative to the overall height of the box. Finally, there is the \fCweight_x\fP property, which, if set to a non-zero value, tells the container that the child width is not pre-defined. If the container can't accommodate all its children, it sets the widths of the children *with weights* to sizes as small as they can all fit into it. If the size required by the children is less than the available, the box increases its children's (which have weights) widths as to fit the remaining space. The \fCweight_x\fP property, besides telling the element is resizable, gives a *weight* for the resizing process. The parent box will try to distribute (or take off) widths accordingly to the *normalized* list of weigths: most weighted children remain/get larger in this process than the the least ones. \fCweight_y\fP does not influence the layout.
+.RE
+.PP
+If one desires that, besides having weights, child elements must be resized bounded to a minimum or maximum size, their size hint properties must be set (by the evas_object_size_hint_{min,max}_set() functions. 
+.PP
+References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_set(), evas_object_size_hint_padding_get(), and evas_object_size_hint_weight_get().
+.SS "EAPI void evas_object_box_layout_set (\fBEvas_Object\fP * o, Evas_Object_Box_Layout cb, const void * data, void(*)(void *data) free_data)"
+.PP
+Set a 'calculate' callback (\fIcb\fP) to the \fIo\fP box's smart class, which here defines its genre (horizontal, vertical, homogeneous, etc. ). 
+.PP
+References evas_object_smart_changed().
+.SS "EAPI void evas_object_box_layout_stack (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Data\fP * priv, void *data __UNUSED__)"
+.PP
+Layout function which sets the box \fIo\fP to set all children to the size of the object. \fIpriv\fP must be the smart data of the box.
+.PP
+In a stack box, all children will be given the same size and they will be stacked on above the other, so the first object will be the bottom most.
+.PP
+\fBbox's properties:\fP
+.RS 4
+No box option is used.
+.RE
+.PP
+\fBChild element's properties:\fP
+.RS 4
+\fCpadding_l\fP and \fCpadding_r\fP sum up to the required width of the child element. The \fCalign_x\fP property tells the relative position of this overall child width in its allocated cell (0 to extreme left, 1 to extreme right). A value of -1.0 to \fCalign_x\fP makes the box try to resize this child element to the exact width of its cell (respecting the min and max hints on the child's width *and* accounting its horizontal padding properties). Same applies to vertical axis. 
+.RE
+.PP
+
+.PP
+References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), evas_object_size_hint_padding_get(), and evas_object_stack_above().
+.SS "EAPI void evas_object_box_layout_vertical (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Data\fP * priv, void *data __UNUSED__)"
+.PP
+Layout function which sets the box \fIo\fP to a (basic) vertical box. \fIpriv\fP must be the smart data of the box.
+.PP
+This function behaves analogously to \fBevas_object_box_layout_horizontal()\fP. The description of its behaviour can be derived from that function's documentation. 
+.PP
+References evas_object_geometry_get(), evas_object_move(), evas_object_resize(), evas_object_size_hint_align_get(), evas_object_size_hint_max_get(), evas_object_size_hint_min_set(), evas_object_size_hint_padding_get(), and evas_object_size_hint_weight_get().
+.SS "EAPI Eina_Bool evas_object_box_option_property_get (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Option\fP * opt, int property,  ...)"
+.PP
+Get the property (with id \fIproperty\fP) of the child element of the box \fIo\fP whose property struct is \fIopt\fP. The last arguments must be addresses of variables with the same type of that property. On error, \fC0\fP is returned. 
+.PP
+References evas_object_box_option_property_vget().
+.SS "EAPI int evas_object_box_option_property_id_get (\fBEvas_Object\fP * o, const char * name)"
+.PP
+Get the id of the property of the child elements of the box \fIo\fP whose name is \fIname\fP. On error, \fC-1\fP is returned. 
+.SS "EAPI const char* evas_object_box_option_property_name_get (\fBEvas_Object\fP * o, int property)"
+.PP
+Get the name of the property of the child elements of the box \fIo\fP whose id is \fIproperty\fP. On error, \fCNULL\fP is returned. 
+.SS "EAPI Eina_Bool evas_object_box_option_property_set (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Option\fP * opt, int property,  ...)"
+.PP
+Set the property (with id \fIproperty\fP) of the child element of the box \fIo\fP whose property struct is \fIopt\fP. The property's values must be the last arguments and their type *must* match that of the property itself. On error, \fC0\fP is returned. 
+.PP
+References evas_object_box_option_property_vset().
+.SS "EAPI Eina_Bool evas_object_box_option_property_vget (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Option\fP * opt, int property, va_list args)"
+.PP
+Get the property (with id \fIproperty\fP) of the child element of the box \fIo\fP whose property struct is \fIopt\fP. The args which the va_list \fIargs\fP is initialized with must be addresses of variables with the same type of that property. On error, \fC0\fP is returned. 
+.PP
+Referenced by evas_object_box_option_property_get().
+.SS "EAPI Eina_Bool evas_object_box_option_property_vset (\fBEvas_Object\fP * o, \fBEvas_Object_Box_Option\fP * opt, int property, va_list args)"
+.PP
+Set the property (with id \fIproperty\fP) of the child element of the box \fIo\fP whose property struct is \fIopt\fP. The property's values must be the args which the va_list \fIargs\fP is initialized with and their type *must* match that of the property itself. On error, \fC0\fP is returned. 
+.PP
+References evas_object_smart_changed().
+.PP
+Referenced by evas_object_box_option_property_set().
+.SS "EAPI \fBEvas_Object_Box_Option\fP* evas_object_box_prepend (\fBEvas_Object\fP * o, \fBEvas_Object\fP * child)"
+.PP
+Prepend a new object \fIchild\fP to the box \fIo\fP. On error, \fCNULL\fP is returned. 
+.PP
+References evas_object_smart_changed(), and evas_object_smart_member_add().
+.SS "EAPI Eina_Bool evas_object_box_remove (\fBEvas_Object\fP * o, \fBEvas_Object\fP * child)"
+.PP
+Remove an object \fIchild\fP from the box \fIo\fP. On error, \fC0\fP is returned. 
+.PP
+References evas_object_smart_changed(), and evas_object_smart_member_del().
+.SS "EAPI Eina_Bool evas_object_box_remove_all (\fBEvas_Object\fP * o, Eina_Bool clear)"
+.PP
+Remove all child objects. \fBReturns:\fP
+.RS 4
+0 on errors 
+.RE
+.PP
+
+.PP
+References evas_object_del(), evas_object_smart_changed(), and evas_object_smart_member_del().
+.SS "EAPI Eina_Bool evas_object_box_remove_at (\fBEvas_Object\fP * o, unsigned int pos)"
+.PP
+Remove an object from the box \fIo\fP which occupies position \fIpos\fP. On error, \fC0\fP is returned. 
+.PP
+References evas_object_smart_changed(), and evas_object_smart_member_del().
+.SS "EAPI void evas_object_box_smart_set (\fBEvas_Object_Box_Api\fP * api)"
+.PP
+Set the default box \fIapi\fP struct (Evas_Object_Box_Api) with the default values. May be used to extend that API. 
+.PP
+Referenced by evas_object_box_smart_class_get().
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Box_Api.3 b/doc/man/man3/Evas_Object_Box_Api.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Object_Box_Data.3 b/doc/man/man3/Evas_Object_Box_Data.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Object_Box_Option.3 b/doc/man/man3/Evas_Object_Box_Option.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Object_Group.3 b/doc/man/man3/Evas_Object_Group.3
new file mode 100644 (file)
index 0000000..b941b82
--- /dev/null
@@ -0,0 +1,68 @@
+.TH "Generic Object Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Generic Object Functions \- 
+.PP
+Functions that manipulate generic evas objects.  
+
+.SS "Modules"
+
+.in +1c
+.ti -1c
+.RI "\fBBasic Object Manipulation\fP"
+.br
+.PP
+
+.RI "\fIMethods that are often used, like those that change the color, clippers and geometry of the object. \fP"
+.ti -1c
+.RI "\fBObject Events\fP"
+.br
+.PP
+
+.RI "\fIObjects generates events when they are moved, resized, when their visibility change, when they are deleted and so on. \fP"
+.ti -1c
+.RI "\fBUV Mapping (Rotation, Perspecitve, 3D...)\fP"
+.br
+.PP
+
+.RI "\fIEvas allows different transformations to be applied to all kinds of objects. \fP"
+.ti -1c
+.RI "\fBSize Hints\fP"
+.br
+.PP
+
+.RI "\fIObjects may carry hints so another object that acts as a manager (see \fBSmart Object Functions\fP) may know how to properly position and resize the object. \fP"
+.ti -1c
+.RI "\fBExtra Object Manipulation\fP"
+.br
+.PP
+
+.RI "\fIMiscellaneous functions that also apply to any object, but are less used or not implemented by all objects. \fP"
+.ti -1c
+.RI "\fBFinding Objects\fP"
+.br
+.PP
+
+.RI "\fIFunctions that allows finding objects by their position, name or other properties. \fP"
+.ti -1c
+.RI "\fBObject Method Interceptors\fP"
+.br
+.PP
+
+.RI "\fIEvas provides a way to intercept method calls. \fP"
+.in -1c
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef struct _Evas_Object \fBEvas_Object\fP"
+.br
+.RI "\fIAn Evas Object handle. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that manipulate generic evas objects. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Group_Basic.3 b/doc/man/man3/Evas_Object_Group_Basic.3
new file mode 100644 (file)
index 0000000..adf8633
--- /dev/null
@@ -0,0 +1,667 @@
+.TH "Basic Object Manipulation" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Basic Object Manipulation \- 
+.PP
+Methods that are often used, like those that change the color, clippers and geometry of the object.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_object_clip_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Object\fP *clip)"
+.br
+.RI "\fIClip one object to another. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_clip_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the object clipping this one (if any). \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_clip_unset\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIDisable clipping for an object. \fP"
+.ti -1c
+.RI "EAPI const Eina_List * \fBevas_object_clipees_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIReturn a list of objects currently clipped by a specific object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_focus_set\fP (\fBEvas_Object\fP *obj, Eina_Bool focus)"
+.br
+.RI "\fISets focus to the given object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_focus_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fITest if the object has focus. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_layer_set\fP (\fBEvas_Object\fP *obj, short l)"
+.br
+.RI "\fISets the layer of the evas that the given object will be part of. \fP"
+.ti -1c
+.RI "EAPI short \fBevas_object_layer_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the layer of the evas that the given object is part of. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_name_set\fP (\fBEvas_Object\fP *obj, const char *name)"
+.br
+.RI "\fISets the name of the given evas object to the given name. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_name_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the name of the given evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_ref\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIIncrements object reference count to defer deletion. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_unref\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIDecrements object reference count to defer deletion. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_del\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIDeletes the given evas object and frees its memory. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_move\fP (\fBEvas_Object\fP *obj, Evas_Coord x, Evas_Coord y)"
+.br
+.RI "\fIMoves the given evas object to the given location. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_resize\fP (\fBEvas_Object\fP *obj, Evas_Coord w, Evas_Coord h)"
+.br
+.RI "\fIChanges the size of the given evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_geometry_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)"
+.br
+.RI "\fIRetrieves the position and rectangular size of the given evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_show\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIMakes the given evas object visible. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_hide\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIMakes the given evas object invisible. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_visible_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves whether or not the given evas object is visible. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_color_set\fP (\fBEvas_Object\fP *obj, int r, int g, int b, int a)"
+.br
+.RI "\fISets the general colour of the given evas object to the given colour. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_color_get\fP (const \fBEvas_Object\fP *obj, int *r, int *g, int *b, int *a)"
+.br
+.RI "\fIRetrieves the general colour of the given evas object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas\fP * \fBevas_object_evas_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the evas that the given evas object is on. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_type_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the name of the type of the given evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_raise\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRaise \fCobj\fP to the top of its layer. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_lower\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fILower \fCobj\fP to the bottom of its layer. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_stack_above\fP (\fBEvas_Object\fP *obj, \fBEvas_Object\fP *above)"
+.br
+.RI "\fIStack \fCobj\fP immediately above \fCabove\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_stack_below\fP (\fBEvas_Object\fP *obj, \fBEvas_Object\fP *below)"
+.br
+.RI "\fIStack \fCobj\fP immediately below \fCbelow\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_above_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the evas object above \fCobj\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_below_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the evas object below \fCobj\fP. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Methods that are often used, like those that change the color, clippers and geometry of the object. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Object\fP* evas_object_above_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the evas object above \fCobj\fP. \fBParameters:\fP
+.RS 4
+\fIobj\fP an Evas_Object 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the Evas_Object directly above 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP* evas_object_below_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the evas object below \fCobj\fP. \fBParameters:\fP
+.RS 4
+\fIobj\fP an Evas_Object 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the Evas_Object directly below 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP* evas_object_clip_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the object clipping this one (if any). \fBParameters:\fP
+.RS 4
+\fIobj\fP The object to get the clipper from
+.RE
+.PP
+This function returns the the object clipping \fCobj\fP. If \fCobj\fP not being clipped, NULL is returned. The object \fCobj\fP must be a valid object.
+.PP
+See also \fBevas_object_clip_set()\fP, \fBevas_object_clip_unset()\fP and \fBevas_object_clipees_get()\fP.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas_Object *obj;
+ Evas_Object *clipper;
+
+ clipper = evas_object_clip_get(obj);
+ if (clipper) evas_object_show(clipper);
+
+.fi
+.PP
+.SS "EAPI void evas_object_clip_set (\fBEvas_Object\fP * obj, \fBEvas_Object\fP * clip)"
+.PP
+Clip one object to another. \fBParameters:\fP
+.RS 4
+\fIobj\fP The object to be clipped 
+.br
+\fIclip\fP The object to clip \fCobj\fP by
+.RE
+.PP
+This function will clip the object \fCobj\fP to the area occupied by the object \fCclipper\fP. This means the object \fCobj\fP will only be visible within the area occupied by the clipping object (\fCclip\fP). The color of the object being clipped will be multiplied by the color of the clipping object, so the resulting color for the clipped object is RESULT = (OBJ * CLIP) / (255 * 255) per color element (red, green, blue and alpha). Clipping is recursive, so clip objects may be clipped by other objects, and their color will in tern be multiplied. You may NOT set up circular clipping lists (i.e. object 1 clips object 2 which clips object 1). The behavior of Evas is undefined in this case. Objects which do not clip others are visible as normal, those that clip 1 or more objects become invisible themselves, only affecting what they clip. If an object ceases to have other objects being clipped by it, it will become visible again. The visibility of an object affects the objects that are clipped by it, so if the object clipping others is not shown, the objects clipped will not be shown either. If the object was being clipped by another object when this function is called, it is implicitly removed from the clipper it is being clipped to, and now is made to clip its new clipper.
+.PP
+At the moment the only objects that can validly be used to clip other objects are rectangle objects. All other object types are invalid and the result of using them is undefined.
+.PP
+The clip object \fCclip\fP must be a valid object, but may also be NULL in which case the effect of this function is the same as calling \fBevas_object_clip_unset()\fP on the \fCobj\fP object.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+ extern Evas_Object *obj;
+ Evas_Object *clipper;
+
+ clipper = evas_object_rectangle_add(evas);
+ evas_object_color_set(clipper, 255, 255, 255, 255);
+ evas_object_move(clipper, 10, 10);
+ evas_object_resize(clipper, 20, 50);
+ evas_object_clip_set(obj, clipper);
+ evas_object_show(clipper);
+
+.fi
+.PP
+.PP
+References evas_damage_rectangle_add(), evas_event_feed_mouse_move(), evas_object_clip_unset(), and evas_object_type_get().
+.SS "EAPI void evas_object_clip_unset (\fBEvas_Object\fP * obj)"
+.PP
+Disable clipping for an object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The object to cease clipping on
+.RE
+.PP
+This function disables clipping for the object \fCobj\fP, if it was already clipped. If it wasn't, this has no effect. The object \fCobj\fP must be a valid object.
+.PP
+See also \fBevas_object_clip_set()\fP, \fBevas_object_clipees_get()\fP and \fBevas_object_clip_get()\fP.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas_Object *obj;
+ Evas_Object *clipper;
+
+ clipper = evas_object_clip_get(obj);
+ if (clipper)
+   {
+     evas_object_clip_unset(obj);
+     evas_object_hide(obj);
+   }
+
+.fi
+.PP
+.PP
+References evas_damage_rectangle_add(), and evas_event_feed_mouse_move().
+.PP
+Referenced by evas_object_clip_set(), and evas_object_del().
+.SS "EAPI const Eina_List* evas_object_clipees_get (const \fBEvas_Object\fP * obj)"
+.PP
+Return a list of objects currently clipped by a specific object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The object to get a list of clippees from
+.RE
+.PP
+This returns the inernal list handle that contains all objects clipped by the object \fCobj\fP. If none are clipped, it returns NULL. This list is only valid until the clip list is changed and should be fetched again with another call to \fBevas_object_clipees_get()\fP if any objects being clipped by this object are unclipped, clipped by a new object, are deleted or the clipper is deleted. These operations will invalidate the list returned so it should not be used anymore after that point. Any use of the list after this may have undefined results, not limited just to strange behavior but possible segfaults and other strange memory errors. The object \fCobj\fP must be a valid object.
+.PP
+See also \fBevas_object_clip_set()\fP, \fBevas_object_clip_unset()\fP and \fBevas_object_clip_get()\fP.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas_Object *obj;
+ Evas_Object *clipper;
+
+ clipper = evas_object_clip_get(obj);
+ if (clipper)
+   {
+     Eina_List *clippees, *l;
+     Evas_Object *obj_tmp;
+
+     clippees = evas_object_clipees_get(clipper);
+     printf('Clipper clips %i objects\n', eina_list_count(clippees));
+     EINA_LIST_FOREACH(clippees, l, obj_tmp)
+         evas_object_show(obj_tmp);
+   }
+
+.fi
+.PP
+.SS "EAPI void evas_object_color_get (const \fBEvas_Object\fP * obj, int * r, int * g, int * b, int * a)"
+.PP
+Retrieves the general colour of the given evas object. Note that if any of \fCr\fP, \fCg\fP, \fCb\fP or \fCa\fP are \fCNULL\fP, then the \fCNULL\fP parameters are ignored.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIr\fP Pointer to an integer in which to store the red component of the colour. 
+.br
+\fIg\fP Pointer to an integer in which to store the green component of the colour. 
+.br
+\fIb\fP Pointer to an integer in which to store the blue component of the colour. 
+.br
+\fIa\fP Pointer to an integer in which to store the alpha component of the colour. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_color_set (\fBEvas_Object\fP * obj, int r, int g, int b, int a)"
+.PP
+Sets the general colour of the given evas object to the given colour. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIr\fP The red component of the given colour. 
+.br
+\fIg\fP The green component of the given colour. 
+.br
+\fIb\fP The blue component of the given colour. 
+.br
+\fIa\fP The alpha component of the given colour. 
+.RE
+.PP
+
+.PP
+References EVAS_RENDER_BLEND.
+.SS "EAPI void evas_object_del (\fBEvas_Object\fP * obj)"
+.PP
+Deletes the given evas object and frees its memory. The object's 'free' callback is called when this function is called. If the object currently has the focus, its 'focus out' callback is also called.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.RE
+.PP
+
+.PP
+References EVAS_CALLBACK_DEL, EVAS_CALLBACK_FOCUS_OUT, EVAS_CALLBACK_FREE, evas_object_clip_unset(), evas_object_hide(), evas_object_image_source_unset(), and evas_object_name_set().
+.PP
+Referenced by evas_object_box_remove_all(), evas_object_table_clear(), and evas_object_unref().
+.SS "EAPI \fBEvas\fP* evas_object_evas_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the evas that the given evas object is on. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The evas that the object is on. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_box_add_to(), and evas_object_table_add_to().
+.SS "EAPI Eina_Bool evas_object_focus_get (const \fBEvas_Object\fP * obj)"
+.PP
+Test if the object has focus. \fBParameters:\fP
+.RS 4
+\fIobj\fP The object to be tested.
+.RE
+.PP
+If the passed object is the currently focused object 1 is returned, 0 otherwise.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_focus_set\fP 
+.PP
+\fBevas_focus_get\fP 
+.PP
+evas_object_key_grab 
+.PP
+evas_object_key_ungrab
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if the object has the focus, 0 otherwise. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_focus_set (\fBEvas_Object\fP * obj, Eina_Bool focus)"
+.PP
+Sets focus to the given object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The object to be focused or unfocused. 
+.br
+\fIfocus\fP set or remove focus to the object.
+.RE
+.PP
+Changing focus only affects where key events go. There can be only one object focused at any time. 
+.PP
+If the parameter (\fCfocus\fP) is set, the passed object will be set as the currently focused object. It will receive all keyboard events that are not exclusive key grabs on other objects.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_focus_get\fP 
+.PP
+\fBevas_focus_get\fP 
+.PP
+evas_object_key_grab 
+.PP
+evas_object_key_ungrab 
+.RE
+.PP
+
+.PP
+References EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_IN, EVAS_CALLBACK_CANVAS_OBJECT_FOCUS_OUT, EVAS_CALLBACK_FOCUS_IN, EVAS_CALLBACK_FOCUS_OUT, and evas_object_focus_set().
+.PP
+Referenced by evas_object_focus_set().
+.SS "EAPI void evas_object_geometry_get (const \fBEvas_Object\fP * obj, Evas_Coord * x, Evas_Coord * y, Evas_Coord * w, Evas_Coord * h)"
+.PP
+Retrieves the position and rectangular size of the given evas object. Note that if any of \fCx\fP, \fCy\fP, \fCw\fP or \fCh\fP are \fCNULL\fP, the \fCNULL\fP parameters are ignored.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIx\fP Pointer to an integer in which to store the X coordinate of the object. 
+.br
+\fIy\fP Pointer to an integer in which to store the Y coordinate of the object. 
+.br
+\fIw\fP Pointer to an integer in which to store the width of the object. 
+.br
+\fIh\fP Pointer to an integer in which to store the height of the object. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_box_layout_flow_horizontal(), evas_object_box_layout_flow_vertical(), evas_object_box_layout_homogeneous_horizontal(), evas_object_box_layout_homogeneous_max_size_horizontal(), evas_object_box_layout_homogeneous_max_size_vertical(), evas_object_box_layout_homogeneous_vertical(), evas_object_box_layout_horizontal(), evas_object_box_layout_stack(), evas_object_box_layout_vertical(), and evas_object_image_filled_set().
+.SS "EAPI void evas_object_hide (\fBEvas_Object\fP * obj)"
+.PP
+Makes the given evas object invisible. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object.
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+the hidden objects will not be checked for changes and will not catch events. That is, they are much ligher than an object that is invisible due indirect effects, such as clipped or out-of-viewport. 
+.RE
+.PP
+
+.PP
+References _Evas_Event_Mouse_Out::buttons, EVAS_CALLBACK_MOUSE_OUT, and evas_event_feed_mouse_move().
+.PP
+Referenced by evas_object_del().
+.SS "EAPI short evas_object_layer_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the layer of the evas that the given object is part of. Be careful, it doesn't make sense to change the layer of smart object's child. So the returned value could be wrong in some case. Don't rely on it's accuracy.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Number of the layer. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_layer_set (\fBEvas_Object\fP * obj, short l)"
+.PP
+Sets the layer of the evas that the given object will be part of. It is not possible to change the layer of a smart object's child.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIl\fP The number of the layer to place the object on. Between \fBEVAS_LAYER_MIN\fP and \fBEVAS_LAYER_MAX\fP. 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move(), and evas_object_raise().
+.SS "EAPI void evas_object_lower (\fBEvas_Object\fP * obj)"
+.PP
+Lower \fCobj\fP to the bottom of its layer. \fBParameters:\fP
+.RS 4
+\fIobj\fP the object to lower 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move().
+.PP
+Referenced by evas_object_stack_below().
+.SS "EAPI void evas_object_move (\fBEvas_Object\fP * obj, Evas_Coord x, Evas_Coord y)"
+.PP
+Moves the given evas object to the given location. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIx\fP X position to move the object to, in canvas units. 
+.br
+\fIy\fP Y position to move the object to, in canvas units. 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move().
+.PP
+Referenced by evas_object_box_layout_flow_horizontal(), evas_object_box_layout_flow_vertical(), evas_object_box_layout_homogeneous_horizontal(), evas_object_box_layout_homogeneous_max_size_horizontal(), evas_object_box_layout_homogeneous_max_size_vertical(), evas_object_box_layout_homogeneous_vertical(), evas_object_box_layout_horizontal(), evas_object_box_layout_stack(), evas_object_box_layout_vertical(), and evas_object_smart_move_children_relative().
+.SS "EAPI const char* evas_object_name_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the name of the given evas object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The name of the object. \fCNULL\fP if no name has been given to the object. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_name_set (\fBEvas_Object\fP * obj, const char * name)"
+.PP
+Sets the name of the given evas object to the given name. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given object. 
+.br
+\fIname\fP The given name. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_del().
+.SS "EAPI void evas_object_raise (\fBEvas_Object\fP * obj)"
+.PP
+Raise \fCobj\fP to the top of its layer. \fBParameters:\fP
+.RS 4
+\fIobj\fP the object to raise 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move().
+.PP
+Referenced by evas_object_layer_set(), and evas_object_stack_above().
+.SS "EAPI void evas_object_ref (\fBEvas_Object\fP * obj)"
+.PP
+Increments object reference count to defer deletion. This increments the reference count of an object, which if greater than 0 will defer deletion by \fBevas_object_del()\fP until all references are released back to 0. References cannot go below 0 and unreferencing more times that referencing will result in the reference count being limited to 0. References are limited to 2^32 - 1 for an object. Referencing it more than this will result in it being limited to this value.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object to reference
+.RE
+.PP
+\fBSince:\fP
+.RS 4
+1.1.0 
+.RE
+.PP
+
+.SS "EAPI void evas_object_resize (\fBEvas_Object\fP * obj, Evas_Coord w, Evas_Coord h)"
+.PP
+Changes the size of the given evas object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIw\fP The new width of the evas object. 
+.br
+\fIh\fP The new height of the evas object.
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+Be aware that resizing an object changes its drawing area, but that does imply the object is rescaled! For instance, images are filled inside their drawing area using the specifications of \fBevas_object_image_fill_set()\fP, thus to scale the image to match exactly your drawing area, you need to change the \fBevas_object_image_fill_set()\fP as well. Consider the following example: 
+.PP
+.nf
+       // rescale image to fill exactly its area without tiling:
+       evas_object_resize(img, w, h);
+       evas_object_image_fill_set(img, 0, 0, w, h);
+
+.fi
+.PP
+ This is more evident in images, but text, textblock, lines and polygons will behave similarly. Check their specific APIs to know how to achieve your desired behavior. 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move().
+.PP
+Referenced by evas_object_box_layout_homogeneous_horizontal(), evas_object_box_layout_homogeneous_max_size_horizontal(), evas_object_box_layout_homogeneous_max_size_vertical(), evas_object_box_layout_homogeneous_vertical(), evas_object_box_layout_horizontal(), evas_object_box_layout_stack(), and evas_object_box_layout_vertical().
+.SS "EAPI void evas_object_show (\fBEvas_Object\fP * obj)"
+.PP
+Makes the given evas object visible. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move().
+.SS "EAPI void evas_object_stack_above (\fBEvas_Object\fP * obj, \fBEvas_Object\fP * above)"
+.PP
+Stack \fCobj\fP immediately above \fCabove\fP. If \fCobj\fP is a member of a smart object, then \fCabove\fP must also be a member of the same smart object.
+.PP
+Similarly, if \fCobj\fP is not a member of smart object, \fCabove\fP may not either.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the object to stack 
+.br
+\fIabove\fP the object above which to stack 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move(), and evas_object_raise().
+.PP
+Referenced by evas_object_box_layout_stack().
+.SS "EAPI void evas_object_stack_below (\fBEvas_Object\fP * obj, \fBEvas_Object\fP * below)"
+.PP
+Stack \fCobj\fP immediately below \fCbelow\fP. If \fCobj\fP is a member of a smart object, then \fCbelow\fP must also be a member of the same smart object.
+.PP
+Similarly, if \fCobj\fP is not a member of smart object, \fCbelow\fP may not either.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the object to stack 
+.br
+\fIbelow\fP the object below which to stack 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move(), and evas_object_lower().
+.SS "EAPI const char* evas_object_type_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the name of the type of the given evas object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The name. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_clip_set().
+.SS "EAPI void evas_object_unref (\fBEvas_Object\fP * obj)"
+.PP
+Decrements object reference count to defer deletion. This decrements the reference count of an object. If the object has had \fBevas_object_del()\fP called on it while references were more than 0, it will be deleted at the time this function is called as it normally would have been. See \fBevas_object_ref()\fP for more information.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object to unreference
+.RE
+.PP
+\fBSince:\fP
+.RS 4
+1.1.0 
+.RE
+.PP
+
+.PP
+References evas_object_del().
+.SS "EAPI Eina_Bool evas_object_visible_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves whether or not the given evas object is visible. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fC1\fP if the object is visible. \fC0\fP otherwise. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Group_Events.3 b/doc/man/man3/Evas_Object_Group_Events.3
new file mode 100644 (file)
index 0000000..5674543
--- /dev/null
@@ -0,0 +1,322 @@
+.TH "Object Events" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Object Events \- 
+.PP
+Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_object_event_callback_add\fP (\fBEvas_Object\fP *obj, \fBEvas_Callback_Type\fP type, Evas_Object_Event_Cb func, const void *data)"
+.br
+.RI "\fIAdd a callback function to an object. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_event_callback_del\fP (\fBEvas_Object\fP *obj, \fBEvas_Callback_Type\fP type, Evas_Object_Event_Cb func)"
+.br
+.RI "\fIDelete a callback function from an object. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_event_callback_del_full\fP (\fBEvas_Object\fP *obj, \fBEvas_Callback_Type\fP type, Evas_Object_Event_Cb func, const void *data)"
+.br
+.RI "\fIDelete a callback function from an object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_pass_events_set\fP (\fBEvas_Object\fP *obj, Eina_Bool pass)"
+.br
+.RI "\fISet an object's pass events state. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_pass_events_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIDetermine whether an object is set to pass events. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_repeat_events_set\fP (\fBEvas_Object\fP *obj, Eina_Bool repeat)"
+.br
+.RI "\fISet an object's repeat events state. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_repeat_events_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIDetermine whether an object is set to repeat events. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_propagate_events_set\fP (\fBEvas_Object\fP *obj, Eina_Bool prop)"
+.br
+.RI "\fISet whether events on a smart member object should propagate to its parent. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_propagate_events_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIDetermine whether an object is set to propagate events. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Objects generates events when they are moved, resized, when their visibility change, when they are deleted and so on. 
+
+These methods will allow one to handle such events.
+.PP
+The events can be those from keyboard and mouse, if the object accepts these events. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_object_event_callback_add (\fBEvas_Object\fP * obj, \fBEvas_Callback_Type\fP type, Evas_Object_Event_Cb func, const void * data)"
+.PP
+Add a callback function to an object. \fBParameters:\fP
+.RS 4
+\fIobj\fP Object to attach a callback to 
+.br
+\fItype\fP The type of event that will trigger the callback 
+.br
+\fIfunc\fP The function to be called when the event is triggered 
+.br
+\fIdata\fP The data pointer to be passed to \fCfunc\fP 
+.RE
+.PP
+This function adds a function callback to an object when the event of type \fCtype\fP occurs on object \fCobj\fP. The function is \fCfunc\fP.
+.PP
+In the event of a memory allocation error during addition of the callback to the object, \fBevas_alloc_error()\fP should be used to determine the nature of the error, if any, and the program should sensibly try and recover.
+.PP
+The function will be passed the pointer \fCdata\fP when it is called. A callback function must look like this:
+.PP
+.PP
+.nf
+ void callback (void *data, Evas *e, Evas_Object *obj, void *event_info);
+.fi
+.PP
+.PP
+The first parameter \fCdata\fP in this function will be the same value passed to \fBevas_object_event_callback_add()\fP as the \fCdata\fP parameter. The second parameter is a convenience for the programmer to know what evas canvas the event occurred on. The third parameter \fCobj\fP is the Object handle on which the event occurred. The foruth parameter \fCevent_info\fP is a pointer to a data structure that may or may not be passed to the callback, depending on the event type that triggered the callback.
+.PP
+The event type \fCtype\fP to trigger the function may be one of \fBEVAS_CALLBACK_MOUSE_IN\fP, \fBEVAS_CALLBACK_MOUSE_OUT\fP, \fBEVAS_CALLBACK_MOUSE_DOWN\fP, \fBEVAS_CALLBACK_MOUSE_UP\fP, \fBEVAS_CALLBACK_MOUSE_MOVE\fP, \fBEVAS_CALLBACK_MOUSE_WHEEL\fP, \fBEVAS_CALLBACK_FREE\fP, \fBEVAS_CALLBACK_KEY_DOWN\fP, \fBEVAS_CALLBACK_KEY_UP\fP, \fBEVAS_CALLBACK_FOCUS_IN\fP, \fBEVAS_CALLBACK_FOCUS_OUT\fP, \fBEVAS_CALLBACK_SHOW\fP, \fBEVAS_CALLBACK_HIDE\fP, \fBEVAS_CALLBACK_MOVE\fP, \fBEVAS_CALLBACK_RESIZE\fP or \fBEVAS_CALLBACK_RESTACK\fP. This determines the kind of event that will trigger the callback to be called. The \fCevent_info\fP pointer passed to the callback will be one of the following, depending on the event triggering it:
+.PP
+\fBEVAS_CALLBACK_MOUSE_IN\fP: event_info = pointer to Evas_Event_Mouse_In
+.PP
+This event is triggered when the mouse pointer enters the region of the object \fCobj\fP. This may occur by the mouse pointer being moved by \fBevas_event_feed_mouse_move()\fP or evas_event_feed_mouse_move_data() calls, or by the object being shown, raised, moved, resized, or other objects being moved out of the way, hidden, lowered or moved out of the way.
+.PP
+\fBEVAS_CALLBACK_MOUSE_OUT\fP: event_info = pointer to Evas_Event_Mouse_Out
+.PP
+This event is triggered exactly like \fBEVAS_CALLBACK_MOUSE_IN\fP is, but occurs when the mouse pointer exits an object. Note that no out events will be reported if the mouse pointer is implicitly grabbed to an object (the mouse buttons are down at all and any were pressed on that object). An out event will be reported as soon as the mouse is no longer grabbed (no mouse buttons are depressed). Out events will be reported once all buttons are released, if the mouse has left the object.
+.PP
+\fBEVAS_CALLBACK_MOUSE_DOWN\fP: event_info = pointer to Evas_Event_Mouse_Down
+.PP
+This event is triggered by a mouse button being depressed while over an object. If pointermode is EVAS_OBJECT_POINTER_MODE_AUTOGRAB (default) this causes this object to passively grab the mouse until all mouse buttons have been released. That means if this mouse button is the first to be pressed, all future mouse events will be reported to only this object until no buttons are down. That includes mouse move events, in and out events, and further button presses. When all buttons are released, event propagation occurs as normal.
+.PP
+\fBEVAS_CALLBACK_MOUSE_UP\fP: event_info = pointer to Evas_Event_Mouse_Up
+.PP
+This event is triggered by a mouse button being released while over an object or when passively grabbed to an object. If this is the last mouse button to be raised on an object then the passive grab is released and event processing will continue as normal.
+.PP
+\fBEVAS_CALLBACK_MOUSE_MOVE\fP: event_info = pointer to Evas_Event_Mouse_Move
+.PP
+This event is triggered by the mouse pointer moving while over an object or passively grabbed to an object.
+.PP
+\fBEVAS_CALLBACK_MOUSE_WHEEL\fP: event_info = pointer to Evas_Event_Mouse_Wheel
+.PP
+This event is triggered by the mouse wheel being rolled while over an object or passively grabbed to an object.
+.PP
+\fBEVAS_CALLBACK_FREE\fP: event_info = NULL
+.PP
+This event is triggered just before Evas is about to free all memory used by an object and remove all references to it. This is useful for programs to use if they attached data to an object and want to free it when the object is deleted. The object is still valid when this callback is called, but after this callback returns, there is no guarantee on the object's validity.
+.PP
+\fBEVAS_CALLBACK_KEY_DOWN\fP: event_info = pointer to Evas_Event_Key_Down
+.PP
+This callback is called when a key is pressed and the focus is on the object, or a key has been grabbed to a particular object which wants to intercept the key press regardless of what object has the focus.
+.PP
+\fBEVAS_CALLBACK_KEY_UP\fP: event_info = pointer to Evas_Event_Key_Up
+.PP
+This callback is called when a key is released and the focus is on the object, or a key has been grabbed to a particular object which wants to intercept the key release regardless of what object has the focus.
+.PP
+\fBEVAS_CALLBACK_FOCUS_IN\fP: event_info = NULL
+.PP
+This event is called when an object gains the focus. When the callback is called the object has already gained the focus.
+.PP
+\fBEVAS_CALLBACK_FOCUS_OUT\fP: event_info = NULL
+.PP
+This event is triggered by an object losing the focus. When the callback is called the object has already lost the focus.
+.PP
+\fBEVAS_CALLBACK_SHOW\fP: event_info = NULL
+.PP
+This event is triggered by the object being shown by \fBevas_object_show()\fP.
+.PP
+\fBEVAS_CALLBACK_HIDE\fP: event_info = NULL
+.PP
+This event is triggered by an object being hidden by \fBevas_object_hide()\fP.
+.PP
+\fBEVAS_CALLBACK_MOVE\fP: event_info = NULL
+.PP
+This event is triggered by an object being moved. \fBevas_object_move()\fP can trigger this, as can any object-specific manipulations that would mean the object's origin could move.
+.PP
+\fBEVAS_CALLBACK_RESIZE\fP: event_info = NULL
+.PP
+This event is triggered by an object being resized. Resizes can be triggered by \fBevas_object_resize()\fP or by any object-specific calls that may cause the object to resize.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas_Object *object;
+ extern void *my_data;
+ void down_callback(void *data, Evas *e, Evas_Object *obj, void *event_info);
+ void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ evas_object_event_callback_add(object, EVAS_CALLBACK_MOUSE_UP, up_callback, my_data);
+ if (evas_alloc_error() != EVAS_ALLOC_ERROR_NONE)
+   {
+     fprintf(stderr, 'ERROR: Callback registering failed! Abort!\n');
+     exit(-1);
+   }
+ evas_object_event_callback_add(object, EVAS_CALLBACK_MOUSE_DOWN, down_callback, my_data);
+ if (evas_alloc_error() != EVAS_ALLOC_ERROR_NONE)
+   {
+     fprintf(stderr, 'ERROR: Callback registering failed! Abort!\n');
+     exit(-1);
+   }
+
+.fi
+.PP
+.PP
+Referenced by evas_object_image_filled_set().
+.SS "EAPI void* evas_object_event_callback_del (\fBEvas_Object\fP * obj, \fBEvas_Callback_Type\fP type, Evas_Object_Event_Cb func)"
+.PP
+Delete a callback function from an object. \fBParameters:\fP
+.RS 4
+\fIobj\fP Object to remove a callback from 
+.br
+\fItype\fP The type of event that was triggering the callback 
+.br
+\fIfunc\fP The function that was to be called when the event was triggered 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer that was to be passed to the callback
+.RE
+.PP
+This function removes the most recently added callback from the object \fCobj\fP which was triggered by the event type \fCtype\fP and was calling the function \fCfunc\fP when triggered. If the removal is successful it will also return the data pointer that was passed to \fBevas_object_event_callback_add()\fP when the callback was added to the object. If not successful NULL will be returned.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas_Object *object;
+ void *my_data;
+ void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ my_data = evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_UP, up_callback);
+
+.fi
+.PP
+.PP
+Referenced by evas_object_image_filled_set().
+.SS "EAPI void* evas_object_event_callback_del_full (\fBEvas_Object\fP * obj, \fBEvas_Callback_Type\fP type, Evas_Object_Event_Cb func, const void * data)"
+.PP
+Delete a callback function from an object. \fBParameters:\fP
+.RS 4
+\fIobj\fP Object to remove a callback from 
+.br
+\fItype\fP The type of event that was triggering the callback 
+.br
+\fIfunc\fP The function that was to be called when the event was triggered 
+.br
+\fIdata\fP The data pointer that was to be passed to the callback 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer that was to be passed to the callback
+.RE
+.PP
+This function removes the most recently added callback from the object \fCobj\fP which was triggered by the event type \fCtype\fP and was calling the function \fCfunc\fP with data \fCdata\fP when triggered. If the removal is successful it will also return the data pointer that was passed to \fBevas_object_event_callback_add()\fP (that will be the same as the parameter) when the callback was added to the object. If not successful NULL will be returned.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas_Object *object;
+ void *my_data;
+ void up_callback(void *data, Evas *e, Evas_Object *obj, void *event_info);
+
+ my_data = evas_object_event_callback_del_full(object, EVAS_CALLBACK_MOUSE_UP, up_callback, data);
+
+.fi
+.PP
+.SS "EAPI Eina_Bool evas_object_pass_events_get (const \fBEvas_Object\fP * obj)"
+.PP
+Determine whether an object is set to pass events. \fBParameters:\fP
+.RS 4
+\fIobj\fP 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+pass events state 
+.RE
+.PP
+
+.SS "EAPI void evas_object_pass_events_set (\fBEvas_Object\fP * obj, Eina_Bool pass)"
+.PP
+Set an object's pass events state. \fBParameters:\fP
+.RS 4
+\fIobj\fP the evas object 
+.br
+\fIpass\fP whether to pass events or not
+.RE
+.PP
+If \fCpass\fP is true, this will cause events on \fCobj\fP to be ignored. They will be triggered on the next lower object (that is not set to pass events) instead.
+.PP
+If \fCpass\fP is false, events will be processed as normal. 
+.PP
+References evas_event_feed_mouse_move().
+.SS "EAPI Eina_Bool evas_object_propagate_events_get (const \fBEvas_Object\fP * obj)"
+.PP
+Determine whether an object is set to propagate events. \fBParameters:\fP
+.RS 4
+\fIobj\fP 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+propagate events state 
+.RE
+.PP
+
+.SS "EAPI void evas_object_propagate_events_set (\fBEvas_Object\fP * obj, Eina_Bool prop)"
+.PP
+Set whether events on a smart member object should propagate to its parent. \fBParameters:\fP
+.RS 4
+\fIobj\fP the smart member object 
+.br
+\fIprop\fP wheter to propagate events or not
+.RE
+.PP
+This function has no effect if \fCobj\fP is not a member of a smart object.
+.PP
+If \fCprop\fP is true, events occurring on this object will propagate on to the smart object of which \fCobj\fP is a member.
+.PP
+If \fCprop\fP is false, events for which callbacks are set on the member object, \fCobj\fP, will not be passed on to the parent smart object.
+.PP
+The default value is true. 
+.SS "EAPI Eina_Bool evas_object_repeat_events_get (const \fBEvas_Object\fP * obj)"
+.PP
+Determine whether an object is set to repeat events. \fBParameters:\fP
+.RS 4
+\fIobj\fP 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+repeat events state 
+.RE
+.PP
+
+.SS "EAPI void evas_object_repeat_events_set (\fBEvas_Object\fP * obj, Eina_Bool repeat)"
+.PP
+Set an object's repeat events state. \fBParameters:\fP
+.RS 4
+\fIobj\fP the object 
+.br
+\fIrepeat\fP wheter to repeat events or not
+.RE
+.PP
+If \fCrepeat\fP is true, this will cause events on \fCobj\fP to trigger callbacks, but also to be repeated on the next lower object in the stack.
+.PP
+If \fCrepeat\fP is false, events occurring on \fCobj\fP will be processed normally. 
+.PP
+References evas_event_feed_mouse_move().
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Group_Extras.3 b/doc/man/man3/Evas_Object_Group_Extras.3
new file mode 100644 (file)
index 0000000..7ff8e23
--- /dev/null
@@ -0,0 +1,400 @@
+.TH "Extra Object Manipulation" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Extra Object Manipulation \- 
+.PP
+Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects.  
+
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef enum \fB_Evas_Render_Op\fP \fBEvas_Render_Op\fP"
+.br
+.ti -1c
+.RI "typedef enum \fB_Evas_Object_Pointer_Mode\fP \fBEvas_Object_Pointer_Mode\fP"
+.br
+.RI "\fIHow mouse pointer should be handled by Evas. \fP"
+.in -1c
+.SS "Enumerations"
+
+.in +1c
+.ti -1c
+.RI "enum \fB_Evas_Render_Op\fP { \fBEVAS_RENDER_BLEND\fP =  0, \fBEVAS_RENDER_BLEND_REL\fP =  1, \fBEVAS_RENDER_COPY\fP =  2, \fBEVAS_RENDER_COPY_REL\fP =  3, \fBEVAS_RENDER_ADD\fP =  4, \fBEVAS_RENDER_ADD_REL\fP =  5, \fBEVAS_RENDER_SUB\fP =  6, \fBEVAS_RENDER_SUB_REL\fP =  7, \fBEVAS_RENDER_TINT\fP =  8, \fBEVAS_RENDER_TINT_REL\fP =  9, \fBEVAS_RENDER_MASK\fP =  10, \fBEVAS_RENDER_MUL\fP =  11 }"
+.br
+.RI "\fIHow the object should be rendered to output. \fP"
+.ti -1c
+.RI "enum \fB_Evas_Object_Pointer_Mode\fP { \fBEVAS_OBJECT_POINTER_MODE_AUTOGRAB\fP }"
+.br
+.RI "\fIHow mouse pointer should be handled by Evas. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_object_data_set\fP (\fBEvas_Object\fP *obj, const char *key, const void *data)"
+.br
+.RI "\fISet an attached data pointer to an object with a given string key. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_data_get\fP (const \fBEvas_Object\fP *obj, const char *key)"
+.br
+.RI "\fIReturn an attached data pointer by its given string key. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_data_del\fP (\fBEvas_Object\fP *obj, const char *key)"
+.br
+.RI "\fIDelete at attached data pointer from an object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_pointer_mode_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Object_Pointer_Mode\fP setting)"
+.br
+.RI "\fISet pointer behavior. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object_Pointer_Mode\fP \fBevas_object_pointer_mode_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIDetermine how pointer will behave. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_anti_alias_set\fP (\fBEvas_Object\fP *obj, Eina_Bool anti_alias)"
+.br
+.RI "\fISets whether or not the given evas object is to be drawn anti-aliased. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_anti_alias_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves whether or not the given evas object is to be drawn anti_aliased. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_scale_set\fP (\fBEvas_Object\fP *obj, double scale)"
+.br
+.RI "\fISets the scaling factor for an evas object. \fP"
+.ti -1c
+.RI "EAPI double \fBevas_object_scale_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the scaling factor for the given evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_render_op_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Render_Op\fP render_op)"
+.br
+.RI "\fISets the render_op to be used for rendering the evas object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Render_Op\fP \fBevas_object_render_op_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the current value of the operation used for rendering the evas object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_precise_is_inside_set\fP (\fBEvas_Object\fP *obj, Eina_Bool precise)"
+.br
+.RI "\fISet whether to use a precise (usually expensive) point collision detection. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_precise_is_inside_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIDetermine whether an object is set to use a precise point collision detection. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_static_clip_set\fP (\fBEvas_Object\fP *obj, Eina_Bool is_static_clip)"
+.br
+.RI "\fISet a hint flag on the object that this is used as a static 'clipper'. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_static_clip_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet static 'clipper' hint flag. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Miscellaneous functions that also apply to any object, but are less used or not implemented by all objects. 
+.SH "Typedef Documentation"
+.PP 
+.SS "typedef enum \fB_Evas_Object_Pointer_Mode\fP  \fBEvas_Object_Pointer_Mode\fP"
+.PP
+How mouse pointer should be handled by Evas. If \fBEVAS_OBJECT_POINTER_MODE_AUTOGRAB\fP, then when mouse is down an object, then moves outside of it, the pointer still behaves as being bound to the object, albeit out of its drawing region. On mouse up, the event will be feed to the object, that may check if the final position is over or not and do something about it. How mouse pointer should be handled by Evas. 
+.SS "typedef enum \fB_Evas_Render_Op\fP  \fBEvas_Render_Op\fP"How the object should be rendered to output. 
+.SH "Enumeration Type Documentation"
+.PP 
+.SS "enum \fB_Evas_Object_Pointer_Mode\fP"
+.PP
+How mouse pointer should be handled by Evas. If \fBEVAS_OBJECT_POINTER_MODE_AUTOGRAB\fP, then when mouse is down an object, then moves outside of it, the pointer still behaves as being bound to the object, albeit out of its drawing region. On mouse up, the event will be feed to the object, that may check if the final position is over or not and do something about it. 
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_OBJECT_POINTER_MODE_AUTOGRAB \fP\fP
+default, X11-like 
+.SS "enum \fB_Evas_Render_Op\fP"
+.PP
+How the object should be rendered to output. 
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_RENDER_BLEND \fP\fP
+default op: d = d*(1-sa) + s 
+.TP
+\fB\fIEVAS_RENDER_BLEND_REL \fP\fP
+d = d*(1 - sa) + s*da 
+.TP
+\fB\fIEVAS_RENDER_COPY \fP\fP
+d = s 
+.TP
+\fB\fIEVAS_RENDER_COPY_REL \fP\fP
+d = s*da 
+.TP
+\fB\fIEVAS_RENDER_ADD \fP\fP
+d = d + s 
+.TP
+\fB\fIEVAS_RENDER_ADD_REL \fP\fP
+d = d + s*da 
+.TP
+\fB\fIEVAS_RENDER_SUB \fP\fP
+d = d - s 
+.TP
+\fB\fIEVAS_RENDER_SUB_REL \fP\fP
+d = d - s*da 
+.TP
+\fB\fIEVAS_RENDER_TINT \fP\fP
+d = d*s + d*(1 - sa) + s*(1 - da) 
+.TP
+\fB\fIEVAS_RENDER_TINT_REL \fP\fP
+d = d*(1 - sa + s) 
+.TP
+\fB\fIEVAS_RENDER_MASK \fP\fP
+d = d*sa 
+.TP
+\fB\fIEVAS_RENDER_MUL \fP\fP
+d = d*s 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Eina_Bool evas_object_anti_alias_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves whether or not the given evas object is to be drawn anti_aliased. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+\fC1\fP if the object is to be anti_aliased. \fC0\fP otherwise. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_anti_alias_set (\fBEvas_Object\fP * obj, Eina_Bool anti_alias)"
+.PP
+Sets whether or not the given evas object is to be drawn anti-aliased. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIanti_alias\fP 1 if the object is to be anti_aliased, 0 otherwise. 
+.RE
+.PP
+
+.SS "EAPI void* evas_object_data_del (\fBEvas_Object\fP * obj, const char * key)"
+.PP
+Delete at attached data pointer from an object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The object to delete the data pointer from 
+.br
+\fIkey\fP The string key the data was stored under 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The original data pointer stored at \fCkey\fP on \fCobj\fP 
+.RE
+.PP
+This will remove thee stored data pointer from \fCobj\fP stored under \fCkey\fP, and return the original pointer stored under \fCkey\fP, if any, nor NULL if nothing was stored under that key.
+.PP
+Example:
+.PP
+.PP
+.nf
+ int *my_data;
+ extern Evas_Object *obj;
+
+ my_data = evas_object_data_del(obj, 'name_of_my_data');
+.fi
+.PP
+.PP
+Referenced by evas_object_data_set().
+.SS "EAPI void* evas_object_data_get (const \fBEvas_Object\fP * obj, const char * key)"
+.PP
+Return an attached data pointer by its given string key. \fBParameters:\fP
+.RS 4
+\fIobj\fP The object to which the data was attached 
+.br
+\fIkey\fP The string key the data was stored under 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The data pointer stored, or NULL if none was stored
+.RE
+.PP
+This function will return the data pointer attached to the object \fCobj\fP stored using the string key \fCkey\fP. If the object is valid and data was stored under the given key, the pointer that was stored will be reuturned. If this is not the case, NULL will be returned, signifying an invalid object or non-existent key. It is possible a NULL pointer was stored given that key, but this situation is non-sensical and thus can be considered an error as well. NULL pointers are never stored as this is the return value if an error occurs.
+.PP
+Example:
+.PP
+.PP
+.nf
+ int *my_data;
+ extern Evas_Object *obj;
+
+ my_data = evas_object_data_get(obj, 'name_of_my_data');
+ if (my_data) printf('Data stored was %p\n', my_data);
+ else printf('No data was stored on the object\n');
+.fi
+.PP
+.SS "EAPI void evas_object_data_set (\fBEvas_Object\fP * obj, const char * key, const void * data)"
+.PP
+Set an attached data pointer to an object with a given string key. \fBParameters:\fP
+.RS 4
+\fIobj\fP The object to attach the data pointer to 
+.br
+\fIkey\fP The string key for the data to access it 
+.br
+\fIdata\fP The ponter to the data to be attached
+.RE
+.PP
+This attaches the pointer \fCdata\fP to the object \fCobj\fP given the string \fCkey\fP. This pointer will stay 'hooked' to the object until a new pointer with the same string key is attached with \fBevas_object_data_set()\fP or it is deleted with \fBevas_object_data_del()\fP. On deletion of the object \fCobj\fP, the pointers will not be accessible from the object anymore.
+.PP
+You can find the pointer attached under a string key using \fBevas_object_data_get()\fP. It is the job of the calling application to free any data pointed to by \fCdata\fP when it is no longer required.
+.PP
+If \fCdata\fP is NULL, the old value stored at \fCkey\fP will be removed but no new value will be stored. This is synonymous with calling \fBevas_object_data_del()\fP with \fCobj\fP and \fCkey\fP.
+.PP
+Example:
+.PP
+.PP
+.nf
+ int *my_data;
+ extern Evas_Object *obj;
+
+ my_data = malloc(500);
+ evas_object_data_set(obj, 'name_of_data', my_data);
+ printf('The data that was attached was %p\n', evas_object_data_get(obj, 'name_of_data'));
+.fi
+.PP
+.PP
+References evas_object_data_del().
+.SS "EAPI \fBEvas_Object_Pointer_Mode\fP evas_object_pointer_mode_get (const \fBEvas_Object\fP * obj)"
+.PP
+Determine how pointer will behave. \fBParameters:\fP
+.RS 4
+\fIobj\fP 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+pointer behavior. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_pointer_mode_set (\fBEvas_Object\fP * obj, \fBEvas_Object_Pointer_Mode\fP setting)"
+.PP
+Set pointer behavior. \fBParameters:\fP
+.RS 4
+\fIobj\fP 
+.br
+\fIsetting\fP desired behavior.
+.RE
+.PP
+This function has direct effect on event callbacks related to mouse.
+.PP
+If \fCsetting\fP is EVAS_OBJECT_POINTER_MODE_AUTOGRAB, then when mouse is down at this object, events will be restricted to it as source, mouse moves, for example, will be emitted even if outside this object area.
+.PP
+If \fCsetting\fP is EVAS_OBJECT_POINTER_MODE_NOGRAB, then events will be emitted just when inside this object area.
+.PP
+The default value is EVAS_OBJECT_POINTER_MODE_AUTOGRAB. 
+.SS "EAPI Eina_Bool evas_object_precise_is_inside_get (const \fBEvas_Object\fP * obj)"
+.PP
+Determine whether an object is set to use a precise point collision detection. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given object. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_precise_is_inside_set (\fBEvas_Object\fP * obj, Eina_Bool precise)"
+.PP
+Set whether to use a precise (usually expensive) point collision detection. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given object. 
+.br
+\fIprecise\fP wheter to use a precise point collision detection or not The default value is false. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Render_Op\fP evas_object_render_op_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the current value of the operation used for rendering the evas object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+one of the enumerated values in Evas_Render_Op. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_render_op_set (\fBEvas_Object\fP * obj, \fBEvas_Render_Op\fP render_op)"
+.PP
+Sets the render_op to be used for rendering the evas object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIrender_op\fP one of the Evas_Render_Op values. 
+.RE
+.PP
+
+.SS "EAPI double evas_object_scale_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the scaling factor for the given evas object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The scaling factor. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_scale_set (\fBEvas_Object\fP * obj, double scale)"
+.PP
+Sets the scaling factor for an evas object. Does not affect all objects.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIscale\fP The scaling factor. 1.0 == none. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_object_static_clip_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get static 'clipper' hint flag. \fBSee also:\fP
+.RS 4
+\fBevas_object_static_clip_set()\fP
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The static clip flag (on or off) 
+.RE
+.PP
+
+.SS "EAPI void evas_object_static_clip_set (\fBEvas_Object\fP * obj, Eina_Bool is_static_clip)"
+.PP
+Set a hint flag on the object that this is used as a static 'clipper'. This is a hint to evas that this object is used as a big static clipper and shouldnt be moved with children and otherwise considered specially. The Default is off.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given object. 
+.br
+\fIis_static_clip\fP The static clip flag (on or off) 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Group_Find.3 b/doc/man/man3/Evas_Object_Group_Find.3
new file mode 100644 (file)
index 0000000..eab053f
--- /dev/null
@@ -0,0 +1,234 @@
+.TH "Finding Objects" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Finding Objects \- 
+.PP
+Functions that allows finding objects by their position, name or other properties.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_focus_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIRetrieve the object that currently has focus. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_name_find\fP (const \fBEvas\fP *e, const char *name)"
+.br
+.RI "\fIRetrieves the object on the given evas with the given name. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_top_at_xy_get\fP (const \fBEvas\fP *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)"
+.br
+.RI "\fIRetrieves the top object at the given position (x,y). \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_top_at_pointer_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIRetrieves the top object at mouse pointer position. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_top_in_rectangle_get\fP (const \fBEvas\fP *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)"
+.br
+.RI "\fIRetrieves the top object in the given rectangle region. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_objects_at_xy_get\fP (const \fBEvas\fP *e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)"
+.br
+.RI "\fIRetrieves the objects at the given position. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_objects_in_rectangle_get\fP (const \fBEvas\fP *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_bottom_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIGet the lowest evas object on the Evas \fCe\fP. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_top_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIGet the highest evas object on the Evas \fCe\fP. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that allows finding objects by their position, name or other properties. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Object\fP* evas_focus_get (const \fBEvas\fP * e)"
+.PP
+Retrieve the object that currently has focus. \fBParameters:\fP
+.RS 4
+\fIe\fP The \fCEvas\fP canvas to query focus on.
+.RE
+.PP
+Returns the object that currently has focus, NULL otherwise.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_focus_set\fP 
+.PP
+\fBevas_object_focus_get\fP 
+.PP
+evas_object_key_grab 
+.PP
+evas_object_key_ungrab
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The object that has focus or NULL is there is not one. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP* evas_object_bottom_get (const \fBEvas\fP * e)"
+.PP
+Get the lowest evas object on the Evas \fCe\fP. \fBParameters:\fP
+.RS 4
+\fIe\fP an Evas 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the lowest object 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP* evas_object_name_find (const \fBEvas\fP * e, const char * name)"
+.PP
+Retrieves the object on the given evas with the given name. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.br
+\fIname\fP The given name. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+If successful, the evas object with the given name. Otherwise, \fCNULL\fP. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP* evas_object_top_at_pointer_get (const \fBEvas\fP * e)"
+.PP
+Retrieves the top object at mouse pointer position. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The evas object that is over all others objects at the pointer position. 
+.RE
+.PP
+
+.PP
+References evas_object_top_at_xy_get().
+.SS "EAPI \fBEvas_Object\fP* evas_object_top_at_xy_get (const \fBEvas\fP * e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)"
+.PP
+Retrieves the top object at the given position (x,y). \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas object. 
+.br
+\fIx\fP The horizontal coordinate 
+.br
+\fIy\fP The vertical coordinate 
+.br
+\fIinclude_pass_events_objects\fP Boolean Flag to include or not pass events objects 
+.br
+\fIinclude_hidden_objects\fP Boolean Flag to include or not hidden objects 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The evas object that is over all others objects at the given position. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_top_at_pointer_get().
+.SS "EAPI \fBEvas_Object\fP* evas_object_top_get (const \fBEvas\fP * e)"
+.PP
+Get the highest evas object on the Evas \fCe\fP. \fBParameters:\fP
+.RS 4
+\fIe\fP an Evas 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the highest object 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP* evas_object_top_in_rectangle_get (const \fBEvas\fP * e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)"
+.PP
+Retrieves the top object in the given rectangle region. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas object. 
+.br
+\fIx\fP The horizontal coordinate. 
+.br
+\fIy\fP The vertical coordinate. 
+.br
+\fIw\fP The width size. 
+.br
+\fIh\fP The height size. 
+.br
+\fIinclude_pass_events_objects\fP Boolean Flag to include or not pass events objects 
+.br
+\fIinclude_hidden_objects\fP Boolean Flag to include or not hidden objects 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The evas object that is over all others objects at the pointer position. 
+.RE
+.PP
+
+.SS "EAPI Eina_List* evas_objects_at_xy_get (const \fBEvas\fP * e, Evas_Coord x, Evas_Coord y, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)"
+.PP
+Retrieves the objects at the given position. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas object. 
+.br
+\fIx\fP The horizontal coordinate. 
+.br
+\fIy\fP The vertical coordinate. 
+.br
+\fIinclude_pass_events_objects\fP Boolean Flag to include or not pass events objects 
+.br
+\fIinclude_hidden_objects\fP Boolean Flag to include or not hidden objects 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The list of evas objects at the pointer position. 
+.RE
+.PP
+
+.SS "EAPI Eina_List* evas_objects_in_rectangle_get (const \fBEvas\fP * e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Eina_Bool include_pass_events_objects, Eina_Bool include_hidden_objects)"
+.PP
+To be documented. FIXME: To be fixed. Retrieves the objects in the given rectangle region 
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The given evas object. 
+.br
+\fIx\fP The horizontal coordinate. 
+.br
+\fIy\fP The vertical coordinate. 
+.br
+\fIw\fP The width size. 
+.br
+\fIh\fP The height size. 
+.br
+\fIinclude_pass_events_objects\fP Boolean Flag to include or not pass events objects 
+.br
+\fIinclude_hidden_objects\fP Boolean Flag to include or not hidden objects 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The list of evas object in the rectangle region. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Group_Interceptors.3 b/doc/man/man3/Evas_Object_Group_Interceptors.3
new file mode 100644 (file)
index 0000000..2abf56b
--- /dev/null
@@ -0,0 +1,280 @@
+.TH "Object Method Interceptors" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Object Method Interceptors \- 
+.PP
+Evas provides a way to intercept method calls.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_show_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Show_Cb func, const void *data)"
+.br
+.RI "\fISet the callback function that intercepts a show event of a object. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_show_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Show_Cb func)"
+.br
+.RI "\fIUnset the callback function that intercepts a show event of a object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_hide_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Hide_Cb func, const void *data)"
+.br
+.RI "\fISet the callback function that intercepts a hide event of a object. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_hide_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Hide_Cb func)"
+.br
+.RI "\fIUnset the callback function that intercepts a hide event of a object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_move_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Move_Cb func, const void *data)"
+.br
+.RI "\fISet the callback function that intercepts a move event of a object. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_move_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Move_Cb func)"
+.br
+.RI "\fIUnset the callback function that intercepts a move event of a object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_resize_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Resize_Cb func, const void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_resize_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Resize_Cb func)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_raise_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Raise_Cb func, const void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_raise_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Raise_Cb func)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_lower_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Lower_Cb func, const void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_lower_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Lower_Cb func)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_stack_above_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Stack_Above_Cb func, const void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_stack_above_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Stack_Above_Cb func)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_stack_below_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Stack_Below_Cb func, const void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_stack_below_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Stack_Below_Cb func)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_layer_set_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Layer_Set_Cb func, const void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_layer_set_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Layer_Set_Cb func)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_color_set_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Color_Set_Cb func, const void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_color_set_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Color_Set_Cb func)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_clip_set_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Clip_Set_Cb func, const void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_clip_set_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Clip_Set_Cb func)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_intercept_clip_unset_callback_add\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Clip_Unset_Cb func, const void *data)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_intercept_clip_unset_callback_del\fP (\fBEvas_Object\fP *obj, Evas_Object_Intercept_Clip_Unset_Cb func)"
+.br
+.RI "\fITo be documented. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Evas provides a way to intercept method calls. 
+
+The interceptor callback may opt to completely deny the call, or may check and change the parameters before continuing. The continuation of an intercepted call is done by calling the intercepted call again, from inside the interceptor callback. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_object_intercept_clip_set_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Clip_Set_Cb func, const void * data)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void* evas_object_intercept_clip_set_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Clip_Set_Cb func)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_intercept_clip_unset_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Clip_Unset_Cb func, const void * data)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void* evas_object_intercept_clip_unset_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Clip_Unset_Cb func)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_intercept_color_set_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Color_Set_Cb func, const void * data)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void* evas_object_intercept_color_set_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Color_Set_Cb func)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_intercept_hide_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Hide_Cb func, const void * data)"
+.PP
+Set the callback function that intercepts a hide event of a object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas object pointer. 
+.br
+\fIfunc\fP The given function to be the callback function. 
+.br
+\fIdata\fP The data passed to the callback function.
+.RE
+.PP
+This function sets a callback function to intercepts a hide event of a canvas object.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_intercept_hide_callback_del()\fP. 
+.RE
+.PP
+
+.SS "EAPI void* evas_object_intercept_hide_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Hide_Cb func)"
+.PP
+Unset the callback function that intercepts a hide event of a object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas object pointer. 
+.br
+\fIfunc\fP The given callback function.
+.RE
+.PP
+This function sets a callback function to intercepts a hide event of a canvas object.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_intercept_hide_callback_add()\fP. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_intercept_layer_set_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Layer_Set_Cb func, const void * data)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void* evas_object_intercept_layer_set_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Layer_Set_Cb func)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_intercept_lower_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Lower_Cb func, const void * data)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void* evas_object_intercept_lower_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Lower_Cb func)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_intercept_move_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Move_Cb func, const void * data)"
+.PP
+Set the callback function that intercepts a move event of a object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas object pointer. 
+.br
+\fIfunc\fP The given function to be the callback function. 
+.br
+\fIdata\fP The data passed to the callback function.
+.RE
+.PP
+This function sets a callback function to intercepts a move event of a canvas object.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_intercept_move_callback_del()\fP. 
+.RE
+.PP
+
+.SS "EAPI void* evas_object_intercept_move_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Move_Cb func)"
+.PP
+Unset the callback function that intercepts a move event of a object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas object pointer. 
+.br
+\fIfunc\fP The given callback function.
+.RE
+.PP
+This function sets a callback function to intercepts a move event of a canvas object.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_intercept_move_callback_add()\fP. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_intercept_raise_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Raise_Cb func, const void * data)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void* evas_object_intercept_raise_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Raise_Cb func)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_intercept_resize_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Resize_Cb func, const void * data)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void* evas_object_intercept_resize_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Resize_Cb func)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_intercept_show_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Show_Cb func, const void * data)"
+.PP
+Set the callback function that intercepts a show event of a object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas object pointer. 
+.br
+\fIfunc\fP The given function to be the callback function. 
+.br
+\fIdata\fP The data passed to the callback function.
+.RE
+.PP
+This function sets a callback function to intercepts a show event of a canvas object.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_intercept_show_callback_del()\fP. 
+.RE
+.PP
+
+.SS "EAPI void* evas_object_intercept_show_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Show_Cb func)"
+.PP
+Unset the callback function that intercepts a show event of a object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas object pointer. 
+.br
+\fIfunc\fP The given callback function.
+.RE
+.PP
+This function sets a callback function to intercepts a show event of a canvas object.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_intercept_show_callback_add()\fP. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_intercept_stack_above_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Stack_Above_Cb func, const void * data)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void* evas_object_intercept_stack_above_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Stack_Above_Cb func)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_intercept_stack_below_callback_add (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Stack_Below_Cb func, const void * data)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void* evas_object_intercept_stack_below_callback_del (\fBEvas_Object\fP * obj, Evas_Object_Intercept_Stack_Below_Cb func)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Group_Map.3 b/doc/man/man3/Evas_Object_Group_Map.3
new file mode 100644 (file)
index 0000000..1635d8c
--- /dev/null
@@ -0,0 +1,51 @@
+.TH "UV Mapping (Rotation, Perspecitve, 3D...)" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+UV Mapping (Rotation, Perspecitve, 3D...) \- 
+.PP
+Evas allows different transformations to be applied to all kinds of objects.  
+
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef struct _Evas_Map \fBEvas_Map\fP"
+.br
+.RI "\fIAn opaque handle to map points. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Evas allows different transformations to be applied to all kinds of objects. 
+
+These are applied by means of UV mapping.
+.PP
+With UV mapping, one maps points in the source object to a 3D space positioning at target. This allows rotation, perspective, scale and lots of other effects, depending on the map that is used.
+.PP
+Each map point may carry a multiplier color. If properly calculated, these can do shading effects on the object, producing 3D effects.
+.PP
+As usual, Evas provides both the raw and easy to use methods. The raw methods allow developer to create its maps somewhere else, maybe load them from some file format. The easy to use methods, calculate the points given some high-level parameters, such as rotation angle, ambient light and so on.
+.PP
+\fBNote:\fP
+.RS 4
+applying mapping will reduce performance, so use with care. The impact on performance depends on engine in use. Software is quite optimized, but not as fast as OpenGL. 
+.RE
+.PP
+
+.SH "Typedef Documentation"
+.PP 
+.SS "\fBEvas_Map\fP"
+.PP
+An opaque handle to map points. \fBSee also:\fP
+.RS 4
+\fBevas_map_new()\fP 
+.PP
+\fBevas_map_free()\fP 
+.PP
+\fBevas_map_dup()\fP 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Group_Size_Hints.3 b/doc/man/man3/Evas_Object_Group_Size_Hints.3
new file mode 100644 (file)
index 0000000..f635101
--- /dev/null
@@ -0,0 +1,322 @@
+.TH "Size Hints" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Size Hints \- 
+.PP
+Objects may carry hints so another object that acts as a manager (see \fBSmart Object Functions\fP) may know how to properly position and resize the object.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_min_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *w, Evas_Coord *h)"
+.br
+.RI "\fIRetrieves the size hint for the minimum size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_min_set\fP (\fBEvas_Object\fP *obj, Evas_Coord w, Evas_Coord h)"
+.br
+.RI "\fISets the size hint for the minimum size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_max_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *w, Evas_Coord *h)"
+.br
+.RI "\fIRetrieves the size hint for the maximum size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_max_set\fP (\fBEvas_Object\fP *obj, Evas_Coord w, Evas_Coord h)"
+.br
+.RI "\fISets the size hint for the maximum size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_request_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *w, Evas_Coord *h)"
+.br
+.RI "\fIRetrieves the size request hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_request_set\fP (\fBEvas_Object\fP *obj, Evas_Coord w, Evas_Coord h)"
+.br
+.RI "\fISets the requested size hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_aspect_get\fP (const \fBEvas_Object\fP *obj, Evas_Aspect_Control *aspect, Evas_Coord *w, Evas_Coord *h)"
+.br
+.RI "\fIRetrieves the size aspect control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_aspect_set\fP (\fBEvas_Object\fP *obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h)"
+.br
+.RI "\fISets the size aspect control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_align_get\fP (const \fBEvas_Object\fP *obj, double *x, double *y)"
+.br
+.RI "\fIRetrieves the size align control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_align_set\fP (\fBEvas_Object\fP *obj, double x, double y)"
+.br
+.RI "\fISets the size align control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_weight_get\fP (const \fBEvas_Object\fP *obj, double *x, double *y)"
+.br
+.RI "\fIRetrieves the size weight control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_weight_set\fP (\fBEvas_Object\fP *obj, double x, double y)"
+.br
+.RI "\fISets the size weight control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_padding_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)"
+.br
+.RI "\fIRetrieves the size padding control hint. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_size_hint_padding_set\fP (\fBEvas_Object\fP *obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b)"
+.br
+.RI "\fISets the size padding control hint. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Objects may carry hints so another object that acts as a manager (see \fBSmart Object Functions\fP) may know how to properly position and resize the object. 
+
+The Size Hints provide a common interface that is recommended as the protocol for such information. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_object_size_hint_align_get (const \fBEvas_Object\fP * obj, double * x, double * y)"
+.PP
+Retrieves the size align control hint. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Note that if any of \fCx\fP or \fCy\fP are \fCNULL\fP, the \fCNULL\fP parameters are ignored.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIx\fP Pointer to a double in which to store the align x. 
+.br
+\fIy\fP Pointer to a double in which to store the align y. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_box_layout_flow_horizontal(), evas_object_box_layout_flow_vertical(), evas_object_box_layout_homogeneous_horizontal(), evas_object_box_layout_homogeneous_max_size_horizontal(), evas_object_box_layout_homogeneous_max_size_vertical(), evas_object_box_layout_homogeneous_vertical(), evas_object_box_layout_horizontal(), evas_object_box_layout_stack(), and evas_object_box_layout_vertical().
+.SS "EAPI void evas_object_size_hint_align_set (\fBEvas_Object\fP * obj, double x, double y)"
+.PP
+Sets the size align control hint. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Accepted values are in the 0.0 to 1.0 range, with the special value -1.0 used to specify 'justify' or 'fill' by some users. See documentation of possible users.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIx\fP Double (0.0..1.0 or -1.0) to use as align x hint. 
+.br
+\fIy\fP Double (0.0..1.0 or -1.0) to use as align y hint. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_size_hint_aspect_get (const \fBEvas_Object\fP * obj, Evas_Aspect_Control * aspect, Evas_Coord * w, Evas_Coord * h)"
+.PP
+Retrieves the size aspect control hint. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Note that if any of \fCaspect\fP, \fCw\fP or \fCh\fP are \fCNULL\fP, the \fCNULL\fP parameters are ignored.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIaspect\fP Returns the hint on how size should be calculated. 
+.br
+\fIw\fP Pointer to an integer in which to store the aspect width. 
+.br
+\fIh\fP Pointer to an integer in which to store the aspect height. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_size_hint_aspect_set (\fBEvas_Object\fP * obj, Evas_Aspect_Control aspect, Evas_Coord w, Evas_Coord h)"
+.PP
+Sets the size aspect control hint. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIaspect\fP Hint on how to calculate size. 
+.br
+\fIw\fP Integer to use as aspect width hint. 
+.br
+\fIh\fP Integer to use as aspect height hint. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_size_hint_max_get (const \fBEvas_Object\fP * obj, Evas_Coord * w, Evas_Coord * h)"
+.PP
+Retrieves the size hint for the maximum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Note that if any of \fCw\fP or \fCh\fP are \fCNULL\fP, the \fCNULL\fP parameters are ignored.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIw\fP Pointer to an integer in which to store the maximum width. 
+.br
+\fIh\fP Pointer to an integer in which to store the maximum height. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_box_layout_homogeneous_horizontal(), evas_object_box_layout_homogeneous_max_size_horizontal(), evas_object_box_layout_homogeneous_max_size_vertical(), evas_object_box_layout_homogeneous_vertical(), evas_object_box_layout_horizontal(), evas_object_box_layout_stack(), and evas_object_box_layout_vertical().
+.SS "EAPI void evas_object_size_hint_max_set (\fBEvas_Object\fP * obj, Evas_Coord w, Evas_Coord h)"
+.PP
+Sets the size hint for the maximum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Value -1 is considered unset.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIw\fP Integer to use as the maximum width hint. 
+.br
+\fIh\fP Integer to use as the maximum height hint. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_size_hint_min_get (const \fBEvas_Object\fP * obj, Evas_Coord * w, Evas_Coord * h)"
+.PP
+Retrieves the size hint for the minimum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Note that if any of \fCw\fP or \fCh\fP are \fCNULL\fP, the \fCNULL\fP parameters are ignored.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIw\fP Pointer to an integer in which to store the minimum width. 
+.br
+\fIh\fP Pointer to an integer in which to store the minimum height. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_box_layout_homogeneous_horizontal(), evas_object_box_layout_homogeneous_max_size_horizontal(), evas_object_box_layout_homogeneous_max_size_vertical(), evas_object_box_layout_homogeneous_vertical(), and evas_object_box_layout_stack().
+.SS "EAPI void evas_object_size_hint_min_set (\fBEvas_Object\fP * obj, Evas_Coord w, Evas_Coord h)"
+.PP
+Sets the size hint for the minimum size. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Value 0 is considered unset.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIw\fP Integer to use as the minimum width hint. 
+.br
+\fIh\fP Integer to use as the minimum height hint. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_box_layout_flow_horizontal(), evas_object_box_layout_flow_vertical(), evas_object_box_layout_homogeneous_horizontal(), evas_object_box_layout_homogeneous_max_size_horizontal(), evas_object_box_layout_homogeneous_max_size_vertical(), evas_object_box_layout_homogeneous_vertical(), evas_object_box_layout_horizontal(), evas_object_box_layout_stack(), and evas_object_box_layout_vertical().
+.SS "EAPI void evas_object_size_hint_padding_get (const \fBEvas_Object\fP * obj, Evas_Coord * l, Evas_Coord * r, Evas_Coord * t, Evas_Coord * b)"
+.PP
+Retrieves the size padding control hint. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Note that if any of \fCl\fP, \fCr\fP, \fCt\fP or \fCb\fP are \fCNULL\fP, the \fCNULL\fP parameters are ignored.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIl\fP Pointer to an integer in which to store left padding. 
+.br
+\fIr\fP Pointer to an integer in which to store right padding. 
+.br
+\fIt\fP Pointer to an integer in which to store top padding. 
+.br
+\fIb\fP Pointer to an integer in which to store bottom padding. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_box_layout_flow_horizontal(), evas_object_box_layout_flow_vertical(), evas_object_box_layout_homogeneous_horizontal(), evas_object_box_layout_homogeneous_max_size_horizontal(), evas_object_box_layout_homogeneous_max_size_vertical(), evas_object_box_layout_homogeneous_vertical(), evas_object_box_layout_horizontal(), evas_object_box_layout_stack(), and evas_object_box_layout_vertical().
+.SS "EAPI void evas_object_size_hint_padding_set (\fBEvas_Object\fP * obj, Evas_Coord l, Evas_Coord r, Evas_Coord t, Evas_Coord b)"
+.PP
+Sets the size padding control hint. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIl\fP Integer to specify left padding. 
+.br
+\fIr\fP Integer to specify right padding. 
+.br
+\fIt\fP Integer to specify top padding. 
+.br
+\fIb\fP Integer to specify bottom padding. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_size_hint_request_get (const \fBEvas_Object\fP * obj, Evas_Coord * w, Evas_Coord * h)"
+.PP
+Retrieves the size request hint. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Note that if any of \fCw\fP or \fCh\fP are \fCNULL\fP, the \fCNULL\fP parameters are ignored.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIw\fP Pointer to an integer in which to store the requested width. 
+.br
+\fIh\fP Pointer to an integer in which to store the requested height. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_size_hint_request_set (\fBEvas_Object\fP * obj, Evas_Coord w, Evas_Coord h)"
+.PP
+Sets the requested size hint. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Value 0 is considered unset.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIw\fP Integer to use as the preferred width hint. 
+.br
+\fIh\fP Integer to use as the preferred height hint. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_size_hint_weight_get (const \fBEvas_Object\fP * obj, double * x, double * y)"
+.PP
+Retrieves the size weight control hint. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+Note that if any of \fCx\fP or \fCy\fP are \fCNULL\fP, the \fCNULL\fP parameters are ignored.
+.PP
+Accepted values are zero or positive values. Some users might use this hint as a boolean, but some might consider it as a proportion, see documentation of possible users.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIx\fP Pointer to a double in which to store the weight x. 
+.br
+\fIy\fP Pointer to a double in which to store the weight y. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_box_layout_horizontal(), and evas_object_box_layout_vertical().
+.SS "EAPI void evas_object_size_hint_weight_set (\fBEvas_Object\fP * obj, double x, double y)"
+.PP
+Sets the size weight control hint. This is not a size enforcement in any way, it's just a hint that should be used whenever appropriate.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas object. 
+.br
+\fIx\fP Double (0.0-1.0) to use as weight x hint. 
+.br
+\fIy\fP Double (0.0-1.0) to use as weight y hint. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Image.3 b/doc/man/man3/Evas_Object_Image.3
new file mode 100644 (file)
index 0000000..e4681fa
--- /dev/null
@@ -0,0 +1,1110 @@
+.TH "Image Object Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Image Object Functions \- 
+.PP
+Functions used to create and manipulate image objects.  
+
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef enum \fB_Evas_Colorspace\fP \fBEvas_Colorspace\fP"
+.br
+.RI "\fIColorspaces for pixel data supported by Evas. \fP"
+.in -1c
+.SS "Enumerations"
+
+.in +1c
+.ti -1c
+.RI "enum \fB_Evas_Colorspace\fP { \fBEVAS_COLORSPACE_ARGB8888\fP, \fBEVAS_COLORSPACE_YCBCR422P601_PL\fP, \fBEVAS_COLORSPACE_YCBCR422P709_PL\fP, \fBEVAS_COLORSPACE_RGB565_A5P\fP, \fBEVAS_COLORSPACE_GRY8\fP }"
+.br
+.RI "\fIColorspaces for pixel data supported by Evas. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_image_add\fP (\fBEvas\fP *e)"
+.br
+.RI "\fICreates a new image object on the given evas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_image_filled_add\fP (\fBEvas\fP *e)"
+.br
+.RI "\fICreates a new image object that automatically scales on the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_memfile_set\fP (\fBEvas_Object\fP *obj, void *data, int size, char *format, char *key)"
+.br
+.RI "\fISets the data for an image from memory to be loaded. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_file_set\fP (\fBEvas_Object\fP *obj, const char *file, const char *key)"
+.br
+.RI "\fISets the filename and key of the given image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_file_get\fP (const \fBEvas_Object\fP *obj, const char **file, const char **key)"
+.br
+.RI "\fIRetrieves the filename and key of the given image object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_source_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Object\fP *src)"
+.br
+.RI "\fISet the source object on a proxy object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_image_source_get\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the current source object of an image. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_source_unset\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIClear the source on a proxy image. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_border_set\fP (\fBEvas_Object\fP *obj, int l, int r, int t, int b)"
+.br
+.RI "\fISets how much of each border of the given image object is not to be scaled. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_border_get\fP (const \fBEvas_Object\fP *obj, int *l, int *r, int *t, int *b)"
+.br
+.RI "\fIRetrieves how much of each border of the given image object is not to be scaled. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_border_center_fill_set\fP (\fBEvas_Object\fP *obj, Evas_Border_Fill_Mode fill)"
+.br
+.RI "\fISets if the center part of the given image object (not the border) should be drawn. \fP"
+.ti -1c
+.RI "EAPI Evas_Border_Fill_Mode \fBevas_object_image_border_center_fill_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves if the center of the given image object is to be drawn or not. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_filled_set\fP (\fBEvas_Object\fP *obj, Eina_Bool setting)"
+.br
+.RI "\fISets if image fill property should track object size. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_filled_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves if image fill property is tracking object size. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_border_scale_set\fP (\fBEvas_Object\fP *obj, double scale)"
+.br
+.RI "\fISets a scale factor (multiplier) for the borders of an image. \fP"
+.ti -1c
+.RI "EAPI double \fBevas_object_image_border_scale_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the border scale factor. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_fill_set\fP (\fBEvas_Object\fP *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)"
+.br
+.RI "\fISets the rectangle of the given image object that the image will be drawn to. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_fill_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)"
+.br
+.RI "\fIRetrieves the dimensions of the rectangle of the given image object that the image will be drawn to. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_fill_spread_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Fill_Spread\fP spread)"
+.br
+.RI "\fISets the tiling mode for the given evas image object's fill. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Fill_Spread\fP \fBevas_object_image_fill_spread_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the spread (tiling mode) for the given image object's fill. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_size_set\fP (\fBEvas_Object\fP *obj, int w, int h)"
+.br
+.RI "\fISets the size of the given image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_size_get\fP (const \fBEvas_Object\fP *obj, int *w, int *h)"
+.br
+.RI "\fIRetrieves the size of the given image object. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_object_image_stride_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the row stride of the given image object,. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Load_Error\fP \fBevas_object_image_load_error_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves a number representing any error that occurred during the last load of the given image object. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_image_data_convert\fP (\fBEvas_Object\fP *obj, \fBEvas_Colorspace\fP to_cspace)"
+.br
+.RI "\fIConverts the raw image data of the given image object to the specified colorspace. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_data_set\fP (\fBEvas_Object\fP *obj, void *data)"
+.br
+.RI "\fISets the raw image data of the given image object. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_image_data_get\fP (const \fBEvas_Object\fP *obj, Eina_Bool for_writing)"
+.br
+.RI "\fIGet a pointer to the raw image data of the given image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_preload\fP (\fBEvas_Object\fP *obj, Eina_Bool cancel)"
+.br
+.RI "\fIPreload image in the background. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_data_copy_set\fP (\fBEvas_Object\fP *obj, void *data)"
+.br
+.RI "\fIReplaces the raw image data of the given image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_data_update_add\fP (\fBEvas_Object\fP *obj, int x, int y, int w, int h)"
+.br
+.RI "\fIMark a sub-region of the given image object to be redrawn. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_alpha_set\fP (\fBEvas_Object\fP *obj, Eina_Bool has_alpha)"
+.br
+.RI "\fIEnable or disable alpha channel of the given image object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_alpha_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the alpha channel setting of the given image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_smooth_scale_set\fP (\fBEvas_Object\fP *obj, Eina_Bool smooth_scale)"
+.br
+.RI "\fISets whether to use of high-quality image scaling algorithm of the given image object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_smooth_scale_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves whether the given image object is using use a high-quality image scaling algorithm. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_reload\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIReload a image of the canvas. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_save\fP (const \fBEvas_Object\fP *obj, const char *file, const char *key, const char *flags)"
+.br
+.RI "\fISave the given image object to a file. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_pixels_import\fP (\fBEvas_Object\fP *obj, \fBEvas_Pixel_Import_Source\fP *pixels)"
+.br
+.RI "\fIImport pixels from given source to a given canvas image object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_pixels_get_callback_set\fP (\fBEvas_Object\fP *obj, Evas_Object_Image_Pixels_Get_Cb func, void *data)"
+.br
+.RI "\fISet the callback function to get pixels from a canva's image. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_pixels_dirty_set\fP (\fBEvas_Object\fP *obj, Eina_Bool dirty)"
+.br
+.RI "\fIMark whether the given image object is dirty (needs to be redrawn). \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_image_pixels_dirty_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves whether the given image object is dirty (needs to be redrawn). \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_load_dpi_set\fP (\fBEvas_Object\fP *obj, double dpi)"
+.br
+.RI "\fISet the dpi resolution of a loaded image of the canvas. \fP"
+.ti -1c
+.RI "EAPI double \fBevas_object_image_load_dpi_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the dpi resolution of a loaded image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_load_size_set\fP (\fBEvas_Object\fP *obj, int w, int h)"
+.br
+.RI "\fISet the size of a loaded image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_load_size_get\fP (const \fBEvas_Object\fP *obj, int *w, int *h)"
+.br
+.RI "\fIGet the size of a loaded image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_load_scale_down_set\fP (\fBEvas_Object\fP *obj, int scale_down)"
+.br
+.RI "\fISet the scale down of a loaded image of the canvas. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_object_image_load_scale_down_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the scale down value of given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_colorspace_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Colorspace\fP cspace)"
+.br
+.RI "\fISet the colorspace of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Colorspace\fP \fBevas_object_image_colorspace_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the colorspace of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_native_surface_set\fP (\fBEvas_Object\fP *obj, \fBEvas_Native_Surface\fP *surf)"
+.br
+.RI "\fISet the native surface of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Native_Surface\fP * \fBevas_object_image_native_surface_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the native surface of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_scale_hint_set\fP (\fBEvas_Object\fP *obj, Evas_Image_Scale_Hint hint)"
+.br
+.RI "\fISet the scale hint of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI Evas_Image_Scale_Hint \fBevas_object_image_scale_hint_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the scale hint of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_content_hint_set\fP (\fBEvas_Object\fP *obj, Evas_Image_Content_Hint hint)"
+.br
+.RI "\fISet the content hint of a given image of the canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_image_alpha_mask_set\fP (\fBEvas_Object\fP *obj, Eina_Bool ismask)"
+.br
+.RI "\fIEnable an image to be used as an alpha mask. \fP"
+.ti -1c
+.RI "EAPI Evas_Image_Content_Hint \fBevas_object_image_content_hint_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the content hint of a given image of the canvas. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions used to create and manipulate image objects. 
+
+Note - Image objects may return or accept 'image data' in multiple formats. This is based on the colorspace of an object. Here is a rundown on formats:
+.PP
+EVAS_COLORSPACE_ARGB8888:
+.PP
+This pixel format is a linear block of pixels, starting at the top-left row by row until the bottom right of the image or pixel region. All pixels are 32-bit unsigned int's with the high-byte being alpha and the low byte being blue in the format ARGB. Alpha may or may not be used by evas depending on the alpha flag of the image, but if not used, should be set to 0xff anyway.
+.PP
+This colorspace uses premultiplied alpha. That means that R, G and B cannot exceed A in value. The conversion from non-premultiplied colorspace is:
+.PP
+R = (r * a) / 255; G = (g * a) / 255; B = (b * a) / 255;
+.PP
+So 50% transparent blue will be: 0x80000080. This will not be 'dark' - just 50% transparent. Values are 0 == black, 255 == solid or full red, green or blue.
+.PP
+EVAS_COLORSPACE_YCBCR422P601_PL:
+.PP
+This is a pointer-list indirected set of YUV (YCbCr) pixel data. This means that the data returned or set is not actual pixel data, but pointers TO lines of pixel data. The list of pointers will first be N rows of pointers to the Y plane - pointing to the first pixel at the start of each row in the Y plane. N is the height of the image data in pixels. Each pixel in the Y, U and V planes is 1 byte exactly, packed. The next N / 2 pointers will point to rows in the U plane, and the next N / 2 pointers will point to the V plane rows. U and V planes are half the horizontal and vertical resolution of the Y plane.
+.PP
+Row order is top to bottom and row pixels are stored left to right.
+.PP
+There is a limitation that these images MUST be a multiple of 2 pixels in size horizontally or vertically. This is due to the U and V planes being half resolution. Also note that this assumes the itu601 YUV colorspace specification. This is defined for standard television and mpeg streams. HDTV may use the itu709 specification.
+.PP
+Values are 0 to 255, indicating full or no signal in that plane respectively.
+.PP
+EVAS_COLORSPACE_YCBCR422P709_PL:
+.PP
+Not implemented yet.
+.PP
+EVAS_COLORSPACE_RGB565_A5P:
+.PP
+In the process of being implemented in 1 engine only. This may change.
+.PP
+This is a pointer to image data for 16-bit half-word pixel data in 16bpp RGB 565 format (5 bits red, 6 bits green, 5 bits blue), with the high-byte containing red and the low byte containing blue, per pixel. This data is packed row by row from the top-left to the bottom right.
+.PP
+If the image has an alpha channel enabled there will be an extra alpha plane after the color pixel plane. If not, then this data will not exist and should not be accessed in any way. This plane is a set of pixels with 1 byte per pixel defining the alpha values of all pixels in the image from the top-left to the bottom right of the image, row by row. Even though the values of the alpha pixels can be 0 to 255, only values 0 through to 32 are used, 32 being solid and 0 being transparent.
+.PP
+RGB values can be 0 to 31 for red and blue and 0 to 63 for green, with 0 being black and 31 or 63 being full red, green or blue respectively. This colorspace is also pre-multiplied like EVAS_COLORSPACE_ARGB8888 so:
+.PP
+R = (r * a) / 32; G = (g * a) / 32; B = (b * a) / 32;
+.PP
+EVAS_COLORSPACE_A8:
+.PP
+The image is just a alpha mask (8 bit's per pixel). This is used for alpha masking. 
+.SH "Typedef Documentation"
+.PP 
+.SS "typedef enum \fB_Evas_Colorspace\fP  \fBEvas_Colorspace\fP"
+.PP
+Colorspaces for pixel data supported by Evas. Colorspaces for pixel data supported by Evas 
+.SH "Enumeration Type Documentation"
+.PP 
+.SS "enum \fB_Evas_Colorspace\fP"
+.PP
+Colorspaces for pixel data supported by Evas. 
+.PP
+\fBEnumerator: \fP
+.in +1c
+.TP
+\fB\fIEVAS_COLORSPACE_ARGB8888 \fP\fP
+ARGB 32 bits per pixel, high-byte is Alpha, accessed 1 32bit word at a time. 
+.TP
+\fB\fIEVAS_COLORSPACE_YCBCR422P601_PL \fP\fP
+YCbCr 4:2:2 Planar, ITU.BT-601 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows 
+.TP
+\fB\fIEVAS_COLORSPACE_YCBCR422P709_PL \fP\fP
+YCbCr 4:2:2 Planar, ITU.BT-709 specifications. The data poitned to is just an array of row pointer, pointing to the Y rows, then the Cb, then Cr rows 
+.TP
+\fB\fIEVAS_COLORSPACE_RGB565_A5P \fP\fP
+16bit rgb565 + Alpha plane at end - 5 bits of the 8 being used per alpha byte 
+.TP
+\fB\fIEVAS_COLORSPACE_GRY8 \fP\fP
+8bit grayscale 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Object\fP* evas_object_image_add (\fBEvas\fP * e)"
+.PP
+Creates a new image object on the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The created image object. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_image_filled_add().
+.SS "EAPI Eina_Bool evas_object_image_alpha_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the alpha channel setting of the given image object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Whether the alpha channel data is being used.
+.RE
+.PP
+This function returns 1 if the image object's alpha channel is being used, or 0 otherwise.
+.PP
+See \fBevas_object_image_alpha_set\fP for more details. 
+.SS "EAPI void evas_object_image_alpha_mask_set (\fBEvas_Object\fP * obj, Eina_Bool ismask)"
+.PP
+Enable an image to be used as an alpha mask. This will set any flags, and discard any excess image data not used as an alpha mask.
+.PP
+Note there is little point in using a image as alpha mask unless it has an alpha channel.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP Object to use as an alpha mask. 
+.br
+\fIismask\fP Use image as alphamask, must be true. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_alpha_set (\fBEvas_Object\fP * obj, Eina_Bool has_alpha)"
+.PP
+Enable or disable alpha channel of the given image object. This function sets a flag on an image object indicating whether or not to use alpha channel data. A value of 1 indicates to use alpha channel data, and 0 indicates to ignore any alpha channel data. Note that this has nothing to do with an object's color as manipulated by \fBevas_object_color_set()\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIhas_alpha\fP Whether to use alpha channel data or not. 
+.RE
+.PP
+
+.PP
+References evas_object_image_data_update_add().
+.PP
+Referenced by evas_object_image_memfile_set().
+.SS "EAPI Evas_Border_Fill_Mode evas_object_image_border_center_fill_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves if the center of the given image object is to be drawn or not. See \fBevas_object_image_fill_set\fP for more details.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Fill mode of the center. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_border_center_fill_set (\fBEvas_Object\fP * obj, Evas_Border_Fill_Mode fill)"
+.PP
+Sets if the center part of the given image object (not the border) should be drawn. When rendering, the image may be scaled to fit the size of the image object. This function sets if the center part of the scaled image is to be drawn or left completely blank, or forced to be solid. Very useful for frames and decorations.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIfill\fP Fill mode of the middle. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_border_get (const \fBEvas_Object\fP * obj, int * l, int * r, int * t, int * b)"
+.PP
+Retrieves how much of each border of the given image object is not to be scaled. See \fBevas_object_image_border_set\fP for more details.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIl\fP Location to store the left border width in, or NULL. 
+.br
+\fIr\fP Location to store the right border width in, or NULL. 
+.br
+\fIt\fP Location to store the top border width in, or NULL. 
+.br
+\fIb\fP Location to store the bottom border width in, or NULL. 
+.RE
+.PP
+
+.SS "EAPI double evas_object_image_border_scale_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the border scale factor. See \fBevas_object_image_border_scale_set()\fP
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The scale factor 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_border_scale_set (\fBEvas_Object\fP * obj, double scale)"
+.PP
+Sets a scale factor (multiplier) for the borders of an image. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIscale\fP The scale factor (default is 1.0 - i.e. no scale) 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_border_set (\fBEvas_Object\fP * obj, int l, int r, int t, int b)"
+.PP
+Sets how much of each border of the given image object is not to be scaled. When rendering, the image may be scaled to fit the size of the image object. This function sets what area around the border of the image is not to be scaled. This sort of function is useful for widget theming, where, for example, buttons may be of varying sizes, but the border size must remain constant.
+.PP
+The units used for \fCl\fP, \fCr\fP, \fCt\fP and \fCb\fP are output units.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIl\fP Distance of the left border that is not to be stretched. 
+.br
+\fIr\fP Distance of the right border that is not to be stretched. 
+.br
+\fIt\fP Distance of the top border that is not to be stretched. 
+.br
+\fIb\fP Distance of the bottom border that is not to be stretched. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Colorspace\fP evas_object_image_colorspace_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the colorspace of a given image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object pointer. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The colorspace of the image.
+.RE
+.PP
+This function returns the colorspace of given canvas image. 
+.SS "EAPI void evas_object_image_colorspace_set (\fBEvas_Object\fP * obj, \fBEvas_Colorspace\fP cspace)"
+.PP
+Set the colorspace of a given image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object pointer. 
+.br
+\fIcspace\fP The new color space.
+.RE
+.PP
+This function sets the colorspace of given canvas image. 
+.SS "EAPI Evas_Image_Content_Hint evas_object_image_content_hint_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the content hint of a given image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas pointer.
+.RE
+.PP
+This function returns the content hint value of the given image of the canvas. 
+.SS "EAPI void evas_object_image_content_hint_set (\fBEvas_Object\fP * obj, Evas_Image_Content_Hint hint)"
+.PP
+Set the content hint of a given image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas pointer. 
+.br
+\fIhint\fP The content hint value.
+.RE
+.PP
+This function sets the content hint value of the given image of the canvas. 
+.SS "EAPI void* evas_object_image_data_convert (\fBEvas_Object\fP * obj, \fBEvas_Colorspace\fP to_cspace)"
+.PP
+Converts the raw image data of the given image object to the specified colorspace. Note that this function does not modify the raw image data. If the requested colorspace is the same as the image colorspace nothing is done and NULL is returned. You should use \fBevas_object_image_colorspace_get()\fP to check the current image colorspace.
+.PP
+See \fBevas_object_image_colorspace_get\fP.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIto_cspace\fP The colorspace to which the image raw data will be converted. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+data A newly allocated data in the format specified by to_cspace. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_data_copy_set (\fBEvas_Object\fP * obj, void * data)"
+.PP
+Replaces the raw image data of the given image object. This function lets the application replace an image object's internal pixel buffer with a user-allocated one. For best results, you should generally first call \fBevas_object_image_size_set()\fP with the width and height for the new buffer.
+.PP
+This call is best suited for when you will be using image data with different dimensions than the existing image data, if any. If you only need to modify the existing image in some fashion, then using \fBevas_object_image_data_get()\fP is probably what you are after.
+.PP
+Note that the caller is responsible for freeing the buffer when finished with it, as user-set image data will not be automatically freed when the image object is deleted.
+.PP
+See \fBevas_object_image_data_get\fP for more details.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIdata\fP The raw data. 
+.RE
+.PP
+
+.SS "EAPI void* evas_object_image_data_get (const \fBEvas_Object\fP * obj, Eina_Bool for_writing)"
+.PP
+Get a pointer to the raw image data of the given image object. This function returns a pointer to an image object's internal pixel buffer, for reading only or read/write. If you request it for writing, the image will be marked dirty so that it gets redrawn at the next update.
+.PP
+This is best suited when you want to modify an existing image, without changing its dimensions.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIfor_writing\fP Whether the data being retrieved will be modified. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The raw image data. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_data_set (\fBEvas_Object\fP * obj, void * data)"
+.PP
+Sets the raw image data of the given image object. Note that the raw data must be of the same size and colorspace of the image. If data is NULL the current image data will be freed.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIdata\fP The raw data, or NULL. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_data_update_add (\fBEvas_Object\fP * obj, int x, int y, int w, int h)"
+.PP
+Mark a sub-region of the given image object to be redrawn. This function schedules a particular rectangular region of an image object to be updated (redrawn) at the next render.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIx\fP X-offset of the region to be updated. 
+.br
+\fIy\fP Y-offset of the region to be updated. 
+.br
+\fIw\fP Width of the region to be updated. 
+.br
+\fIh\fP Height of the region to be updated. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_image_alpha_set().
+.SS "EAPI void evas_object_image_file_get (const \fBEvas_Object\fP * obj, const char ** file, const char ** key)"
+.PP
+Retrieves the filename and key of the given image object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIfile\fP Location to store the image filename, or NULL. 
+.br
+\fIkey\fP Location to store the image key, or NULL. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_file_set (\fBEvas_Object\fP * obj, const char * file, const char * key)"
+.PP
+Sets the filename and key of the given image object. If the file supports multiple data stored in it as eet, you can specify the key to be used as the index of the image in this file.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIfile\fP The image filename. 
+.br
+\fIkey\fP The image key in file, or NULL. 
+.RE
+.PP
+
+.PP
+References EVAS_LOAD_ERROR_NONE.
+.PP
+Referenced by evas_object_image_memfile_set(), and evas_object_image_source_set().
+.SS "EAPI void evas_object_image_fill_get (const \fBEvas_Object\fP * obj, Evas_Coord * x, Evas_Coord * y, Evas_Coord * w, Evas_Coord * h)"
+.PP
+Retrieves the dimensions of the rectangle of the given image object that the image will be drawn to. See \fBevas_object_image_fill_set\fP for more details.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIx\fP Location to store the X coordinate for the top left corner of the image in, or NULL. 
+.br
+\fIy\fP Location to store the Y coordinate for the top left corner of the image in, or NULL. 
+.br
+\fIw\fP Location to store the width of the image in, or NULL. 
+.br
+\fIh\fP Location to store the height of the image in, or NULL. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_fill_set (\fBEvas_Object\fP * obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)"
+.PP
+Sets the rectangle of the given image object that the image will be drawn to. Note that the image will be tiled around this one rectangle. To have only one copy of the image drawn, \fCx\fP and \fCy\fP must be 0 and \fCw\fP and \fCh\fP need to be the width and height of the image object respectively.
+.PP
+The default values for the fill parameters is \fCx\fP = 0, \fCy\fP = 0, \fCw\fP = 32 and \fCh\fP = 32.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIx\fP The X coordinate for the top left corner of the image. 
+.br
+\fIy\fP The Y coordinate for the top left corner of the image. 
+.br
+\fIw\fP The width of the image. 
+.br
+\fIh\fP The height of the image. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_image_filled_set().
+.SS "EAPI \fBEvas_Fill_Spread\fP evas_object_image_fill_spread_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the spread (tiling mode) for the given image object's fill. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas image object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The current spread mode of the image object. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_fill_spread_set (\fBEvas_Object\fP * obj, \fBEvas_Fill_Spread\fP spread)"
+.PP
+Sets the tiling mode for the given evas image object's fill. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas image object. 
+.br
+\fIspread\fP One of EVAS_TEXTURE_REFLECT, EVAS_TEXTURE_REPEAT, EVAS_TEXTURE_RESTRICT, or EVAS_TEXTURE_PAD. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP* evas_object_image_filled_add (\fBEvas\fP * e)"
+.PP
+Creates a new image object that automatically scales on the given evas. This is a helper around \fBevas_object_image_add()\fP and \fBevas_object_image_filled_set()\fP, it will track object resizes and apply \fBevas_object_image_fill_set()\fP with the new geometry.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_image_add()\fP 
+.PP
+\fBevas_object_image_filled_set()\fP 
+.PP
+\fBevas_object_image_fill_set()\fP 
+.RE
+.PP
+
+.PP
+References evas_object_image_add(), and evas_object_image_filled_set().
+.SS "EAPI Eina_Bool evas_object_image_filled_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves if image fill property is tracking object size. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if it is tracking, 0 if not and evas_object_fill_set() must be called manually. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_filled_set (\fBEvas_Object\fP * obj, Eina_Bool setting)"
+.PP
+Sets if image fill property should track object size. If set to true, then every \fBevas_object_resize()\fP will automatically trigger call to \fBevas_object_image_fill_set()\fP with the new size so image will fill the whole object area.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIsetting\fP whether to follow object size.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_image_filled_add()\fP 
+.PP
+\fBevas_object_image_fill_set()\fP 
+.RE
+.PP
+
+.PP
+References EVAS_CALLBACK_RESIZE, evas_object_event_callback_add(), evas_object_event_callback_del(), evas_object_geometry_get(), and evas_object_image_fill_set().
+.PP
+Referenced by evas_object_image_filled_add().
+.SS "EAPI double evas_object_image_load_dpi_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the dpi resolution of a loaded image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas pointer. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The dpi resolution of the given canvas image.
+.RE
+.PP
+This function returns the dpi resolution of given canvas image. 
+.SS "EAPI void evas_object_image_load_dpi_set (\fBEvas_Object\fP * obj, double dpi)"
+.PP
+Set the dpi resolution of a loaded image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas pointer. 
+.br
+\fIdpi\fP The new dpi resolution.
+.RE
+.PP
+This function set the dpi resolution of a given loaded canvas image. 
+.SS "EAPI \fBEvas_Load_Error\fP evas_object_image_load_error_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves a number representing any error that occurred during the last load of the given image object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A value giving the last error that occurred. It should be one of the \fCEVAS_LOAD_ERROR_*\fP values. \fCEVAS_LOAD_ERROR_NONE\fP is returned if there was no error. 
+.RE
+.PP
+
+.SS "EAPI int evas_object_image_load_scale_down_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the scale down value of given image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object pointer.
+.RE
+.PP
+This function returns the scale down value of a given canvas image. 
+.SS "EAPI void evas_object_image_load_scale_down_set (\fBEvas_Object\fP * obj, int scale_down)"
+.PP
+Set the scale down of a loaded image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas pointer. 
+.br
+\fIscale_down\fP The scale to down value.
+.RE
+.PP
+This function sets the scale down of a given canvas image. 
+.SS "EAPI void evas_object_image_load_size_get (const \fBEvas_Object\fP * obj, int * w, int * h)"
+.PP
+Get the size of a loaded image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas object. 
+.br
+\fIw\fP The width of the canvas image given. 
+.br
+\fIh\fP The height of the canvas image given.
+.RE
+.PP
+This function get the size of the given canvas image. 
+.SS "EAPI void evas_object_image_load_size_set (\fBEvas_Object\fP * obj, int w, int h)"
+.PP
+Set the size of a loaded image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas object. 
+.br
+\fIw\fP The new width of the canvas image given. 
+.br
+\fIh\fP The new height of the canvas image given.
+.RE
+.PP
+This function sets a new size for the given canvas image. 
+.SS "EAPI void evas_object_image_memfile_set (\fBEvas_Object\fP * obj, void * data, int size, char * format, char * key)"
+.PP
+Sets the data for an image from memory to be loaded. This is the same as \fBevas_object_image_file_set()\fP but the file to be loaded may exist at an address in memory (the data for the file, not the filename itself). The \fCdata\fP at the address is copied and stored for future use, so no \fCdata\fP needs to be kept after this call is made. It will be managed and freed for you when no longer needed. The \fCsize\fP is limited to 2 gigabytes in size, and must be greater than 0. A NULL \fCdata\fP pointer is also invalid. Set the filename to NULL to reset to empty state and have the image file data freed from memory using \fBevas_object_image_file_set()\fP.
+.PP
+The \fCformat\fP is optional (pass NULL if you don't need/use it). It is used to help Evas guess better which loader to use for the data. It may simply be the 'extension' of the file as it would normally be on disk such as 'jpg' or 'png' or 'gif' etc.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIdata\fP The image file data address 
+.br
+\fIsize\fP The size of the image file data in bytes 
+.br
+\fIformat\fP The format of the file (optional), or NULL if not needed 
+.br
+\fIkey\fP The image key in file, or NULL. 
+.RE
+.PP
+
+.PP
+References evas_object_image_alpha_set(), and evas_object_image_file_set().
+.SS "EAPI \fBEvas_Native_Surface\fP* evas_object_image_native_surface_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the native surface of a given image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas pointer. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The native surface of the given canvas image.
+.RE
+.PP
+This function returns the native surface of a given canvas image. 
+.SS "EAPI void evas_object_image_native_surface_set (\fBEvas_Object\fP * obj, \fBEvas_Native_Surface\fP * surf)"
+.PP
+Set the native surface of a given image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas pointer. 
+.br
+\fIsurf\fP The new native surface.
+.RE
+.PP
+This function sets a native surface of a given canvas image. 
+.SS "EAPI Eina_Bool evas_object_image_pixels_dirty_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves whether the given image object is dirty (needs to be redrawn). \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Whether the image is dirty. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_pixels_dirty_set (\fBEvas_Object\fP * obj, Eina_Bool dirty)"
+.PP
+Mark whether the given image object is dirty (needs to be redrawn). \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIdirty\fP Whether the image is dirty. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_pixels_get_callback_set (\fBEvas_Object\fP * obj, Evas_Object_Image_Pixels_Get_Cb func, void * data)"
+.PP
+Set the callback function to get pixels from a canva's image. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas pointer. 
+.br
+\fIfunc\fP The callback function. 
+.br
+\fIdata\fP The data pointer to be passed to \fIfunc\fP.
+.RE
+.PP
+This functions sets a function to be the callback function that get pixes from a image of the canvas. 
+.SS "EAPI Eina_Bool evas_object_image_pixels_import (\fBEvas_Object\fP * obj, \fBEvas_Pixel_Import_Source\fP * pixels)"
+.PP
+Import pixels from given source to a given canvas image object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas object. 
+.br
+\fIpixels\fP The pixel's source to be imported.
+.RE
+.PP
+This function imports pixels from a given source to a given canvas image. 
+.PP
+References EVAS_PIXEL_FORMAT_ARGB32, and EVAS_PIXEL_FORMAT_YUV420P_601.
+.SS "EAPI void evas_object_image_preload (\fBEvas_Object\fP * obj, Eina_Bool cancel)"
+.PP
+Preload image in the background. This function request the preload of the data image in the background. The worked is queued before being processed.
+.PP
+If image data is already loaded, it will callback EVAS_CALLBACK_IMAGE_PRELOADED immediatelly and do nothing else.
+.PP
+If cancel is set, it will remove the image from the workqueue.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIcancel\fP 0 means add to the workqueue, 1 remove it. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_reload (\fBEvas_Object\fP * obj)"
+.PP
+Reload a image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object pointer.
+.RE
+.PP
+This function reloads a image of the given canvas. 
+.SS "EAPI Eina_Bool evas_object_image_save (const \fBEvas_Object\fP * obj, const char * file, const char * key, const char * flags)"
+.PP
+Save the given image object to a file. Note that you should pass the filename extension when saving. If the file supports multiple data stored in it as eet, you can specify the key to be used as the index of the image in this file.
+.PP
+You can specify some flags when saving the image. Currently acceptable flags are quality and compress. Eg.: 'quality=100
+ compress=9'
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIfile\fP The filename to be used to save the image. 
+.br
+\fIkey\fP The image key in file, or NULL. 
+.br
+\fIflags\fP String containing the flags to be used. 
+.RE
+.PP
+
+.PP
+References EVAS_COLORSPACE_ARGB8888.
+.SS "EAPI Evas_Image_Scale_Hint evas_object_image_scale_hint_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the scale hint of a given image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas pointer.
+.RE
+.PP
+This function returns the scale hint value of the given image of the canvas. 
+.SS "EAPI void evas_object_image_scale_hint_set (\fBEvas_Object\fP * obj, Evas_Image_Scale_Hint hint)"
+.PP
+Set the scale hint of a given image of the canvas. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given canvas pointer. 
+.br
+\fIhint\fP The scale hint value.
+.RE
+.PP
+This function sets the scale hint value of the given image of the canvas. 
+.SS "EAPI void evas_object_image_size_get (const \fBEvas_Object\fP * obj, int * w, int * h)"
+.PP
+Retrieves the size of the given image object. See \fBevas_object_image_size_set\fP for more details.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIw\fP Location to store the width of the image in, or NULL. 
+.br
+\fIh\fP Location to store the height of the image in, or NULL. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_size_set (\fBEvas_Object\fP * obj, int w, int h)"
+.PP
+Sets the size of the given image object. This function will scale down or crop the image so that it is treated as if it were at the given size. If the size given is smaller than the image, it will be cropped. If the size given is larger, then the image will be treated as if it were in the upper left hand corner of a larger image that is otherwise transparent.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIw\fP The new width of the image. 
+.br
+\fIh\fP The new height of the image. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_object_image_smooth_scale_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves whether the given image object is using use a high-quality image scaling algorithm. See \fBevas_object_image_smooth_scale_set\fP for more details.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Whether smooth scale is being used. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_image_smooth_scale_set (\fBEvas_Object\fP * obj, Eina_Bool smooth_scale)"
+.PP
+Sets whether to use of high-quality image scaling algorithm of the given image object. When enabled, a higher quality image scaling algorithm is used when scaling images to sizes other than the source image. This gives better results but is more computationally expensive.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.br
+\fIsmooth_scale\fP Whether to use smooth scale or not. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP * evas_object_image_source_get (\fBEvas_Object\fP * obj)"
+.PP
+Get the current source object of an image. \fBParameters:\fP
+.RS 4
+\fIobj\fP Image object 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Source object, or NULL on error. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_object_image_source_set (\fBEvas_Object\fP * obj, \fBEvas_Object\fP * src)"
+.PP
+Set the source object on a proxy object. The source must be another object. The proxy will have the same base appearance of the source object. Obviously other effects may be applied to the proxy, such as a map to create a reflection of the original object.
+.PP
+Any existing source object will be removed. Setting the src to NULL clears the proxy object.
+.PP
+You cannot set a proxy on a proxy.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP Proxy object. 
+.br
+\fIsrc\fP Source of the proxy. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE on success, EINA_FALSE on error. 
+.RE
+.PP
+
+.PP
+References evas_object_image_file_set().
+.PP
+Referenced by evas_object_image_source_unset().
+.SS "EAPI Eina_Bool evas_object_image_source_unset (\fBEvas_Object\fP * obj)"
+.PP
+Clear the source on a proxy image. This is equivalent to calling evas_object_image_source_set with a NULL source.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP Image object to clear source of. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE on success, EINA_FALSE on error. 
+.RE
+.PP
+
+.PP
+References evas_object_image_source_set().
+.PP
+Referenced by evas_object_del().
+.SS "EAPI int evas_object_image_stride_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the row stride of the given image object,. The row stride is the number of units between the start of a row and the start of the next row.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given image object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The stride of the image. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Pointer_Mode.3 b/doc/man/man3/Evas_Object_Pointer_Mode.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/Evas_Object_Polygon.3 b/doc/man/man3/Evas_Object_Polygon.3
new file mode 100644 (file)
index 0000000..59fa7a6
--- /dev/null
@@ -0,0 +1,71 @@
+.TH "Polygon Object Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Polygon Object Functions \- 
+.PP
+Functions that operate on evas polygon objects.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_polygon_add\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIAdds a new evas polygon object to the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_polygon_point_add\fP (\fBEvas_Object\fP *obj, Evas_Coord x, Evas_Coord y)"
+.br
+.RI "\fIAdds the given point to the given evas polygon object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_polygon_points_clear\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRemoves all of the points from the given evas polygon object. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that operate on evas polygon objects. 
+
+Hint: as evas does not provide ellipse, smooth paths or circle, one can calculate points and convert these to a polygon. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Object\fP* evas_object_polygon_add (\fBEvas\fP * e)"
+.PP
+Adds a new evas polygon object to the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A new evas polygon object. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_polygon_point_add (\fBEvas_Object\fP * obj, Evas_Coord x, Evas_Coord y)"
+.PP
+Adds the given point to the given evas polygon object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas polygon object. 
+.br
+\fIx\fP The X coordinate of the given point. 
+.br
+\fIy\fP The Y coordinate of the given point. 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move().
+.SS "EAPI void evas_object_polygon_points_clear (\fBEvas_Object\fP * obj)"
+.PP
+Removes all of the points from the given evas polygon object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given polygon object. 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move().
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Rectangle.3 b/doc/man/man3/Evas_Object_Rectangle.3
new file mode 100644 (file)
index 0000000..555530b
--- /dev/null
@@ -0,0 +1,37 @@
+.TH "Rectangle Object Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Rectangle Object Functions \- 
+.PP
+Functions that operate on evas rectangle objects.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_rectangle_add\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIAdds a rectangle to the given evas. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that operate on evas rectangle objects. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Object\fP* evas_object_rectangle_add (\fBEvas\fP * e)"
+.PP
+Adds a rectangle to the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The new rectangle object. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Smart_Clipped_Data.3 b/doc/man/man3/Evas_Object_Smart_Clipped_Data.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Object_Specific.3 b/doc/man/man3/Evas_Object_Specific.3
new file mode 100644 (file)
index 0000000..0601007
--- /dev/null
@@ -0,0 +1,54 @@
+.TH "Specific Object Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Specific Object Functions \- 
+.PP
+Functions that work on specific objects.  
+
+.SS "Modules"
+
+.in +1c
+.ti -1c
+.RI "\fBRectangle Object Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that operate on evas rectangle objects. \fP"
+.ti -1c
+.RI "\fBImage Object Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions used to create and manipulate image objects. \fP"
+.ti -1c
+.RI "\fBText Object Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that operate on single line, single style text objects. \fP"
+.ti -1c
+.RI "\fBTextblock Object Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions used to create and manipulate textblock objects. \fP"
+.ti -1c
+.RI "\fBLine Object Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions used to deal with evas line objects. \fP"
+.ti -1c
+.RI "\fBPolygon Object Functions\fP"
+.br
+.PP
+
+.RI "\fIFunctions that operate on evas polygon objects. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that work on specific objects. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Table.3 b/doc/man/man3/Evas_Object_Table.3
new file mode 100644 (file)
index 0000000..8e21135
--- /dev/null
@@ -0,0 +1,306 @@
+.TH "Table Smart Object." 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Table Smart Object. \- 
+.PP
+Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space.  
+
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef enum \fB_Evas_Object_Table_Homogeneous_Mode\fP \fBEvas_Object_Table_Homogeneous_Mode\fP"
+.br
+.RI "\fIHow to pack items into cells in a table. \fP"
+.in -1c
+.SS "Enumerations"
+
+.in +1c
+.ti -1c
+.RI "enum \fB_Evas_Object_Table_Homogeneous_Mode\fP "
+.br
+.RI "\fIHow to pack items into cells in a table. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_table_add\fP (\fBEvas\fP *evas)"
+.br
+.RI "\fICreate a new table. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_table_add_to\fP (\fBEvas_Object\fP *parent)"
+.br
+.RI "\fICreate a table that is child of a given element \fIparent\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_homogeneous_set\fP (\fBEvas_Object\fP *o, \fBEvas_Object_Table_Homogeneous_Mode\fP homogeneous)"
+.br
+.RI "\fISet how this table should layout children. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object_Table_Homogeneous_Mode\fP \fBevas_object_table_homogeneous_get\fP (const \fBEvas_Object\fP *o)"
+.br
+.RI "\fIGet the current layout homogeneous mode. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_align_set\fP (\fBEvas_Object\fP *o, double horizontal, double vertical)"
+.br
+.RI "\fISet the alignment of the whole bounding box of contents. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_align_get\fP (const \fBEvas_Object\fP *o, double *horizontal, double *vertical)"
+.br
+.RI "\fIGet alignment of the whole bounding box of contents. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_padding_set\fP (\fBEvas_Object\fP *o, Evas_Coord horizontal, Evas_Coord vertical)"
+.br
+.RI "\fISet padding between cells. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_padding_get\fP (const \fBEvas_Object\fP *o, Evas_Coord *horizontal, Evas_Coord *vertical)"
+.br
+.RI "\fIGet padding between cells. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_table_pack\fP (\fBEvas_Object\fP *o, \fBEvas_Object\fP *child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)"
+.br
+.RI "\fIAdd a new child to a table object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_table_unpack\fP (\fBEvas_Object\fP *o, \fBEvas_Object\fP *child)"
+.br
+.RI "\fIRemove child from table. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_clear\fP (\fBEvas_Object\fP *o, Eina_Bool clear)"
+.br
+.RI "\fIFaster way to remove all child objects from a table object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_col_row_size_get\fP (const \fBEvas_Object\fP *o, int *cols, int *rows)"
+.br
+.RI "\fIGet the number of columns and rows this table takes. \fP"
+.ti -1c
+.RI "EAPI Eina_Iterator * \fBevas_object_table_iterator_new\fP (const \fBEvas_Object\fP *o)"
+.br
+.RI "\fIGet an iterator to walk the list of children for the table. \fP"
+.ti -1c
+.RI "EAPI Eina_Accessor * \fBevas_object_table_accessor_new\fP (const \fBEvas_Object\fP *o)"
+.br
+.RI "\fIGet an accessor to get random access to the list of children for the table. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_object_table_children_get\fP (const \fBEvas_Object\fP *o)"
+.br
+.RI "\fIGet the list of children for the table. \fP"
+.ti -1c
+.RI "\fBEvas_Object\fP * \fBevas_object_table_child_get\fP (const \fBEvas_Object\fP *o, unsigned short col, unsigned short row)"
+.br
+.RI "\fIGet a child from the table using its coordinates. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_table_mirrored_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGets the mirrored mode of the table. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_table_mirrored_set\fP (\fBEvas_Object\fP *obj, Eina_Bool mirrored)"
+.br
+.RI "\fISets the mirrored mode of the table. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Convenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space. 
+
+\fBSee also:\fP
+.RS 4
+\fBSize Hints\fP 
+.RE
+.PP
+
+.SH "Typedef Documentation"
+.PP 
+.SS "typedef enum \fB_Evas_Object_Table_Homogeneous_Mode\fP  \fBEvas_Object_Table_Homogeneous_Mode\fP"
+.PP
+How to pack items into cells in a table. Table cell pack mode. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI Eina_Accessor* evas_object_table_accessor_new (const \fBEvas_Object\fP * o)"
+.PP
+Get an accessor to get random access to the list of children for the table. \fBNote:\fP
+.RS 4
+Do not remove or delete objects while walking the list. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object\fP* evas_object_table_add (\fBEvas\fP * evas)"
+.PP
+Create a new table. It's set to non-homogeneous by default, add children with \fBevas_object_table_pack()\fP. 
+.PP
+References evas_object_smart_add().
+.PP
+Referenced by evas_object_table_add_to().
+.SS "EAPI \fBEvas_Object\fP* evas_object_table_add_to (\fBEvas_Object\fP * parent)"
+.PP
+Create a table that is child of a given element \fIparent\fP. \fBSee also:\fP
+.RS 4
+\fBevas_object_table_add()\fP 
+.RE
+.PP
+
+.PP
+References evas_object_evas_get(), evas_object_smart_member_add(), and evas_object_table_add().
+.SS "\fBEvas_Object\fP* evas_object_table_child_get (const \fBEvas_Object\fP * o, unsigned short col, unsigned short row)"
+.PP
+Get a child from the table using its coordinates. \fBNote:\fP
+.RS 4
+This does not take into account col/row spanning 
+.RE
+.PP
+
+.SS "EAPI Eina_List* evas_object_table_children_get (const \fBEvas_Object\fP * o)"
+.PP
+Get the list of children for the table. \fBNote:\fP
+.RS 4
+This is a duplicate of the list kept by the table internally. It's up to the user to destroy it when it no longer needs it. It's possible to remove objects from the table when walking this list, but these removals won't be reflected on it. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_table_clear (\fBEvas_Object\fP * o, Eina_Bool clear)"
+.PP
+Faster way to remove all child objects from a table object. \fBParameters:\fP
+.RS 4
+\fIo\fP The given table object. 
+.br
+\fIclear\fP if true, it will delete just removed children. 
+.RE
+.PP
+
+.PP
+References evas_object_del(), evas_object_smart_changed(), and evas_object_smart_member_del().
+.SS "EAPI void evas_object_table_col_row_size_get (const \fBEvas_Object\fP * o, int * cols, int * rows)"
+.PP
+Get the number of columns and rows this table takes. \fBNote:\fP
+.RS 4
+columns and rows are virtual entities, one can specify a table with a single object that takes 4 columns and 5 rows. The only difference for a single cell table is that paddings will be accounted proportionally. 
+.RE
+.PP
+
+.SS "EAPI \fBEvas_Object_Table_Homogeneous_Mode\fP evas_object_table_homogeneous_get (const \fBEvas_Object\fP * o)"
+.PP
+Get the current layout homogeneous mode. \fBSee also:\fP
+.RS 4
+\fBevas_object_table_homogeneous_set()\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_object_table_homogeneous_set (\fBEvas_Object\fP * o, \fBEvas_Object_Table_Homogeneous_Mode\fP homogeneous)"
+.PP
+Set how this table should layout children. \fBTodo\fP
+.RS 4
+consider aspect hint and respect it.
+.RE
+.PP
+.PP
+\fBEVAS_OBJECT_TABLE_HOMOGENEOUS_NONE\fP
+.RS 4
+If table does not use homogeneous mode then columns and rows will be calculated based on hints of individual cells. This operation mode is more flexible, but more complex and heavy to calculate as well. \fBWeight\fP properties are handled as a boolean expand. Negative alignment will be considered as 0.5.
+.RE
+.PP
+\fBTodo\fP
+.RS 4
+\fCEVAS_OBJECT_TABLE_HOMOGENEOUS_NONE\fP should balance weight.
+.RE
+.PP
+.PP
+\fBEVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE\fP
+.RS 4
+When homogeneous is relative to table the own table size is divided equally among children, filling the whole table area. That is, if table has \fCWIDTH\fP and \fCCOLUMNS\fP, each cell will get \fCWIDTH / COLUMNS\fP pixels. If children have minimum size that is larger than this amount (including padding), then it will overflow and be aligned respecting the alignment hint, possible overlapping sibling cells. \fBWeight\fP hint is used as a boolean, if greater than zero it will make the child expand in that axis, taking as much space as possible (bounded to maximum size hint). Negative alignment will be considered as 0.5.
+.RE
+.PP
+\fBEVAS_OBJECT_TABLE_HOMOGENEOUS_ITEM\fP
+.RS 4
+When homogeneous is relative to item it means the greatest minimum cell size will be used. That is, if no element is set to expand, the table will have its contents to a minimum size, the bounding box of all these children will be aligned relatively to the table object using \fBevas_object_table_align_get()\fP. If the table area is too small to hold this minimum bounding box, then the objects will keep their size and the bounding box will overflow the box area, still respecting the alignment. \fBWeight\fP hint is used as a boolean, if greater than zero it will make that cell expand in that axis, toggling the \fBexpand mode\fP, which makes the table behave much like \fBEVAS_OBJECT_TABLE_HOMOGENEOUS_TABLE\fP, except that the bounding box will overflow and items will not overlap siblings. If no minimum size is provided at all then the table will fallback to expand mode as well. 
+.RE
+.PP
+
+.PP
+References evas_object_smart_changed().
+.SS "EAPI Eina_Iterator* evas_object_table_iterator_new (const \fBEvas_Object\fP * o)"
+.PP
+Get an iterator to walk the list of children for the table. \fBNote:\fP
+.RS 4
+Do not remove or delete objects while walking the list. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_object_table_mirrored_get (const \fBEvas_Object\fP * obj)"
+.PP
+Gets the mirrored mode of the table. In mirrored mode the table items go from right to left instead of left to right. That is, 1,1 is top right, not to left.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The table object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE if it's a mirrored table, EINA_FALSE otherwise. 
+.RE
+.PP
+\fBSince:\fP
+.RS 4
+1.1.0 
+.RE
+.PP
+
+.SS "EAPI void evas_object_table_mirrored_set (\fBEvas_Object\fP * obj, Eina_Bool mirrored)"
+.PP
+Sets the mirrored mode of the table. In mirrored mode the table items go from right to left instead of left to right. That is, 1,1 is top right, not to left.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The table object. 
+.br
+\fImirrored\fP the mirrored mode to set 
+.RE
+.PP
+\fBSince:\fP
+.RS 4
+1.1.0 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_object_table_pack (\fBEvas_Object\fP * o, \fBEvas_Object\fP * child, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan)"
+.PP
+Add a new child to a table object. \fBParameters:\fP
+.RS 4
+\fIo\fP The given table object. 
+.br
+\fIchild\fP The child object to add. 
+.br
+\fIcol\fP relative-horizontal position to place child. 
+.br
+\fIrow\fP relative-vertical position to place child. 
+.br
+\fIcolspan\fP how many relative-horizontal position to use for this child. 
+.br
+\fIrowspan\fP how many relative-vertical position to use for this child.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure. 
+.RE
+.PP
+
+.PP
+References evas_object_smart_changed(), and evas_object_smart_member_add().
+.SS "EAPI Eina_Bool evas_object_table_unpack (\fBEvas_Object\fP * o, \fBEvas_Object\fP * child)"
+.PP
+Remove child from table. \fBNote:\fP
+.RS 4
+removing a child will immediately call a walk over children in order to recalculate numbers of columns and rows. If you plan to remove all children, use \fBevas_object_table_clear()\fP instead.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure. 
+.RE
+.PP
+
+.PP
+References evas_object_smart_changed(), evas_object_smart_member_del(), and evas_object_smart_parent_get().
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Table_Homogeneous_Mode.3 b/doc/man/man3/Evas_Object_Table_Homogeneous_Mode.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/Evas_Object_Text.3 b/doc/man/man3/Evas_Object_Text.3
new file mode 100644 (file)
index 0000000..b569f2e
--- /dev/null
@@ -0,0 +1,325 @@
+.TH "Text Object Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Text Object Functions \- 
+.PP
+Functions that operate on single line, single style text objects.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_text_add\fP (\fBEvas\fP *e)"
+.br
+.RI "\fICreates a new text \fCEvas_Object\fP on the provided \fCEvas\fP canvas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_font_source_set\fP (\fBEvas_Object\fP *obj, const char *font_source)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_text_font_source_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_font_set\fP (\fBEvas_Object\fP *obj, const char *font, Evas_Font_Size size)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_font_get\fP (const \fBEvas_Object\fP *obj, const char **font, Evas_Font_Size *size)"
+.br
+.RI "\fIQuery evas for font information of a text \fCEvas_Object\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_text_set\fP (\fBEvas_Object\fP *obj, const char *_text)"
+.br
+.RI "\fISets the text to be displayed by the given evas text object. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_text_text_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the text currently being displayed by the given evas text object. \fP"
+.ti -1c
+.RI "EAPI Evas_BiDi_Direction \fBevas_object_text_direction_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieves the direction of the text currently being displayed in the text object. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_ascent_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_descent_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_max_ascent_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_max_descent_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_inset_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_horiz_advance_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Coord \fBevas_object_text_vert_advance_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_text_char_pos_get\fP (const \fBEvas_Object\fP *obj, int pos, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)"
+.br
+.RI "\fIRetrieve position and dimension information of a character within a text \fCEvas_Object\fP. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_object_text_last_up_to_pos\fP (const \fBEvas_Object\fP *obj, Evas_Coord x, Evas_Coord y)"
+.br
+.RI "\fIReturns the logical position of the last char in the text up to the pos given. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_object_text_char_coords_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord x, Evas_Coord y, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_style_set\fP (\fBEvas_Object\fP *obj, Evas_Text_Style_Type style)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI Evas_Text_Style_Type \fBevas_object_text_style_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_shadow_color_set\fP (\fBEvas_Object\fP *obj, int r, int g, int b, int a)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_shadow_color_get\fP (const \fBEvas_Object\fP *obj, int *r, int *g, int *b, int *a)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_glow_color_set\fP (\fBEvas_Object\fP *obj, int r, int g, int b, int a)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_glow_color_get\fP (const \fBEvas_Object\fP *obj, int *r, int *g, int *b, int *a)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_glow2_color_set\fP (\fBEvas_Object\fP *obj, int r, int g, int b, int a)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_glow2_color_get\fP (const \fBEvas_Object\fP *obj, int *r, int *g, int *b, int *a)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_outline_color_set\fP (\fBEvas_Object\fP *obj, int r, int g, int b, int a)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_outline_color_get\fP (const \fBEvas_Object\fP *obj, int *r, int *g, int *b, int *a)"
+.br
+.RI "\fITo be documented. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_text_style_pad_get\fP (const \fBEvas_Object\fP *obj, int *l, int *r, int *t, int *b)"
+.br
+.RI "\fIGets the text style pad of a text object. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that operate on single line, single style text objects. 
+
+For multiline and multiple style text, see \fBTextblock Object Functions\fP. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Object\fP* evas_object_text_add (\fBEvas\fP * e)"
+.PP
+Creates a new text \fCEvas_Object\fP on the provided \fCEvas\fP canvas. \fBParameters:\fP
+.RS 4
+\fIe\fP The \fCEvas\fP canvas to create the text object upon.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_text_font_source_set\fP 
+.PP
+\fBevas_object_text_font_set\fP 
+.PP
+\fBevas_object_text_text_set\fP
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+NULL on error, A pointer to a new \fCEvas_Object\fP on success. 
+.RE
+.PP
+
+.SS "EAPI Evas_Coord evas_object_text_ascent_get (const \fBEvas_Object\fP * obj)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI int evas_object_text_char_coords_get (const \fBEvas_Object\fP * obj, Evas_Coord x, Evas_Coord y, Evas_Coord * cx, Evas_Coord * cy, Evas_Coord * cw, Evas_Coord * ch)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI Eina_Bool evas_object_text_char_pos_get (const \fBEvas_Object\fP * obj, int pos, Evas_Coord * cx, Evas_Coord * cy, Evas_Coord * cw, Evas_Coord * ch)"
+.PP
+Retrieve position and dimension information of a character within a text \fCEvas_Object\fP. This function is used to obtain the X, Y, width and height of a the character located at \fCpos\fP within the \fCEvas_Object\fP \fCobj\fP. \fCobj\fP must be a text object as created with \fBevas_object_text_add()\fP. Any of the \fCEvas_Coord\fP parameters (\fCcx\fP, \fCcy\fP, \fCcw\fP, \fCch\fP) may be NULL in which case no value will be assigned to that parameter.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The text object to retrieve position information for. 
+.br
+\fIpos\fP The character position to request co-ordinates for. 
+.br
+\fIcx\fP A pointer to an \fCEvas_Coord\fP to store the X value in (can be NULL). 
+.br
+\fIcy\fP A pointer to an \fCEvas_Coord\fP to store the Y value in (can be NULL). 
+.br
+\fIcw\fP A pointer to an \fCEvas_Coord\fP to store the Width value in (can be NULL). 
+.br
+\fIch\fP A pointer to an \fCEvas_Coord\fP to store the Height value in (can be NULL).
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_FALSE on error, EINA_TRUE on success. 
+.RE
+.PP
+
+.SS "EAPI Evas_Coord evas_object_text_descent_get (const \fBEvas_Object\fP * obj)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI Evas_BiDi_Direction evas_object_text_direction_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the direction of the text currently being displayed in the text object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas text object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the direction of the text 
+.RE
+.PP
+
+.SS "EAPI void evas_object_text_font_get (const \fBEvas_Object\fP * obj, const char ** font, Evas_Font_Size * size)"
+.PP
+Query evas for font information of a text \fCEvas_Object\fP. This function allows the font name and size of a text \fCEvas_Object\fP as created with \fBevas_object_text_add()\fP to be queried. Be aware that the font name string is still owned by Evas and should NOT have free() called on it by the caller of the function.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The evas text object to query for font information. 
+.br
+\fIfont\fP A pointer to the location to store the font name in (may be NULL). 
+.br
+\fIsize\fP A pointer to the location to store the font size in (may be NULL). 
+.RE
+.PP
+
+.SS "EAPI void evas_object_text_font_set (\fBEvas_Object\fP * obj, const char * font, Evas_Font_Size size)"
+.PP
+To be documented. FIXME: To be fixed. 
+.PP
+References ENFN, and evas_event_feed_mouse_move().
+.SS "EAPI const char* evas_object_text_font_source_get (const \fBEvas_Object\fP * obj)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_text_font_source_set (\fBEvas_Object\fP * obj, const char * font_source)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_text_glow2_color_get (const \fBEvas_Object\fP * obj, int * r, int * g, int * b, int * a)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_text_glow2_color_set (\fBEvas_Object\fP * obj, int r, int g, int b, int a)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_text_glow_color_get (const \fBEvas_Object\fP * obj, int * r, int * g, int * b, int * a)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_text_glow_color_set (\fBEvas_Object\fP * obj, int r, int g, int b, int a)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI Evas_Coord evas_object_text_horiz_advance_get (const \fBEvas_Object\fP * obj)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI Evas_Coord evas_object_text_inset_get (const \fBEvas_Object\fP * obj)"
+.PP
+To be documented. FIXME: To be fixed. 
+.PP
+References ENFN.
+.SS "EAPI int evas_object_text_last_up_to_pos (const \fBEvas_Object\fP * obj, Evas_Coord x, Evas_Coord y)"
+.PP
+Returns the logical position of the last char in the text up to the pos given. this is NOT the position of the last char because of the possibility of RTL in the text. To be documented.
+.PP
+FIXME: To be fixed. 
+.SS "EAPI Evas_Coord evas_object_text_max_ascent_get (const \fBEvas_Object\fP * obj)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI Evas_Coord evas_object_text_max_descent_get (const \fBEvas_Object\fP * obj)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_text_outline_color_get (const \fBEvas_Object\fP * obj, int * r, int * g, int * b, int * a)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_text_outline_color_set (\fBEvas_Object\fP * obj, int r, int g, int b, int a)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_text_shadow_color_get (const \fBEvas_Object\fP * obj, int * r, int * g, int * b, int * a)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_text_shadow_color_set (\fBEvas_Object\fP * obj, int r, int g, int b, int a)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI Evas_Text_Style_Type evas_object_text_style_get (const \fBEvas_Object\fP * obj)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI void evas_object_text_style_pad_get (const \fBEvas_Object\fP * obj, int * l, int * r, int * t, int * b)"
+.PP
+Gets the text style pad of a text object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given text object. 
+.br
+\fIl\fP The left pad (or NULL). 
+.br
+\fIr\fP The right pad (or NULL). 
+.br
+\fIt\fP The top pad (or NULL). 
+.br
+\fIb\fP The bottom pad (or NULL). 
+.RE
+.PP
+
+.SS "EAPI void evas_object_text_style_set (\fBEvas_Object\fP * obj, Evas_Text_Style_Type style)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SS "EAPI const char* evas_object_text_text_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieves the text currently being displayed by the given evas text object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given evas text object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The text currently being displayed. Do not free it. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_text_text_set (\fBEvas_Object\fP * obj, const char * _text)"
+.PP
+Sets the text to be displayed by the given evas text object. \fBParameters:\fP
+.RS 4
+\fIobj\fP Evas text object. 
+.br
+\fItext\fP Text to display. 
+.RE
+.PP
+
+.PP
+References evas_event_feed_mouse_move().
+.SS "EAPI Evas_Coord evas_object_text_vert_advance_get (const \fBEvas_Object\fP * obj)"
+.PP
+To be documented. FIXME: To be fixed. 
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Textblock.3 b/doc/man/man3/Evas_Object_Textblock.3
new file mode 100644 (file)
index 0000000..2b85dc4
--- /dev/null
@@ -0,0 +1,1637 @@
+.TH "Textblock Object Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Textblock Object Functions \- 
+.PP
+Functions used to create and manipulate textblock objects.  
+
+.SS "Defines"
+
+.in +1c
+.ti -1c
+.RI "#define \fBENFN\fP   obj->layer->evas->engine.func"
+.br
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_textblock_add\fP (\fBEvas\fP *e)"
+.br
+.RI "\fIAdds a textblock to the given evas. \fP"
+.ti -1c
+.RI "EAPI Evas_Textblock_Style * \fBevas_textblock_style_new\fP (void)"
+.br
+.RI "\fICreates a new textblock style. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_style_free\fP (Evas_Textblock_Style *ts)"
+.br
+.RI "\fIDestroys a textblock style. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_style_set\fP (Evas_Textblock_Style *ts, const char *text)"
+.br
+.RI "\fISets the style ts to the style passed as text by text. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_textblock_style_get\fP (const Evas_Textblock_Style *ts)"
+.br
+.RI "\fIReturn the text of the style ts. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_style_set\fP (\fBEvas_Object\fP *obj, Evas_Textblock_Style *ts)"
+.br
+.RI "\fISet the objects style to ts. \fP"
+.ti -1c
+.RI "EAPI const Evas_Textblock_Style * \fBevas_object_textblock_style_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIReturn the style of an object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_replace_char_set\fP (\fBEvas_Object\fP *obj, const char *ch)"
+.br
+.RI "\fISet the 'replacement character' to use for the given textblock object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_newline_mode_set\fP (\fBEvas_Object\fP *obj, Eina_Bool mode)"
+.br
+.RI "\fISets newline mode. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_textblock_newline_mode_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGets newline mode. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_valign_set\fP (\fBEvas_Object\fP *obj, double align)"
+.br
+.RI "\fISets the vertical alignment of text within the textblock object as a whole. \fP"
+.ti -1c
+.RI "EAPI double \fBevas_object_textblock_valign_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGets the vertical alignment of a textblock. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_textblock_replace_char_get\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the 'replacement character' for given textblock object. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_textblock_escape_string_get\fP (const char *escape)"
+.br
+.RI "\fIReturns the unescaped version of escape. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_textblock_escape_string_range_get\fP (const char *escape_start, const char *escape_end)"
+.br
+.RI "\fIReturn the unescaped version of the string between start and end. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_textblock_string_escape_get\fP (const char *string, int *len_ret)"
+.br
+.RI "\fIReturns the escaped version of the string. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_text_markup_set\fP (\fBEvas_Object\fP *obj, const char *text)"
+.br
+.RI "\fISets the tetxblock's text to the markup text. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_text_markup_prepend\fP (Evas_Textblock_Cursor *cur, const char *text)"
+.br
+.RI "\fIPrepends markup to the cursor cur. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_object_textblock_text_markup_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIReturn the markup of the object. \fP"
+.ti -1c
+.RI "EAPI const Evas_Textblock_Cursor * \fBevas_object_textblock_cursor_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIReturn the object's main cursor. \fP"
+.ti -1c
+.RI "EAPI Evas_Textblock_Cursor * \fBevas_object_textblock_cursor_new\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fICreate a new cursor, associate it to the obj and init it to point to the start of the textblock. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_free\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIFree the cursor and unassociate it from the object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_is_format\fP (const Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIReturns true if the cursor points to a format. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Textblock_Node_Format\fP * \fBevas_textblock_node_format_first_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIReturns the first format node. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Textblock_Node_Format\fP * \fBevas_textblock_node_format_last_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIReturns the last format node. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Textblock_Node_Format\fP * \fBevas_textblock_node_format_next_get\fP (const \fBEvas_Object_Textblock_Node_Format\fP *n)"
+.br
+.RI "\fIReturns the next format node (after n). \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Textblock_Node_Format\fP * \fBevas_textblock_node_format_prev_get\fP (const \fBEvas_Object_Textblock_Node_Format\fP *n)"
+.br
+.RI "\fIReturns the prev format node (after n). \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_node_format_remove_pair\fP (\fBEvas_Object\fP *obj, \fBEvas_Object_Textblock_Node_Format\fP *n)"
+.br
+.RI "\fIRemove a format node and it's match. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_paragraph_first\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fISets the cursor to the start of the first text node. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_paragraph_last\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIsets the cursor to the end of the last text node. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_paragraph_next\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIAdvances to the the start of the next text node. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_paragraph_prev\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIAdvances to the the end of the previous text node. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_set_at_format\fP (Evas_Textblock_Cursor *cur, const \fBEvas_Object_Textblock_Node_Format\fP *n)"
+.br
+.RI "\fISets the cursor to point to the place where format points to. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_format_next\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIAdvances to the next format node. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_format_prev\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIAdvances to the previous format node. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_char_next\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIAdvances 1 char forward. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_char_prev\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIAdvances 1 char backward. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_paragraph_char_first\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIGo to the first char in the node the cursor is pointing on. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_paragraph_char_last\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIGo to the last char in a text node. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_line_char_first\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIGo to the start of the current line. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_line_char_last\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIGo to the end of the current line. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_pos_get\fP (const Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIReturn the current cursor pos. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_pos_set\fP (Evas_Textblock_Cursor *cur, int _pos)"
+.br
+.RI "\fISet the cursor pos. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_line_set\fP (Evas_Textblock_Cursor *cur, int line)"
+.br
+.RI "\fIGo to the start of the line passed. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_compare\fP (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)"
+.br
+.RI "\fICompare two cursors. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_copy\fP (const Evas_Textblock_Cursor *cur, Evas_Textblock_Cursor *cur_dest)"
+.br
+.RI "\fIMake cur_dest point to the same place as cur. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_text_append\fP (Evas_Textblock_Cursor *cur, const char *_text)"
+.br
+.RI "\fIAdds text to the current cursor position and set the cursor to *before* the start of the text just added. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_text_prepend\fP (Evas_Textblock_Cursor *cur, const char *_text)"
+.br
+.RI "\fIAdds text to the current cursor position and set the cursor to *after* the start of the text just added. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_format_append\fP (Evas_Textblock_Cursor *cur, const char *format)"
+.br
+.RI "\fIAdds format to the current cursor position. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_format_prepend\fP (Evas_Textblock_Cursor *cur, const char *format)"
+.br
+.RI "\fIAdds format to the current cursor position. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_char_delete\fP (Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIDelete the character at the location of the cursor. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_range_delete\fP (Evas_Textblock_Cursor *cur1, Evas_Textblock_Cursor *cur2)"
+.br
+.RI "\fIDelete the range between cur1 and cur2. \fP"
+.ti -1c
+.RI "EAPI char * \fBevas_textblock_cursor_content_get\fP (const Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIReturn the content of the cursor. \fP"
+.ti -1c
+.RI "EAPI char * \fBevas_textblock_cursor_range_text_get\fP (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *_cur2, Evas_Textblock_Text_Type format __UNUSED__)"
+.br
+.RI "\fIReturn the text in the range between cur1 and cur2. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_textblock_cursor_paragraph_text_get\fP (const Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIReturn the text of the paragraph cur points to - returns the text in markup. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_paragraph_text_length_get\fP (const Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIReturn the length of the paragraph, cheaper the eina_unicode_strlen(). \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Object_Textblock_Node_Format\fP * \fBevas_textblock_cursor_format_get\fP (const Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIReturn the format node at the position pointed by cur. \fP"
+.ti -1c
+.RI "EAPI const char * \fBevas_textblock_node_format_text_get\fP (const \fBEvas_Object_Textblock_Node_Format\fP *fmt)"
+.br
+.RI "\fIGet the text format representation of the format node. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_textblock_cursor_at_format_set\fP (Evas_Textblock_Cursor *cur, const \fBEvas_Object_Textblock_Node_Format\fP *fmt)"
+.br
+.RI "\fISet the cursor to point to the position of fmt. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_format_is_visible_get\fP (const Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fICheck if the current cursor position is a visible format. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_geometry_get\fP (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch, Evas_BiDi_Direction *dir, Evas_Textblock_Cursor_Type ctype)"
+.br
+.RI "\fIReturns the geometry of the cursor. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_char_geometry_get\fP (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)"
+.br
+.RI "\fIReturns the geometry of the char at cur. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_pen_geometry_get\fP (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)"
+.br
+.RI "\fIReturns the geometry of the pen at cur. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_line_geometry_get\fP (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)"
+.br
+.RI "\fIReturns the geometry of the line at cur. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_char_coord_set\fP (Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y)"
+.br
+.RI "\fISet the position of the cursor according to the X and Y coordinates. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_textblock_cursor_line_coord_set\fP (Evas_Textblock_Cursor *cur, Evas_Coord y)"
+.br
+.RI "\fISet the cursor position according to the y coord. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_textblock_cursor_range_geometry_get\fP (const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)"
+.br
+.RI "\fIGet the geometry of a range. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_format_item_geometry_get\fP (const Evas_Textblock_Cursor *cur, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)"
+.br
+.RI "\fIto be documented. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_textblock_cursor_eol_get\fP (const Evas_Textblock_Cursor *cur)"
+.br
+.RI "\fIChecks if the cursor points to the end of the line. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_textblock_line_number_geometry_get\fP (const \fBEvas_Object\fP *obj, int line, Evas_Coord *cx, Evas_Coord *cy, Evas_Coord *cw, Evas_Coord *ch)"
+.br
+.RI "\fIGet the geometry of a line number. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_clear\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIClear the textblock object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_size_formatted_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *w, Evas_Coord *h)"
+.br
+.RI "\fIGet the formatted width and height. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_size_native_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *w, Evas_Coord *h)"
+.br
+.RI "\fIGet the native width and height. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_textblock_style_insets_get\fP (const \fBEvas_Object\fP *obj, Evas_Coord *l, Evas_Coord *r, Evas_Coord *t, Evas_Coord *b)"
+.br
+.RI "\fIto be documented. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions used to create and manipulate textblock objects. 
+
+Unlike \fBText Object Functions\fP, these handle complex text, doing multiple styles and multiline text based on HTML-like tags. Of these extra features will be heavier on memory and processing cost.
+.PP
+\fBTodo\fP
+.RS 4
+put here some usage examples
+.RE
+.PP
+
+.SH "Define Documentation"
+.PP 
+.SS "#define ENFN   obj->layer->evas->engine.func".SH "Textblock Object Tutorial"
+.PP
+This part explains about the textblock object's API and proper usage. If you want to develop textblock, you should also refer to \fBEvas_Object_Textblock_Internal\fP. The main user of the textblock object is the edje entry object in Edje, so that's a good place to learn from, but I think this document is more than enough, if it's not, please request for me info and I'll update it.
+.SS "Introduction"
+The textblock objects is, as implied, an object that can show big chunks of text. Textblock supports many features including: Text formatting, automatic and manual text alignment, embedding items (for example icons) and more. Textblock has three important parts, the text paragraphs, the format nodes and the cursors.
+.SS "Textblock Object Cursors"
+A textblock Cursor \fBEvas_Textblock_Cursor\fP is data type that represents a position in a textblock. Each cursor contains information about the paragraph it points to, the position in that paragraph and the object itself. Cursors register to textblock objects upon creation, this means that once you created a cursor, it belongs to a specific obj and you can't for example copy a cursor 'into' a cursor of a different object. Registered cursors also have the added benefit of updating automatically upon textblock changes, this means that if you have a cursor pointing to a specific character, it'll still point to it even after you change the whole object completely (as long as the char was not deleted), this is not possible without updating, because as mentioned, each cursor holds a character position. There are many functions that handle cursors, just check out the evas_textblock_cursor* functions. For creation and deletion of cursors check out: 
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_textblock_cursor_new()\fP 
+.PP
+\fBevas_textblock_cursor_free()\fP 
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+Cursors are generally the correct way to handle text in the textblock object, and there are enough functions to do everything you need with them (no need to get big chunks of text and processing them yourself).
+.RE
+.PP
+.SS "Textblock Object Paragraphs"
+The textblock object is made out of text splitted to paragraphs (delimited by the paragraph separation character). Each paragraph has many (or none) format nodes associated with it which are responsible for the formatting of that paragraph.
+.SS "Textblock Object Format Nodes"
+As explained in \fBTextblock Object Paragraphs\fP each one of the format nodes is associated with a paragraph. There are two types of format nodes, visible and invisible: Visible: formats that a cursor can point to, i.e formats that occupy space, for example: newlines, tabs, items and etc. Some visible items are made of two parts, in this case, only the opening tag is visible. A closing tag (i.e a </tag> tag) should NEVER be visible. Invisible: formats that don't occupy space, for example: bold and underline. Being able to access format nodes is very important for some uses. For example, edje uses the '<a>' format to create links in the text (and pop popups above them when clicked). For the textblock object a is just a formatting instruction (how to color the text), but edje utilizes the access to the format nodes to make it do more. For more information, take a look at all the evas_textblock_node_format_* functions. The translation of '<tag>' tags to actual format is done according to the tags defined in the style, see \fBevas_textblock_style_set\fP
+.SS "Special Formats"
+This section is not yet written. If you want some info about styles/formats and how to use them, expedite's textblock_basic test is a great start. 
+.PP
+\fBTodo\fP
+.RS 4
+Write  
+.RE
+.PP
+
+.PP
+Referenced by evas_object_text_font_set(), and evas_object_text_inset_get().
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Object\fP* evas_object_textblock_add (\fBEvas\fP * e)"
+.PP
+Adds a textblock to the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The new textblock object. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_textblock_clear (\fBEvas_Object\fP * obj)"
+.PP
+Clear the textblock object. \fBNote:\fP
+.RS 4
+Does *NOT* free the evas object itself.
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the object to clear. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+nothing. 
+.RE
+.PP
+
+.SS "EAPI const Evas_Textblock_Cursor* evas_object_textblock_cursor_get (const \fBEvas_Object\fP * obj)"
+.PP
+Return the object's main cursor. \fBParameters:\fP
+.RS 4
+\fIobj\fP the object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the obj's main cursor. 
+.RE
+.PP
+
+.SS "EAPI Evas_Textblock_Cursor* evas_object_textblock_cursor_new (\fBEvas_Object\fP * obj)"
+.PP
+Create a new cursor, associate it to the obj and init it to point to the start of the textblock. Association to the object means the cursor will be updated when the object will change.
+.PP
+\fBNote:\fP
+.RS 4
+if you need speed and you know what you are doing, it's slightly faster to just allocate the cursor yourself and not associate it. (only people developing the actual object, and not users of the object).
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the object to associate to. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the new cursor. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_object_textblock_line_number_geometry_get (const \fBEvas_Object\fP * obj, int line, Evas_Coord * cx, Evas_Coord * cy, Evas_Coord * cw, Evas_Coord * ch)"
+.PP
+Get the geometry of a line number. \fBParameters:\fP
+.RS 4
+\fIobj\fP the object. 
+.br
+\fIline\fP the line number. 
+.br
+\fIcx\fP x coord of the line. 
+.br
+\fIcy\fP y coord of the line. 
+.br
+\fIcw\fP w coord of the line. 
+.br
+\fIch\fP h coord of the line. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE on success, EINA_FALSE otherwise. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_object_textblock_newline_mode_get (const \fBEvas_Object\fP * obj)"
+.PP
+Gets newline mode. When true, newline character behaves as a paragraph separator.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given textblock object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE if in PS mode, EINA_FALSE otherwise. 
+.RE
+.PP
+\fBSince:\fP
+.RS 4
+1.1.0 
+.RE
+.PP
+
+.SS "EAPI void evas_object_textblock_newline_mode_set (\fBEvas_Object\fP * obj, Eina_Bool mode)"
+.PP
+Sets newline mode. When true, newline character will behave as a paragraph separator.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given textblock object. 
+.br
+\fImode\fP EINA_TRUE for PS mode, EINA_FALSE otherwise. 
+.RE
+.PP
+\fBSince:\fP
+.RS 4
+1.1.0 
+.RE
+.PP
+
+.SS "EAPI const char* evas_object_textblock_replace_char_get (\fBEvas_Object\fP * obj)"
+.PP
+Get the 'replacement character' for given textblock object. Returns NULL if no replacement character is in use.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given textblock object 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+replacement character or NULL 
+.RE
+.PP
+
+.SS "EAPI void evas_object_textblock_replace_char_set (\fBEvas_Object\fP * obj, const char * ch)"
+.PP
+Set the 'replacement character' to use for the given textblock object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given textblock object. 
+.br
+\fIch\fP The charset name. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_textblock_size_formatted_get (const \fBEvas_Object\fP * obj, Evas_Coord * w, Evas_Coord * h)"
+.PP
+Get the formatted width and height. This calculates the actual size after restricting the textblock to the current size of the object. The main difference between this and \fBevas_object_textblock_size_native_get\fP is that the 'native' function does not wrapping into account it just calculates the real width of the object if it was placed on an infinite canvas, while this function gives the size after wrapping according to the size restrictions of the object.
+.PP
+For example for a textblock containing the text: 'You shall not pass!' with no margins or padding and assuming a monospace font and a size of 7x10 char widths (for simplicity) has a native size of 19x1 and a formatted size of 5x4.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the evas object. 
+.br
+\fIw[out]\fP the width of the object. 
+.br
+\fIh[out]\fP the height of the object 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_textblock_size_native_get\fP 
+.RE
+.PP
+
+.SS "EAPI void evas_object_textblock_size_native_get (const \fBEvas_Object\fP * obj, Evas_Coord * w, Evas_Coord * h)"
+.PP
+Get the native width and height. This calculates the actual size without taking account the current size of the object. The main difference between this and \fBevas_object_textblock_size_formatted_get\fP is that the 'native' function does not take wrapping into account it just calculates the real width of the object if it was placed on an infinite canvas, while the 'formatted' function gives the size after wrapping text according to the size restrictions of the object.
+.PP
+For example for a textblock containing the text: 'You shall not pass!' with no margins or padding and assuming a monospace font and a size of 7x10 char widths (for simplicity) has a native size of 19x1 and a formatted size of 5x4.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the evas object of the textblock 
+.br
+\fIw[out]\fP the width returned 
+.br
+\fIh[out]\fP the height returned 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.SS "EAPI const Evas_Textblock_Style* evas_object_textblock_style_get (const \fBEvas_Object\fP * obj)"
+.PP
+Return the style of an object. \fBParameters:\fP
+.RS 4
+\fIobj\fP the object to get the style from. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the style of the object. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_textblock_style_insets_get (const \fBEvas_Object\fP * obj, Evas_Coord * l, Evas_Coord * r, Evas_Coord * t, Evas_Coord * b)"
+.PP
+to be documented. \fBParameters:\fP
+.RS 4
+\fIobj\fP to be documented. 
+.br
+\fIl\fP to be documented. 
+.br
+\fIr\fP to be documented. 
+.br
+\fIt\fP to be documented. 
+.br
+\fIb\fP to be documented. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_textblock_style_set (\fBEvas_Object\fP * obj, Evas_Textblock_Style * ts)"
+.PP
+Set the objects style to ts. \fBParameters:\fP
+.RS 4
+\fIobj\fP the evas object to set the style to. 
+.br
+\fIts\fP the style to set. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.PP
+References evas_textblock_style_free().
+.SS "EAPI const char* evas_object_textblock_text_markup_get (const \fBEvas_Object\fP * obj)"
+.PP
+Return the markup of the object. \fBParameters:\fP
+.RS 4
+\fIobj\fP the evas object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the markup text of the object. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_textblock_text_markup_prepend (Evas_Textblock_Cursor * cur, const char * text)"
+.PP
+Prepends markup to the cursor cur. \fBNote:\fP
+.RS 4
+assumes text does not include the unicode object replacement char (0xFFFC)
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to prepend to. 
+.br
+\fItext\fP the markup text to prepend. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return no value. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_format_prepend().
+.PP
+Referenced by evas_object_textblock_text_markup_set().
+.SS "EAPI void evas_object_textblock_text_markup_set (\fBEvas_Object\fP * obj, const char * text)"
+.PP
+Sets the tetxblock's text to the markup text. \fBNote:\fP
+.RS 4
+assumes text does not include the unicode object replacement char (0xFFFC)
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the textblock object. 
+.br
+\fItext\fP the markup text to use. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Return no value. 
+.RE
+.PP
+
+.PP
+References evas_object_textblock_text_markup_prepend(), and evas_textblock_cursor_paragraph_first().
+.SS "EAPI double evas_object_textblock_valign_get (const \fBEvas_Object\fP * obj)"
+.PP
+Gets the vertical alignment of a textblock. \fBParameters:\fP
+.RS 4
+\fIobj\fP The given textblock object. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The elignment set for the object 
+.RE
+.PP
+\fBSince:\fP
+.RS 4
+1.1.0 
+.RE
+.PP
+
+.SS "EAPI void evas_object_textblock_valign_set (\fBEvas_Object\fP * obj, double align)"
+.PP
+Sets the vertical alignment of text within the textblock object as a whole. Normally alignment is 0.0 (top of object). Values given should be between 0.0 and 1.0 (1.0 bottom of object, 0.5 being vertically centered etc.).
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The given textblock object. 
+.br
+\fIalign\fP A value between 0.0 and 1.0 
+.RE
+.PP
+\fBSince:\fP
+.RS 4
+1.1.0 
+.RE
+.PP
+
+.SS "EAPI void evas_textblock_cursor_at_format_set (Evas_Textblock_Cursor * cur, const \fBEvas_Object_Textblock_Node_Format\fP * fmt)"
+.PP
+Set the cursor to point to the position of fmt. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to update 
+.br
+\fIfmt\fP the format to update according to. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_textblock_cursor_char_coord_set (Evas_Textblock_Cursor * cur, Evas_Coord x, Evas_Coord y)"
+.PP
+Set the position of the cursor according to the X and Y coordinates. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to set. 
+.br
+\fIx\fP coord to set by. 
+.br
+\fIy\fP coord to set by. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE on success, EINA_FALSE otherwise. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_line_char_last().
+.SS "EAPI void evas_textblock_cursor_char_delete (Evas_Textblock_Cursor * cur)"
+.PP
+Delete the character at the location of the cursor. If there's a format pointing to this position, delete it as well.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor pointing to the current location. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.SS "EAPI int evas_textblock_cursor_char_geometry_get (const Evas_Textblock_Cursor * cur, Evas_Coord * cx, Evas_Coord * cy, Evas_Coord * cw, Evas_Coord * ch)"
+.PP
+Returns the geometry of the char at cur. \fBParameters:\fP
+.RS 4
+\fIcur\fP the position of the char. 
+.br
+\fIcx\fP the x of the char. 
+.br
+\fIcy\fP the y of the char. 
+.br
+\fIcw\fP the w of the char. 
+.br
+\fIch\fP the h of the char. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+line number of the char on success, -1 on error. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_textblock_cursor_char_next (Evas_Textblock_Cursor * cur)"
+.PP
+Advances 1 char forward. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to advance. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE on success EINA_FALSE otherwise. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_paragraph_next().
+.PP
+Referenced by evas_textblock_cursor_format_prepend().
+.SS "EAPI Eina_Bool evas_textblock_cursor_char_prev (Evas_Textblock_Cursor * cur)"
+.PP
+Advances 1 char backward. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to advance. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE on success EINA_FALSE otherwise. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_paragraph_prev().
+.PP
+Referenced by evas_textblock_cursor_geometry_get().
+.SS "EAPI int evas_textblock_cursor_compare (const Evas_Textblock_Cursor * cur1, const Evas_Textblock_Cursor * cur2)"
+.PP
+Compare two cursors. \fBParameters:\fP
+.RS 4
+\fIcur1\fP the first cursor. 
+.br
+\fIcur2\fP the second cursor. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+-1 if cur1 < cur2, 0 if cur1 == cur2 and 1 otherwise. 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_range_delete(), evas_textblock_cursor_range_geometry_get(), and evas_textblock_cursor_range_text_get().
+.SS "EAPI char* evas_textblock_cursor_content_get (const Evas_Textblock_Cursor * cur)"
+.PP
+Return the content of the cursor. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the text in the range 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_format_get(), evas_textblock_cursor_format_is_visible_get(), and evas_textblock_node_format_text_get().
+.SS "EAPI void evas_textblock_cursor_copy (const Evas_Textblock_Cursor * cur, Evas_Textblock_Cursor * cur_dest)"
+.PP
+Make cur_dest point to the same place as cur. Does not work if they don't point to the same object.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcur\fP the source cursor. 
+.br
+\fIcur_dest\fP destination cursor. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_eol_get(), evas_textblock_cursor_geometry_get(), evas_textblock_cursor_range_delete(), and evas_textblock_cursor_range_text_get().
+.SS "EAPI Eina_Bool evas_textblock_cursor_eol_get (const Evas_Textblock_Cursor * cur)"
+.PP
+Checks if the cursor points to the end of the line. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to check. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE if true, EINA_FALSE otherwise. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_copy(), and evas_textblock_cursor_line_char_last().
+.SS "EAPI Eina_Bool evas_textblock_cursor_format_append (Evas_Textblock_Cursor * cur, const char * format)"
+.PP
+Adds format to the current cursor position. If the format being added is a visible format, add it *before* the cursor position, otherwise, add it after. This behavior is because visible formats are like characters and invisible should be stacked in a way that the last one is added last.
+.PP
+This function works with native formats, that means that style defined tags like 
+.br
+ won't work here. For those kind of things use markup prepend.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to where to add format at. 
+.br
+\fIformat\fP the format to add. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns true if a visible format was added, false otherwise. 
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_textblock_cursor_format_prepend()\fP 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_format_is_visible_get(), and evas_textblock_cursor_text_prepend().
+.PP
+Referenced by evas_textblock_cursor_format_prepend().
+.SS "EAPI const \fBEvas_Object_Textblock_Node_Format\fP* evas_textblock_cursor_format_get (const Evas_Textblock_Cursor * cur)"
+.PP
+Return the format node at the position pointed by cur. \fBParameters:\fP
+.RS 4
+\fIcur\fP the position to look at. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the format node if found, NULL otherwise. 
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_textblock_cursor_format_is_visible_get()\fP 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_content_get().
+.SS "EAPI Eina_Bool evas_textblock_cursor_format_is_visible_get (const Evas_Textblock_Cursor * cur)"
+.PP
+Check if the current cursor position is a visible format. This way is more efficient than \fBevas_textblock_cursor_format_get()\fP to check for the existence of a visible format.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to look at. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE if the cursor points to a visible format, EINA_FALSE otherwise. 
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_textblock_cursor_format_get()\fP 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_content_get(), evas_textblock_cursor_format_append(), evas_textblock_cursor_format_item_geometry_get(), evas_textblock_cursor_is_format(), and evas_textblock_cursor_text_append().
+.SS "EAPI Eina_Bool evas_textblock_cursor_format_item_geometry_get (const Evas_Textblock_Cursor * cur, Evas_Coord * cx, Evas_Coord * cy, Evas_Coord * cw, Evas_Coord * ch)"
+.PP
+to be documented. \fBParameters:\fP
+.RS 4
+\fIcur\fP to be documented. 
+.br
+\fIcx\fP to be documented. 
+.br
+\fIcy\fP to be documented. 
+.br
+\fIcw\fP to be documented. 
+.br
+\fIch\fP to be documented. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+to be documented. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_format_is_visible_get().
+.SS "EAPI Eina_Bool evas_textblock_cursor_format_next (Evas_Textblock_Cursor * cur)"
+.PP
+Advances to the next format node. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to be updated. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE on success EINA_FALSE otherwise. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_textblock_cursor_format_prepend (Evas_Textblock_Cursor * cur, const char * format)"
+.PP
+Adds format to the current cursor position. If the format being added is a visible format, add it *before* the cursor position, otherwise, add it after. This behavior is because visible formats are like characters and invisible should be stacked in a way that the last one is added last. If the format is visible the cursor is advanced after it.
+.PP
+This function works with native formats, that means that style defined tags like 
+.br
+ won't work here. For those kind of things use markup prepend.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to where to add format at. 
+.br
+\fIformat\fP the format to add. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns true if a visible format was added, false otherwise. 
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_textblock_cursor_format_prepend()\fP 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_char_next(), and evas_textblock_cursor_format_append().
+.PP
+Referenced by evas_object_textblock_text_markup_prepend().
+.SS "EAPI Eina_Bool evas_textblock_cursor_format_prev (Evas_Textblock_Cursor * cur)"
+.PP
+Advances to the previous format node. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to update. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE on success EINA_FALSE otherwise. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_is_format().
+.SS "EAPI void evas_textblock_cursor_free (Evas_Textblock_Cursor * cur)"
+.PP
+Free the cursor and unassociate it from the object. \fBNote:\fP
+.RS 4
+do not use it to free unassociated cursors.
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to free. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.SS "EAPI int evas_textblock_cursor_geometry_get (const Evas_Textblock_Cursor * cur, Evas_Coord * cx, Evas_Coord * cy, Evas_Coord * cw, Evas_Coord * ch, Evas_BiDi_Direction * dir, Evas_Textblock_Cursor_Type ctype)"
+.PP
+Returns the geometry of the cursor. Depends on the type of cursor requested. This should be used instead of char_geometry_get because there are weird special cases with BiDi text. in '_' cursor mode (i.e a line below the char) it's the same as char_geometry get, except for the case of the last char of a line which depends on the paragraph direction.
+.PP
+in '|' cursor mode (i.e a line between two chars) it is very varyable. For example consider the following visual string: 'abcCBA' (ABC are rtl chars), a cursor pointing on A should actually draw a '|' between the c and the C.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor. 
+.br
+\fIcx\fP the x of the cursor 
+.br
+\fIcy\fP the y of the cursor 
+.br
+\fIcw\fP the width of the cursor 
+.br
+\fIch\fP the height of the cursor 
+.br
+\fIdir\fP the direction of the cursor, can be NULL. 
+.br
+\fIctype\fP the type of the cursor. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+line number of the char on success, -1 on error. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_char_prev(), evas_textblock_cursor_copy(), and evas_textblock_cursor_pen_geometry_get().
+.SS "EAPI Eina_Bool evas_textblock_cursor_is_format (const Evas_Textblock_Cursor * cur)"
+.PP
+Returns true if the cursor points to a format. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to check. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns EINA_TRUE if a cursor points to a format EINA_FALSE otherwise. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_format_is_visible_get().
+.PP
+Referenced by evas_textblock_cursor_format_prev().
+.SS "EAPI void evas_textblock_cursor_line_char_first (Evas_Textblock_Cursor * cur)"
+.PP
+Go to the start of the current line. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to update. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.SS "EAPI void evas_textblock_cursor_line_char_last (Evas_Textblock_Cursor * cur)"
+.PP
+Go to the end of the current line. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to update. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_char_coord_set(), and evas_textblock_cursor_eol_get().
+.SS "EAPI int evas_textblock_cursor_line_coord_set (Evas_Textblock_Cursor * cur, Evas_Coord y)"
+.PP
+Set the cursor position according to the y coord. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cur to be set. 
+.br
+\fIy\fP the coord to set by. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the line number found, -1 on error. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_line_set().
+.SS "EAPI int evas_textblock_cursor_line_geometry_get (const Evas_Textblock_Cursor * cur, Evas_Coord * cx, Evas_Coord * cy, Evas_Coord * cw, Evas_Coord * ch)"
+.PP
+Returns the geometry of the line at cur. \fBParameters:\fP
+.RS 4
+\fIcur\fP the position of the line. 
+.br
+\fIcx\fP the x of the line. 
+.br
+\fIcy\fP the y of the line. 
+.br
+\fIcw\fP the width of the line. 
+.br
+\fIch\fP the height of the line. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+line number of the line on success, -1 on error. 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_textblock_cursor_line_set (Evas_Textblock_Cursor * cur, int line)"
+.PP
+Go to the start of the line passed. \fBParameters:\fP
+.RS 4
+\fIcur\fP cursor to update. 
+.br
+\fIline\fP numer to set. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE on success, EINA_FALSE on error. 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_line_coord_set().
+.SS "EAPI void evas_textblock_cursor_paragraph_char_first (Evas_Textblock_Cursor * cur)"
+.PP
+Go to the first char in the node the cursor is pointing on. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to update. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_paragraph_text_get().
+.SS "EAPI void evas_textblock_cursor_paragraph_char_last (Evas_Textblock_Cursor * cur)"
+.PP
+Go to the last char in a text node. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to update. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_paragraph_last(), evas_textblock_cursor_paragraph_prev(), and evas_textblock_cursor_paragraph_text_get().
+.SS "EAPI void evas_textblock_cursor_paragraph_first (Evas_Textblock_Cursor * cur)"
+.PP
+Sets the cursor to the start of the first text node. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to update. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_textblock_text_markup_set().
+.SS "EAPI void evas_textblock_cursor_paragraph_last (Evas_Textblock_Cursor * cur)"
+.PP
+sets the cursor to the end of the last text node. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to set. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_paragraph_char_last().
+.SS "EAPI Eina_Bool evas_textblock_cursor_paragraph_next (Evas_Textblock_Cursor * cur)"
+.PP
+Advances to the the start of the next text node. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to update 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE if it managed to advance a paragraph, EINA_FALSE otherwise. 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_char_next().
+.SS "EAPI Eina_Bool evas_textblock_cursor_paragraph_prev (Evas_Textblock_Cursor * cur)"
+.PP
+Advances to the the end of the previous text node. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to update 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE if it managed to advance a paragraph, EINA_FALSE otherwise. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_paragraph_char_last().
+.PP
+Referenced by evas_textblock_cursor_char_prev().
+.SS "EAPI const char* evas_textblock_cursor_paragraph_text_get (const Evas_Textblock_Cursor * cur)"
+.PP
+Return the text of the paragraph cur points to - returns the text in markup. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor pointing to the paragraph. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the text on success, NULL otherwise. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_paragraph_char_first(), evas_textblock_cursor_paragraph_char_last(), and evas_textblock_cursor_range_text_get().
+.SS "EAPI int evas_textblock_cursor_paragraph_text_length_get (const Evas_Textblock_Cursor * cur)"
+.PP
+Return the length of the paragraph, cheaper the eina_unicode_strlen(). \fBParameters:\fP
+.RS 4
+\fIcur\fP the position of the paragraph. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the length of the paragraph on success, -1 otehrwise. 
+.RE
+.PP
+
+.SS "EAPI int evas_textblock_cursor_pen_geometry_get (const Evas_Textblock_Cursor * cur, Evas_Coord * cx, Evas_Coord * cy, Evas_Coord * cw, Evas_Coord * ch)"
+.PP
+Returns the geometry of the pen at cur. \fBParameters:\fP
+.RS 4
+\fIcur\fP the position of the char. 
+.br
+\fIcpen_x\fP the pen_x of the char. 
+.br
+\fIcy\fP the y of the char. 
+.br
+\fIcadv\fP the adv of the char. 
+.br
+\fIch\fP the h of the char. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+line number of the char on success, -1 on error. 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_geometry_get().
+.SS "EAPI int evas_textblock_cursor_pos_get (const Evas_Textblock_Cursor * cur)"
+.PP
+Return the current cursor pos. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to take the position from. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the position or -1 on error 
+.RE
+.PP
+
+.SS "EAPI void evas_textblock_cursor_pos_set (Evas_Textblock_Cursor * cur, int _pos)"
+.PP
+Set the cursor pos. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to be set. 
+.br
+\fIpos\fP the pos to set. 
+.RE
+.PP
+
+.SS "EAPI void evas_textblock_cursor_range_delete (Evas_Textblock_Cursor * cur1, Evas_Textblock_Cursor * cur2)"
+.PP
+Delete the range between cur1 and cur2. \fBParameters:\fP
+.RS 4
+\fIcur1\fP one side of the range. 
+.br
+\fIcur2\fP the second side of the range 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_compare(), and evas_textblock_cursor_copy().
+.SS "EAPI Eina_List* evas_textblock_cursor_range_geometry_get (const Evas_Textblock_Cursor * cur1, const Evas_Textblock_Cursor * cur2)"
+.PP
+Get the geometry of a range. \fBParameters:\fP
+.RS 4
+\fIcur1\fP one side of the range. 
+.br
+\fIcur2\fP other side of the range. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+a list of Rectangles representing the geometry of the range. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_compare().
+.SS "EAPI char* evas_textblock_cursor_range_text_get (const Evas_Textblock_Cursor * cur1, const Evas_Textblock_Cursor * _cur2, Evas_Textblock_Text_Type format __UNUSED__)"
+.PP
+Return the text in the range between cur1 and cur2. FIXME: format is currently unused, you always get markup back.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIcur1\fP one side of the range. 
+.br
+\fIcur2\fP the other side of the range 
+.br
+\fIformat\fP to be documented 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the text in the range 
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+elm_entry_markup_to_utf8() 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_compare(), and evas_textblock_cursor_copy().
+.PP
+Referenced by evas_textblock_cursor_paragraph_text_get().
+.SS "EAPI void evas_textblock_cursor_set_at_format (Evas_Textblock_Cursor * cur, const \fBEvas_Object_Textblock_Node_Format\fP * n)"
+.PP
+Sets the cursor to point to the place where format points to. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to update. 
+.br
+\fIn\fP the format node to update according. 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_node_format_remove_pair().
+.SS "EAPI int evas_textblock_cursor_text_append (Evas_Textblock_Cursor * cur, const char * _text)"
+.PP
+Adds text to the current cursor position and set the cursor to *before* the start of the text just added. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to where to add text at. 
+.br
+\fI_text\fP the text to add. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the len of the text added. 
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_textblock_cursor_text_prepend()\fP 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_format_is_visible_get().
+.PP
+Referenced by evas_textblock_cursor_text_prepend().
+.SS "EAPI int evas_textblock_cursor_text_prepend (Evas_Textblock_Cursor * cur, const char * _text)"
+.PP
+Adds text to the current cursor position and set the cursor to *after* the start of the text just added. \fBParameters:\fP
+.RS 4
+\fIcur\fP the cursor to where to add text at. 
+.br
+\fI_text\fP the text to add. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the len of the text added. 
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_textblock_cursor_text_append()\fP 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_text_append().
+.PP
+Referenced by evas_textblock_cursor_format_append().
+.SS "EAPI const char* evas_textblock_escape_string_get (const char * escape)"
+.PP
+Returns the unescaped version of escape. \fBParameters:\fP
+.RS 4
+\fIescape\fP the string to be escaped 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the unescaped version of escape 
+.RE
+.PP
+
+.SS "EAPI const char* evas_textblock_escape_string_range_get (const char * escape_start, const char * escape_end)"
+.PP
+Return the unescaped version of the string between start and end. \fBParameters:\fP
+.RS 4
+\fIescape_start\fP the start of the string. 
+.br
+\fIescape_end\fP the end of the string. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the unescaped version of the range 
+.RE
+.PP
+
+.SS "EAPI const \fBEvas_Object_Textblock_Node_Format\fP* evas_textblock_node_format_first_get (const \fBEvas_Object\fP * obj)"
+.PP
+Returns the first format node. \fBParameters:\fP
+.RS 4
+\fIobj\fP The evas, must not be NULL. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the first format node, may be null if there are none. 
+.RE
+.PP
+
+.SS "EAPI const \fBEvas_Object_Textblock_Node_Format\fP* evas_textblock_node_format_last_get (const \fBEvas_Object\fP * obj)"
+.PP
+Returns the last format node. \fBParameters:\fP
+.RS 4
+\fIobj\fP The evas textblock, must not be NULL. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the first format node, may be null if there are none. 
+.RE
+.PP
+
+.SS "EAPI const \fBEvas_Object_Textblock_Node_Format\fP* evas_textblock_node_format_next_get (const \fBEvas_Object_Textblock_Node_Format\fP * n)"
+.PP
+Returns the next format node (after n). \fBParameters:\fP
+.RS 4
+\fIn\fP the current format node - not null. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the next format node, may be null. 
+.RE
+.PP
+
+.SS "EAPI const \fBEvas_Object_Textblock_Node_Format\fP* evas_textblock_node_format_prev_get (const \fBEvas_Object_Textblock_Node_Format\fP * n)"
+.PP
+Returns the prev format node (after n). \fBParameters:\fP
+.RS 4
+\fIn\fP the current format node - not null. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the prev format node, may be null. 
+.RE
+.PP
+
+.SS "EAPI void evas_textblock_node_format_remove_pair (\fBEvas_Object\fP * obj, \fBEvas_Object_Textblock_Node_Format\fP * n)"
+.PP
+Remove a format node and it's match. i.e, removes a <tag> </tag> pair. Assumes the node is the first part of <tag> i.e, this won't work if n is a closing tag.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the evas object of the textblock - not null. 
+.br
+\fIn\fP the current format node - not null. 
+.RE
+.PP
+
+.PP
+References evas_textblock_cursor_set_at_format().
+.SS "EAPI const char* evas_textblock_node_format_text_get (const \fBEvas_Object_Textblock_Node_Format\fP * fmt)"
+.PP
+Get the text format representation of the format node. \fBParameters:\fP
+.RS 4
+\fIfmt\fP the format node. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the textual format of the format node. 
+.RE
+.PP
+
+.PP
+Referenced by evas_textblock_cursor_content_get().
+.SS "EAPI const char* evas_textblock_string_escape_get (const char * string, int * len_ret)"
+.PP
+Returns the escaped version of the string. \fBParameters:\fP
+.RS 4
+\fIstring\fP to escape 
+.br
+\fIlen_ret\fP the len of the new escape 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the escaped string. 
+.RE
+.PP
+
+.SS "EAPI void evas_textblock_style_free (Evas_Textblock_Style * ts)"
+.PP
+Destroys a textblock style. \fBParameters:\fP
+.RS 4
+\fIts\fP The textblock style to free. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_textblock_style_set().
+.SS "EAPI const char* evas_textblock_style_get (const Evas_Textblock_Style * ts)"
+.PP
+Return the text of the style ts. \fBParameters:\fP
+.RS 4
+\fIts\fP the style to get it's text. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the text of the style or null on error. 
+.RE
+.PP
+
+.SS "EAPI Evas_Textblock_Style* evas_textblock_style_new (void)"
+.PP
+Creates a new textblock style. \fBReturns:\fP
+.RS 4
+The new textblock style. 
+.RE
+.PP
+
+.SS "EAPI void evas_textblock_style_set (Evas_Textblock_Style * ts, const char * text)"
+.PP
+Sets the style ts to the style passed as text by text. Expected a string consisting of many (or none) tag='format' pairs.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIts\fP the style to set. 
+.br
+\fItext\fP the text to parse - NOT NULL. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns no value. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Object_Textblock_Node_Format.3 b/doc/man/man3/Evas_Object_Textblock_Node_Format.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Output_Method.3 b/doc/man/man3/Evas_Output_Method.3
new file mode 100644 (file)
index 0000000..488ad1b
--- /dev/null
@@ -0,0 +1,250 @@
+.TH "Render Engine Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Render Engine Functions \- 
+.PP
+Functions that are used to set the render engine for a given function, and then get that engine working.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_output_method_set\fP (\fBEvas\fP *e, int render_method)"
+.br
+.RI "\fISets the output engine for the given evas. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_output_method_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIRetrieves the number of the output engine used for the given evas. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Engine_Info\fP * \fBevas_engine_info_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIRetrieves the current render engine info struct from the given evas. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_engine_info_set\fP (\fBEvas\fP *e, \fBEvas_Engine_Info\fP *info)"
+.br
+.RI "\fIApplies the engine settings for the given evas from the given \fCEvas_Engine_Info\fP structure. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_render_method_lookup\fP (const char *name)"
+.br
+.RI "\fILook up a numeric ID from a string name of a rendering engine. \fP"
+.ti -1c
+.RI "EAPI Eina_List * \fBevas_render_method_list\fP (void)"
+.br
+.RI "\fIList all the rendering engines compiled into the copy of the Evas library. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_render_method_list_free\fP (Eina_List *list)"
+.br
+.RI "\fIThis function should be called to free a list of engine names. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that are used to set the render engine for a given function, and then get that engine working. 
+
+The following code snippet shows how they can be used to initialise an evas that uses the X11 software engine: 
+.PP
+.nf
+ Evas *evas;
+ Evas_Engine_Info_Software_X11 *einfo;
+ extern Display *display;
+ extern Window win;
+
+ evas_init();
+
+ evas = evas_new();
+ evas_output_method_set(evas, evas_render_method_lookup('software_x11'));
+ evas_output_size_set(evas, 640, 480);
+ evas_output_viewport_set(evas, 0, 0, 640, 480);
+ einfo = (Evas_Engine_Info_Software_X11 *)evas_engine_info_get(evas);
+ einfo->info.display = display;
+ einfo->info.visual = DefaultVisual(display, DefaultScreen(display));
+ einfo->info.colormap = DefaultColormap(display, DefaultScreen(display));
+ einfo->info.drawable = win;
+ einfo->info.depth = DefaultDepth(display, DefaultScreen(display));
+ evas_engine_info_set(evas, (Evas_Engine_Info *)einfo);
+
+.fi
+.PP
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Engine_Info\fP* evas_engine_info_get (const \fBEvas\fP * e)"
+.PP
+Retrieves the current render engine info struct from the given evas. The returned structure is publicly modifiable. The contents are valid until either \fBevas_engine_info_set\fP or \fBevas_render\fP are called.
+.PP
+This structure does not need to be freed by the caller.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to the Engine Info structure. \fCNULL\fP is returned if an engine has not yet been assigned. 
+.RE
+.PP
+
+.PP
+References _Evas_Engine_Info::magic.
+.SS "EAPI Eina_Bool evas_engine_info_set (\fBEvas\fP * e, \fBEvas_Engine_Info\fP * info)"
+.PP
+Applies the engine settings for the given evas from the given \fCEvas_Engine_Info\fP structure. To get the Evas_Engine_Info structure to use, call \fBevas_engine_info_get\fP . Do not try to obtain a pointer to an \fCEvas_Engine_Info\fP structure in any other way.
+.PP
+You will need to call this function at least once before you can create objects on an evas or render that evas. Some engines allow their settings to be changed more than once.
+.PP
+Once called, the \fCinfo\fP pointer should be considered invalid.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas 
+.br
+\fIinfo\fP The pointer to the Engine Info to use 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 if no error occurred, 0 otherwise 
+.RE
+.PP
+
+.PP
+References _Evas_Engine_Info::magic.
+.SS "EAPI int evas_output_method_get (const \fBEvas\fP * e)"
+.PP
+Retrieves the number of the output engine used for the given evas. \fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The ID number of the output engine being used. \fC0\fP is returned if there is an error. 
+.RE
+.PP
+
+.SS "EAPI void evas_output_method_set (\fBEvas\fP * e, int render_method)"
+.PP
+Sets the output engine for the given evas. Once the output engine for an evas is set, any attempt to change it will be ignored. The value for \fCrender_method\fP can be found using \fBevas_render_method_lookup\fP .
+.PP
+\fBAttention:\fP
+.RS 4
+it is mandatory that one calls \fBevas_init()\fP before setting the output method.
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.br
+\fIrender_method\fP The numeric engine value to use. 
+.RE
+.PP
+
+.SS "EAPI Eina_List* evas_render_method_list (void)"
+.PP
+List all the rendering engines compiled into the copy of the Evas library. \fBReturns:\fP
+.RS 4
+A linked list whose data members are C strings of engine names
+.RE
+.PP
+Calling this will return a handle (pointer) to an Evas linked list. Each node in the linked list will have the data pointer be a (char *) pointer to the string name of the rendering engine available. The strings should never be modified, neither should the list be modified. This list should be cleaned up as soon as the program no longer needs it using \fBevas_render_method_list_free()\fP. If no engines are available from Evas, NULL will be returned.
+.PP
+Example: 
+.PP
+.nf
+ Eina_List *engine_list, *l;
+ char *engine_name;
+
+ engine_list = evas_render_method_list();
+ if (!engine_list)
+   {
+     fprintf(stderr, 'ERROR: Evas supports no engines! Exit.\n');
+     exit(-1);
+   }
+ printf('Availible Evas Engines:\n');
+ EINA_LIST_FOREACH(engine_list, l, engine_name)
+     printf('%s\n', engine_name);
+ evas_render_method_list_free(engine_list);
+
+.fi
+.PP
+.SS "EAPI void evas_render_method_list_free (Eina_List * list)"
+.PP
+This function should be called to free a list of engine names. \fBParameters:\fP
+.RS 4
+\fIlist\fP The Eina_List base pointer for the engine list to be freed
+.RE
+.PP
+When this function is called it will free the engine list passed in as \fClist\fP. The list should only be a list of engines generated by calling \fBevas_render_method_list()\fP. If \fClist\fP is NULL, nothing will happen.
+.PP
+Example: 
+.PP
+.nf
+ Eina_List *engine_list, *l;
+ char *engine_name;
+
+ engine_list = evas_render_method_list();
+ if (!engine_list)
+   {
+     fprintf(stderr, 'ERROR: Evas supports no engines! Exit.\n');
+     exit(-1);
+   }
+ printf('Availible Evas Engines:\n');
+ EINA_LIST_FOREACH(engine_list, l, engine_name)
+     printf('%s\n', engine_name);
+ evas_render_method_list_free(engine_list);
+
+.fi
+.PP
+.SS "EAPI int evas_render_method_lookup (const char * name)"
+.PP
+Look up a numeric ID from a string name of a rendering engine. \fBParameters:\fP
+.RS 4
+\fIname\fP The string name of an engine 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A numeric (opaque) ID for the rendering engine
+.RE
+.PP
+This function looks up a numeric return value for the named engine in the string \fCname\fP. This is a normal C string, NUL byte terminated. The name is case sensitive. If the rendering engine is available, a numeric ID for that engine is returned that is not 0. If the engine is not available, 0 is returned, indicating an invalid engine.
+.PP
+The programmer should NEVER rely on the numeric ID of an engine unless it is returned by this function. Programs should NOT be written accessing render method ID's directly, without first obtaining it from this function.
+.PP
+\fBAttention:\fP
+.RS 4
+it is mandatory that one calls \fBevas_init()\fP before looking up the render method.
+.RE
+.PP
+Example: 
+.PP
+.nf
+ int engine_id;
+ Evas *evas;
+
+ evas_init();
+
+ evas = evas_new();
+ if (!evas)
+   {
+     fprintf(stderr, 'ERROR: Canvas creation failed. Fatal error.\n');
+     exit(-1);
+   }
+ engine_id = evas_render_method_lookup('software_x11');
+ if (!engine_id)
+   {
+     fprintf(stderr, 'ERROR: Requested rendering engine is absent.\n');
+     exit(-1);
+   }
+ evas_output_method_set(evas, engine_id);
+
+.fi
+.PP
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Output_Size.3 b/doc/man/man3/Evas_Output_Size.3
new file mode 100644 (file)
index 0000000..32df259
--- /dev/null
@@ -0,0 +1,119 @@
+.TH "Output and Viewport Resizing Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Output and Viewport Resizing Functions \- 
+.PP
+Functions that set and retrieve the output and viewport size of an evas.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_output_size_set\fP (\fBEvas\fP *e, int w, int h)"
+.br
+.RI "\fISets the output size of the render engine of the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_output_size_get\fP (const \fBEvas\fP *e, int *w, int *h)"
+.br
+.RI "\fIRetrieve the output size of the render engine of the given evas. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_output_viewport_set\fP (\fBEvas\fP *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)"
+.br
+.RI "\fISets the output viewport of the given evas in evas units. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_output_viewport_get\fP (const \fBEvas\fP *e, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h)"
+.br
+.RI "\fIGet the render engine's output viewport co-ordinates in canvas units. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that set and retrieve the output and viewport size of an evas. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_output_size_get (const \fBEvas\fP * e, int * w, int * h)"
+.PP
+Retrieve the output size of the render engine of the given evas. The output size is given in whatever the output units are for the engine.
+.PP
+If either \fCw\fP or \fCh\fP is \fCNULL\fP, then it is ignored. If \fCe\fP is invalid, the returned results are undefined.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.br
+\fIw\fP The pointer to an integer to store the width in. 
+.br
+\fIh\fP The pointer to an integer to store the height in. 
+.RE
+.PP
+
+.SS "EAPI void evas_output_size_set (\fBEvas\fP * e, int w, int h)"
+.PP
+Sets the output size of the render engine of the given evas. The evas will render to a rectangle of the given size once this function is called. The output size is independent of the viewport size. The viewport will be stretched to fill the given rectangle.
+.PP
+The units used for \fCw\fP and \fCh\fP depend on the engine used by the evas.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.br
+\fIw\fP The width in output units, usually pixels. 
+.br
+\fIh\fP The height in output units, usually pixels. 
+.RE
+.PP
+
+.SS "EAPI void evas_output_viewport_get (const \fBEvas\fP * e, Evas_Coord * x, Evas_Coord * y, Evas_Coord * w, Evas_Coord * h)"
+.PP
+Get the render engine's output viewport co-ordinates in canvas units. \fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas 
+.br
+\fIx\fP The pointer to a x variable to be filled in 
+.br
+\fIy\fP The pointer to a y variable to be filled in 
+.br
+\fIw\fP The pointer to a width variable to be filled in 
+.br
+\fIh\fP The pointer to a height variable to be filled in
+.RE
+.PP
+Calling this function writes the current canvas output viewport size and location values into the variables pointed to by \fCx\fP, \fCy\fP, \fCw\fP and \fCh\fP. On success the variables have the output location and size values written to them in canvas units. Any of \fCx\fP, \fCy\fP, \fCw\fP or \fCh\fP that are NULL will not be written to. If \fCe\fP is invalid, the results are undefined.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+ Evas_Coord x, y, width, height;
+
+ evas_output_viewport_get(evas, &x, &y, &w, &h);
+
+.fi
+.PP
+.SS "EAPI void evas_output_viewport_set (\fBEvas\fP * e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)"
+.PP
+Sets the output viewport of the given evas in evas units. The output viewport is the area of the evas that will be visible to the viewer. The viewport will be stretched to fit the output target of the evas when rendering is performed.
+.PP
+\fBNote:\fP
+.RS 4
+The coordinate values do not have to map 1-to-1 with the output target. However, it is generally advised that it is done for ease of use.
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIe\fP The given evas. 
+.br
+\fIx\fP The top-left corner x value of the viewport. 
+.br
+\fIy\fP The top-left corner y value of the viewport. 
+.br
+\fIw\fP The width of the viewport. Must be greater than 0. 
+.br
+\fIh\fP The height of the viewport. Must be greater than 0. 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Performance.3 b/doc/man/man3/Evas_Performance.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Pixel_Import_Pixel_Format.3 b/doc/man/man3/Evas_Pixel_Import_Pixel_Format.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Pixel_Import_Source.3 b/doc/man/man3/Evas_Pixel_Import_Source.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Point.3 b/doc/man/man3/Evas_Point.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Pointer_Group.3 b/doc/man/man3/Evas_Pointer_Group.3
new file mode 100644 (file)
index 0000000..b255063
--- /dev/null
@@ -0,0 +1,153 @@
+.TH "Pointer (Mouse) Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Pointer (Mouse) Functions \- 
+.PP
+Functions that deal with the status of the pointer (mouse cursor).  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_pointer_output_xy_get\fP (const \fBEvas\fP *e, int *x, int *y)"
+.br
+.RI "\fIThis function returns the current known pointer co-ordinates. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_pointer_canvas_xy_get\fP (const \fBEvas\fP *e, Evas_Coord *x, Evas_Coord *y)"
+.br
+.RI "\fIThis function returns the current known pointer co-ordinates. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_pointer_button_down_mask_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIReturns a bitmask with the mouse buttons currently pressed, set to 1. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_pointer_inside_get\fP (const \fBEvas\fP *e)"
+.br
+.RI "\fIReturns whether the mouse pointer is logically inside the canvas. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with the status of the pointer (mouse cursor). 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI int evas_pointer_button_down_mask_get (const \fBEvas\fP * e)"
+.PP
+Returns a bitmask with the mouse buttons currently pressed, set to 1. \fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A bitmask of the currently depressed buttons on the cavas
+.RE
+.PP
+Calling this function will return a 32-bit integer with the appropriate bits set to 1 that correspond to a mouse button being depressed. This limits Evas to a mouse devices with a maximum of 32 buttons, but that is generally in excess of any host system's pointing device abilities.
+.PP
+A canvas by default begins with no mouse buttons being pressed and only calls to \fBevas_event_feed_mouse_down()\fP, evas_event_feed_mouse_down_data(), \fBevas_event_feed_mouse_up()\fP and evas_event_feed_mouse_up_data() will alter that.
+.PP
+The least significant bit corresponds to the first mouse button (button 1) and the most significant bit corresponds to the last mouse button (button 32).
+.PP
+If \fCe\fP is not a valid canvas, the return value is undefined.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+ int button_mask, i;
+
+ button_mask = evas_pointer_button_down_mask_get(evas);
+ printf('Buttons currently pressed:\n');
+ for (i = 0; i < 32; i++)
+   {
+     if ((button_mask & (1 << i)) != 0) printf('Button %i\n', i + 1);
+   }
+
+.fi
+.PP
+.SS "EAPI void evas_pointer_canvas_xy_get (const \fBEvas\fP * e, Evas_Coord * x, Evas_Coord * y)"
+.PP
+This function returns the current known pointer co-ordinates. \fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas 
+.br
+\fIx\fP The pointer to a Evas_Coord to be filled in 
+.br
+\fIy\fP The pointer to a Evas_Coord to be filled in
+.RE
+.PP
+This function returns the current known canvas unit co-ordinates of the mouse pointer and sets the contents of the Evas_Coords pointed to by \fCx\fP and \fCy\fP to contain these co-ordinates. If \fCe\fP is not a valid canvas the results of this function are undefined.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+ Evas_Coord mouse_x, mouse_y;
+
+ evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y);
+ printf('Mouse is at canvas position %f, %f\n', mouse_x, mouse_y);
+
+.fi
+.PP
+.SS "EAPI Eina_Bool evas_pointer_inside_get (const \fBEvas\fP * e)"
+.PP
+Returns whether the mouse pointer is logically inside the canvas. \fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+An integer that is 1 if the mouse is inside the canvas, 0 otherwise
+.RE
+.PP
+When this function is called it will return a value of either 0 or 1, depending on if \fBevas_event_feed_mouse_in()\fP, evas_event_feed_mouse_in_data(), or \fBevas_event_feed_mouse_out()\fP, evas_event_feed_mouse_out_data() have been called to feed in a mouse enter event into the canvas.
+.PP
+A return value of 1 indicates the mouse is logically inside the canvas, and 0 implies it is logically outside the canvas.
+.PP
+A canvas begins with the mouse being assumed outside (0).
+.PP
+If \fCe\fP is not a valid canvas, the return value is undefined.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+
+ if (evas_pointer_inside_get(evas)) printf('Mouse is in!\n');
+ else printf('Mouse is out!\n');
+
+.fi
+.PP
+.SS "EAPI void evas_pointer_output_xy_get (const \fBEvas\fP * e, int * x, int * y)"
+.PP
+This function returns the current known pointer co-ordinates. \fBParameters:\fP
+.RS 4
+\fIe\fP The pointer to the Evas Canvas 
+.br
+\fIx\fP The pointer to an integer to be filled in 
+.br
+\fIy\fP The pointer to an integer to be filled in
+.RE
+.PP
+This function returns the current known screen/output co-ordinates of the mouse pointer and sets the contents of the integers pointed to by \fCx\fP and \fCy\fP to contain these co-ordinates. If \fCe\fP is not a valid canvas the results of this function are undefined.
+.PP
+Example: 
+.PP
+.nf
+ extern Evas *evas;
+ int mouse_x, mouse_y;
+
+ evas_pointer_output_xy_get(evas, &mouse_x, &mouse_y);
+ printf('Mouse is at screen position %i, %i\n', mouse_x, mouse_y);
+
+.fi
+.PP
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Position.3 b/doc/man/man3/Evas_Position.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Precision_Position.3 b/doc/man/man3/Evas_Precision_Position.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Render_Op.3 b/doc/man/man3/Evas_Render_Op.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/Evas_Smart.3 b/doc/man/man3/Evas_Smart.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Smart_Cb_Description.3 b/doc/man/man3/Evas_Smart_Cb_Description.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Smart_Class.3 b/doc/man/man3/Evas_Smart_Class.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/Evas_Smart_Group.3 b/doc/man/man3/Evas_Smart_Group.3
new file mode 100644 (file)
index 0000000..957cb93
--- /dev/null
@@ -0,0 +1,413 @@
+.TH "Smart Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Smart Functions \- 
+.PP
+Functions that deal with Evas_Smart's, creating definition (classes) of objects that will have customized behavior for methods like \fBevas_object_move()\fP, \fBevas_object_resize()\fP, \fBevas_object_clip_set()\fP and others.  
+
+.SS "Data Structures"
+
+.in +1c
+.ti -1c
+.RI "struct \fB_Evas_Smart_Class\fP"
+.br
+.RI "\fIa smart object class \fP"
+.ti -1c
+.RI "struct \fB_Evas_Smart_Cb_Description\fP"
+.br
+.RI "\fIDescribes a callback used by a smart class \fBevas_object_smart_callback_call()\fP, particularly useful to explain to user and its code (ie: introspection) what the parameter \fCevent_info\fP will contain. \fP"
+.in -1c
+.SS "Defines"
+
+.in +1c
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_VERSION\fP   4"
+.br
+.RI "\fIThe version you have to put into the version field in the smart class struct. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_INIT_NULL\fP   {NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.br
+.RI "\fIInitializer to zero a whole Evas_Smart_Class structure. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_INIT_VERSION\fP   {NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.br
+.RI "\fIInitializer to zero a whole Evas_Smart_Class structure and set version. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_INIT_NAME_VERSION\fP(name)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.br
+.RI "\fIInitializer to zero a whole Evas_Smart_Class structure and set name and version. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT\fP(name, parent)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}"
+.br
+.RI "\fIInitializer to zero a whole Evas_Smart_Class structure and set name, version and parent class. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS\fP(name, parent, callbacks)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}"
+.br
+.RI "\fIInitializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callbacks definition. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_SUBCLASS_NEW\fP(smart_name, prefix, api_type, parent_type, parent_func, cb_desc)"
+.br
+.RI "\fIConvenience macro to subclass a Smart Class. \fP"
+.ti -1c
+.RI "#define \fBEVAS_SMART_DATA_ALLOC\fP(o, priv_type)"
+.br
+.RI "\fIConvenience macro to allocate smart data only if needed. \fP"
+.ti -1c
+.RI "#define \fBevas_smart_class_inherit\fP(sc, parent_sc)   evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))"
+.br
+.RI "\fIEasy to use version of \fBevas_smart_class_inherit_full()\fP. \fP"
+.in -1c
+.SS "Typedefs"
+
+.in +1c
+.ti -1c
+.RI "typedef struct \fB_Evas_Smart_Class\fP \fBEvas_Smart_Class\fP"
+.br
+.RI "\fIA smart object base class. \fP"
+.ti -1c
+.RI "typedef struct \fB_Evas_Smart_Cb_Description\fP \fBEvas_Smart_Cb_Description\fP"
+.br
+.RI "\fIA smart object callback description, used to provide introspection. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_smart_free\fP (\fBEvas_Smart\fP *s)"
+.br
+.RI "\fIFree an Evas_Smart. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Smart\fP * \fBevas_smart_class_new\fP (const \fBEvas_Smart_Class\fP *sc)"
+.br
+.RI "\fICreates an Evas_Smart from an Evas_Smart_Class. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Smart_Class\fP * \fBevas_smart_class_get\fP (const \fBEvas_Smart\fP *s)"
+.br
+.RI "\fIGet the Evas_Smart_Class of an Evas_Smart. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_smart_data_get\fP (const \fBEvas_Smart\fP *s)"
+.br
+.RI "\fIGet the data pointer set on an Evas_Smart. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Smart_Cb_Description\fP ** \fBevas_smart_callbacks_descriptions_get\fP (const \fBEvas_Smart\fP *s, unsigned int *count)"
+.br
+.RI "\fIGet the callbacks known by this Evas_Smart. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Smart_Cb_Description\fP * \fBevas_smart_callback_description_find\fP (const \fBEvas_Smart\fP *s, const char *name)"
+.br
+.RI "\fIFind callback description for callback called \fIname\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_smart_class_inherit_full\fP (\fBEvas_Smart_Class\fP *sc, const \fBEvas_Smart_Class\fP *parent_sc, unsigned int parent_sc_size)"
+.br
+.RI "\fISets one class to inherit from the other. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions that deal with Evas_Smart's, creating definition (classes) of objects that will have customized behavior for methods like \fBevas_object_move()\fP, \fBevas_object_resize()\fP, \fBevas_object_clip_set()\fP and others. 
+
+These objects will accept the generic methods defined in \fBGeneric Object Functions\fP and the extensions defined in \fBSmart Object Functions\fP. There are couple of existent smart objects in Evas itself, see \fBBox (Sequence) Smart Object.\fP, \fBTable Smart Object.\fP and \fBClipped Smart Object\fP. 
+.SH "Define Documentation"
+.PP 
+.SS "#define evas_smart_class_inherit(sc, parent_sc)   evas_smart_class_inherit_full(sc, parent_sc, sizeof(*parent_sc))"
+.PP
+Easy to use version of \fBevas_smart_class_inherit_full()\fP. This version will use sizeof(parent_sc), copying everything.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsc\fP child class, will have methods copied from \fIparent_sc\fP 
+.br
+\fIparent_sc\fP parent class, will provide contents to be copied. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure. 
+.RE
+.PP
+
+.SS "#define EVAS_SMART_CLASS_INIT_NAME_VERSION(name)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.PP
+Initializer to zero a whole Evas_Smart_Class structure and set name and version. Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION and name to the specified value.
+.PP
+It will keep a reference to name field as a 'const char *', that is, name must be available while the structure is used (hint: static or global!) and will not be modified.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBEVAS_SMART_CLASS_INIT_NULL\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_VERSION\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS\fP 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_smart_clipped_class_get().
+.SS "#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT(name, parent)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, NULL, NULL}"
+.PP
+Initializer to zero a whole Evas_Smart_Class structure and set name, version and parent class. Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION, name to the specified value and parent class.
+.PP
+It will keep a reference to name field as a 'const char *', that is, name must be available while the structure is used (hint: static or global!) and will not be modified. Similarly, parent reference will be kept.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBEVAS_SMART_CLASS_INIT_NULL\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_VERSION\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS\fP 
+.RE
+.PP
+
+.SS "#define EVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS(name, parent, callbacks)   {name, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, parent, callbacks, NULL}"
+.PP
+Initializer to zero a whole Evas_Smart_Class structure and set name, version, parent class and callbacks definition. Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION, name to the specified value, parent class and callbacks at this level.
+.PP
+It will keep a reference to name field as a 'const char *', that is, name must be available while the structure is used (hint: static or global!) and will not be modified. Similarly, parent and callbacks reference will be kept.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBEVAS_SMART_CLASS_INIT_NULL\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_VERSION\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT\fP 
+.RE
+.PP
+
+.SS "#define EVAS_SMART_CLASS_INIT_NULL   {NULL, 0, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.PP
+Initializer to zero a whole Evas_Smart_Class structure. \fBSee also:\fP
+.RS 4
+\fBEVAS_SMART_CLASS_INIT_VERSION\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS\fP 
+.RE
+.PP
+
+.SS "#define EVAS_SMART_CLASS_INIT_VERSION   {NULL, EVAS_SMART_CLASS_VERSION, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}"
+.PP
+Initializer to zero a whole Evas_Smart_Class structure and set version. Similar to EVAS_SMART_CLASS_INIT_NULL, but will set version field to latest EVAS_SMART_CLASS_VERSION.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBEVAS_SMART_CLASS_INIT_NULL\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT\fP 
+.PP
+\fBEVAS_SMART_CLASS_INIT_NAME_VERSION_PARENT_CALLBACKS\fP 
+.RE
+.PP
+
+.SS "#define EVAS_SMART_DATA_ALLOC(o, priv_type)"\fBValue:\fP
+.PP
+.nf
+priv_type *priv; \
+   priv = evas_object_smart_data_get(o); \
+   if (!priv) { \
+      priv = (priv_type *)calloc(1, sizeof(priv_type)); \
+      if (!priv) return; \
+      evas_object_smart_data_set(o, priv); \
+   }
+.fi
+.PP
+Convenience macro to allocate smart data only if needed. When writing a subclassable smart object, the .add function will need to check if the smart private data was already allocated by some child object or not. This macro makes it easier to do it.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIo\fP Evas object passed to the .add function 
+.br
+\fIpriv_type\fP The type of the data to allocate 
+.RE
+.PP
+
+.SS "#define EVAS_SMART_SUBCLASS_NEW(smart_name, prefix, api_type, parent_type, parent_func, cb_desc)"\fBValue:\fP
+.PP
+.nf
+static const parent_type * prefix##_parent_sc = NULL;                   \
+  static void prefix##_smart_set_user(api_type *api);                   \
+  static void prefix##_smart_set(api_type *api)                         \
+  {                                                                     \
+     Evas_Smart_Class *sc;                                              \
+     if (!(sc = (Evas_Smart_Class *)api))                               \
+       return;                                                          \
+     if (!prefix##_parent_sc)                                           \
+       prefix##_parent_sc = parent_func();                              \
+     evas_smart_class_inherit(sc, (const Evas_Smart_Class *)prefix##_parent_sc); \
+     prefix##_smart_set_user(api);                                      \
+  }                                                                     \
+  static Evas_Smart * prefix##_smart_class_new(void)                    \
+  {                                                                     \
+     static Evas_Smart *smart = NULL;                                   \
+     static api_type api;                                               \
+     if (!smart)                                                        \
+       {                                                                \
+          Evas_Smart_Class *sc = (Evas_Smart_Class *)&api;              \
+          memset(&api, 0, sizeof(api_type));                            \
+          sc->version = EVAS_SMART_CLASS_VERSION;                       \
+          sc->name = smart_name;                                        \
+          sc->callbacks = cb_desc;                                      \
+          prefix##_smart_set(&api);                                     \
+          smart = evas_smart_class_new(sc);                             \
+       }                                                                \
+     return smart;                                                      \
+  }
+.fi
+.PP
+Convenience macro to subclass a Smart Class. This macro saves some typing when writing a Smart Class derived from another one. In order to work, the user needs to provide some functions adhering to the following guidelines.
+.IP "\(bu" 2
+<prefix>_smart_set_user(): the internal _smart_set function will call this one provided by the user after inheriting everything from the parent, which should take care of setting the right member functions for the class.
+.IP "\(bu" 2
+<prefix>_parent_sc: pointer to the smart class of the parent. When calling parent functions from overloaded ones, use this global variable.
+.IP "\(bu" 2
+<prefix>_smart_class_new(): this function returns the Evas_Smart needed to create smart objects with this class, should be called by the public _add() function.
+.IP "\(bu" 2
+If this new class should be subclassable as well, a public _smart_set() function is desirable to fill the class used as parent by the children. It's up to the user to provide this interface, which will most likely call <prefix>_smart_set() to get the job done.
+.PP
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsmart_name\fP The name used for the Smart Class. e.g: 'Evas_Object_Box'. 
+.br
+\fIprefix\fP Prefix used for all variables and functions defined. 
+.br
+\fIapi_type\fP Type of the structure used as API for the Smart Class. Either Evas_Smart_Class or something derived from it. 
+.br
+\fIparent_type\fP Type of the parent class API. 
+.br
+\fIparent_func\fP Function that gets the parent class. e.g: \fBevas_object_box_smart_class_get()\fP. 
+.br
+\fIcb_desc\fP Array of callback descriptions for this Smart Class. 
+.RE
+.PP
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI const \fBEvas_Smart_Cb_Description\fP* evas_smart_callback_description_find (const \fBEvas_Smart\fP * s, const char * name)"
+.PP
+Find callback description for callback called \fIname\fP. \fBParameters:\fP
+.RS 4
+\fIs\fP the Evas_Smart. 
+.br
+\fIname\fP name of desired callback, must \fBnot\fP be \fCNULL\fP. The search have a special case for \fIname\fP being the same pointer as registered with Evas_Smart_Cb_Description, one can use it to avoid excessive use of strcmp(). 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+reference to description if found, \fCNULL\fP if not found. 
+.RE
+.PP
+
+.SS "EAPI const \fBEvas_Smart_Cb_Description\fP** evas_smart_callbacks_descriptions_get (const \fBEvas_Smart\fP * s, unsigned int * count)"
+.PP
+Get the callbacks known by this Evas_Smart. This is likely different from \fBEvas_Smart_Class::callbacks\fP as it will contain the callbacks of all class hierarchy sorted, while the direct smart class member refers only to that specific class and should not include parent's.
+.PP
+If no callbacks are known, this function returns \fCNULL\fP.
+.PP
+The array elements and thus their contents will be reference to original values given to evas_smart_new() as \fBEvas_Smart_Class::callbacks\fP.
+.PP
+The array is sorted by name. The last array element is the \fCNULL\fP pointer and is not counted in \fIcount\fP. Loop iterations can check any of these cases.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIs\fP the Evas_Smart. 
+.br
+\fIcount\fP returns the number of elements in returned array. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the array with callback descriptions known by this class, its size is returned in \fIcount\fP parameter. It should not be modified anyhow. If no callbacks are known, \fCNULL\fP is returned. The array is sorted by name and elements refer to the original value given to evas_smart_new().
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+objects may provide per-instance callbacks, use \fBevas_object_smart_callbacks_descriptions_get()\fP to get those as well. 
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_smart_callbacks_descriptions_get()\fP 
+.RE
+.PP
+
+.SS "EAPI const \fBEvas_Smart_Class\fP* evas_smart_class_get (const \fBEvas_Smart\fP * s)"
+.PP
+Get the Evas_Smart_Class of an Evas_Smart. \fBParameters:\fP
+.RS 4
+\fIs\fP the Evas_Smart 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the Evas_Smart_Class 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_smart_class_inherit_full (\fBEvas_Smart_Class\fP * sc, const \fBEvas_Smart_Class\fP * parent_sc, unsigned int parent_sc_size)"
+.PP
+Sets one class to inherit from the other. Copy all function pointers, set \fCparent\fP to \fIparent_sc\fP and copy everything after sizeof(Evas_Smart_Class) present in \fIparent_sc\fP, using \fIparent_sc_size\fP as reference.
+.PP
+This is recommended instead of a single memcpy() since it will take care to not modify \fIsc\fP name, version, callbacks and possible other members.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIsc\fP child class. 
+.br
+\fIparent_sc\fP parent class, will provide attributes. 
+.br
+\fIparent_sc_size\fP size of parent_sc structure, child should be at least this size. Everything after \fCEvas_Smart_Class\fP size is copied using regular memcpy(). 
+.RE
+.PP
+
+.PP
+References EVAS_SMART_CLASS_VERSION, and _Evas_Smart_Class::parent.
+.SS "EAPI \fBEvas_Smart\fP* evas_smart_class_new (const \fBEvas_Smart_Class\fP * sc)"
+.PP
+Creates an Evas_Smart from an Evas_Smart_Class. \fBParameters:\fP
+.RS 4
+\fIsc\fP the smart class definition 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+an Evas_Smart 
+.RE
+.PP
+
+.PP
+References EVAS_SMART_CLASS_VERSION.
+.SS "EAPI void* evas_smart_data_get (const \fBEvas_Smart\fP * s)"
+.PP
+Get the data pointer set on an Evas_Smart. \fBParameters:\fP
+.RS 4
+\fIs\fP Evas_Smart
+.RE
+.PP
+This data pointer is set either as the final parameter to evas_smart_new or as the data field in the Evas_Smart_Class passed in to evas_smart_class_new 
+.SS "EAPI void evas_smart_free (\fBEvas_Smart\fP * s)"
+.PP
+Free an Evas_Smart. If this smart was created using \fBevas_smart_class_new()\fP, the associated Evas_Smart_Class will not be freed.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIs\fP the Evas_Smart to free 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Smart_Object_Clipped.3 b/doc/man/man3/Evas_Smart_Object_Clipped.3
new file mode 100644 (file)
index 0000000..ceba112
--- /dev/null
@@ -0,0 +1,131 @@
+.TH "Clipped Smart Object" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Clipped Smart Object \- 
+.PP
+Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_move_children_relative\fP (\fBEvas_Object\fP *obj, Evas_Coord dx, Evas_Coord dy)"
+.br
+.RI "\fIMoves all children objects relative to given offset. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_smart_clipped_clipper_get\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the clipper object for the given clipped smart object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_clipped_smart_set\fP (\fBEvas_Smart_Class\fP *sc)"
+.br
+.RI "\fISet smart class callbacks so it implements the 'Clipped Smart Object'. \fP"
+.ti -1c
+.RI "EAPI const \fBEvas_Smart_Class\fP * \fBevas_object_smart_clipped_class_get\fP (void)"
+.br
+.RI "\fIGet a pointer to the Clipped Smart Class to use for proper inheritance. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Clipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children. 
+
+This clipper will control the visibility, clipping and color of sibling objects (remember that the clipping is recursive, and clipper color modulates the color of its clippees). By default, this base will also move children relatively to the parent, and delete them when parent is deleted. In other words, it is the base for simple object grouping.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_smart_clipped_smart_set()\fP 
+.RE
+.PP
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Object\fP* evas_object_smart_clipped_clipper_get (\fBEvas_Object\fP * obj)"
+.PP
+Get the clipper object for the given clipped smart object. \fBParameters:\fP
+.RS 4
+\fIobj\fP the clipped smart object to retrieve the associated clipper. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the clipper object.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+evas_object_smart_clipped_smart_add() 
+.RE
+.PP
+
+.PP
+References evas_object_smart_data_get().
+.SS "EAPI void evas_object_smart_clipped_smart_set (\fBEvas_Smart_Class\fP * sc)"
+.PP
+Set smart class callbacks so it implements the 'Clipped Smart Object'. This call will assign all the required methods of Evas_Smart_Class, if one wants to 'subclass' it, call this function and later override values, if one wants to call the original method, save it somewhere, example:
+.PP
+.PP
+.nf
+ static Evas_Smart_Class parent_sc = EVAS_SMART_CLASS_INIT_NULL;
+
+ static void my_class_smart_add(Evas_Object *o)
+ {
+    parent_sc.add(o);
+    evas_object_color_set(evas_object_smart_clipped_clipper_get(o),
+                          255, 0, 0, 255);
+ }
+
+ Evas_Smart_Class *my_class_new(void)
+ {
+    static Evas_Smart_Class sc = EVAS_SMART_CLASS_INIT_NAME_VERSION('MyClass');
+    if (!parent_sc.name)
+      {
+         evas_object_smart_clipped_smart_set(&sc);
+         parent_sc = sc;
+         sc.add = my_class_smart_add;
+      }
+    return &sc;
+ }
+.fi
+.PP
+.PP
+Default behavior is:
+.IP "\(bu" 2
+add: creates a hidden clipper with 'infinite' size;
+.IP "\(bu" 2
+del: delete all children objects;
+.IP "\(bu" 2
+move: move all objects relative relatively;
+.IP "\(bu" 2
+resize: not defined;
+.IP "\(bu" 2
+show: if there are children objects, show clipper;
+.IP "\(bu" 2
+hide: hides clipper;
+.IP "\(bu" 2
+color_set: set the color of clipper;
+.IP "\(bu" 2
+clip_set: set clipper of clipper;
+.IP "\(bu" 2
+clip_unset: unset the clipper of clipper; 
+.PP
+
+.PP
+Referenced by evas_object_smart_clipped_class_get().
+.SS "EAPI void evas_object_smart_move_children_relative (\fBEvas_Object\fP * obj, Evas_Coord dx, Evas_Coord dy)"
+.PP
+Moves all children objects relative to given offset. \fBParameters:\fP
+.RS 4
+\fIobj\fP the smart evas object to use. 
+.br
+\fIdx\fP horizontal offset. 
+.br
+\fIdy\fP vertical offset. 
+.RE
+.PP
+
+.PP
+References evas_object_move().
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Smart_Object_Group.3 b/doc/man/man3/Evas_Smart_Object_Group.3
new file mode 100644 (file)
index 0000000..1585f48
--- /dev/null
@@ -0,0 +1,425 @@
+.TH "Smart Object Functions" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+Smart Object Functions \- 
+.PP
+Functions dealing with evas smart objects (instances).  
+
+.SS "Modules"
+
+.in +1c
+.ti -1c
+.RI "\fBClipped Smart Object\fP"
+.br
+.PP
+
+.RI "\fIClipped smart object is a base to construct other smart objects that based on the concept of having an internal clipper that is applied to all its other children. \fP"
+.ti -1c
+.RI "\fBBox (Sequence) Smart Object.\fP"
+.br
+.PP
+
+.RI "\fIConvenience smart object that packs children as a sequence using a layout function specified by user. \fP"
+.ti -1c
+.RI "\fBTable Smart Object.\fP"
+.br
+.PP
+
+.RI "\fIConvenience smart object that packs children using a tabular layout using children size hints to define their size and alignment inside their cell space. \fP"
+.in -1c
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_data_set\fP (\fBEvas_Object\fP *obj, void *data)"
+.br
+.RI "\fIStore a pointer to user data for a smart object. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_smart_data_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRetrieve user data stored on a smart object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Smart\fP * \fBevas_object_smart_smart_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the Evas_Smart from which \fCobj\fP was created. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_member_add\fP (\fBEvas_Object\fP *obj, \fBEvas_Object\fP *smart_obj)"
+.br
+.RI "\fISet an evas object as a member of a smart object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_member_del\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIRemoves a member object from a smart object. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_smart_parent_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGets the smart parent of an Evas_Object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_smart_type_check\fP (const \fBEvas_Object\fP *obj, const char *type)"
+.br
+.RI "\fIChecks the Smart type of the object and its parents. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_smart_type_check_ptr\fP (const \fBEvas_Object\fP *obj, const char *type)"
+.br
+.RI "\fIChecks the Smart type of the object and its parents using pointer comparison. \fP"
+.ti -1c
+.RI "EAPI \fBEvas_Object\fP * \fBevas_object_smart_add\fP (\fBEvas\fP *e, \fBEvas_Smart\fP *s)"
+.br
+.RI "\fIInstantiates a new smart object described by \fCs\fP. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_callback_add\fP (\fBEvas_Object\fP *obj, const char *event, void(*func)(void *data, \fBEvas_Object\fP *obj, void *event_info), const void *data)"
+.br
+.RI "\fIAdd a callback for the smart event specified by \fCevent\fP. \fP"
+.ti -1c
+.RI "EAPI void * \fBevas_object_smart_callback_del\fP (\fBEvas_Object\fP *obj, const char *event, void(*func)(void *data, \fBEvas_Object\fP *obj, void *event_info))"
+.br
+.RI "\fIRemove a smart callback. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_callback_call\fP (\fBEvas_Object\fP *obj, const char *event, void *event_info)"
+.br
+.RI "\fICall any smart callbacks on \fCobj\fP for \fCevent\fP. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_smart_callbacks_descriptions_set\fP (\fBEvas_Object\fP *obj, const \fBEvas_Smart_Cb_Description\fP *descriptions)"
+.br
+.RI "\fISet smart object instance callbacks descriptions. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_callbacks_descriptions_get\fP (const \fBEvas_Object\fP *obj, const \fBEvas_Smart_Cb_Description\fP ***class_descriptions, unsigned int *class_count, const \fBEvas_Smart_Cb_Description\fP ***instance_descriptions, unsigned int *instance_count)"
+.br
+.RI "\fIGet the callbacks descriptions known by this smart object. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_need_recalculate_set\fP (\fBEvas_Object\fP *obj, Eina_Bool value)"
+.br
+.RI "\fISet the need_recalculate flag of given smart object. \fP"
+.ti -1c
+.RI "EAPI Eina_Bool \fBevas_object_smart_need_recalculate_get\fP (const \fBEvas_Object\fP *obj)"
+.br
+.RI "\fIGet the current value of need_recalculate flag. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_calculate\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fICall user provided calculate() and unset need_calculate. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_smart_objects_calculate\fP (\fBEvas\fP *e)"
+.br
+.RI "\fICall user provided calculate() and unset need_calculate on all objects. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_object_smart_changed\fP (\fBEvas_Object\fP *obj)"
+.br
+.RI "\fIMark smart object as changed, dirty. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Functions dealing with evas smart objects (instances). 
+
+Smart objects are groupings of primitive evas objects that behave as a cohesive group. For instance, a file manager icon may be a smart object composed of an image object, a text label and two rectangles that appear behind the image and text when the icon is selected. As a smart object, the normal evas api could be used on the icon object.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBSmart Functions\fP for class definitions. 
+.RE
+.PP
+
+.SH "Function Documentation"
+.PP 
+.SS "EAPI \fBEvas_Object\fP* evas_object_smart_add (\fBEvas\fP * e, \fBEvas_Smart\fP * s)"
+.PP
+Instantiates a new smart object described by \fCs\fP. \fBParameters:\fP
+.RS 4
+\fIe\fP the evas on which to add the object 
+.br
+\fIs\fP the Evas_Smart describing the smart object 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+a new Evas_Object 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_box_add(), and evas_object_table_add().
+.SS "EAPI void evas_object_smart_calculate (\fBEvas_Object\fP * obj)"
+.PP
+Call user provided calculate() and unset need_calculate. \fBParameters:\fP
+.RS 4
+\fIobj\fP the smart object 
+.RE
+.PP
+
+.SS "EAPI void evas_object_smart_callback_add (\fBEvas_Object\fP * obj, const char * event, void(*)(void *data, \fBEvas_Object\fP *obj, void *event_info) func, const void * data)"
+.PP
+Add a callback for the smart event specified by \fCevent\fP. \fBParameters:\fP
+.RS 4
+\fIobj\fP a smart object 
+.br
+\fIevent\fP the event name 
+.br
+\fIfunc\fP the callback function 
+.br
+\fIdata\fP user data to be passed to the callback function 
+.RE
+.PP
+
+.SS "EAPI void evas_object_smart_callback_call (\fBEvas_Object\fP * obj, const char * event, void * event_info)"
+.PP
+Call any smart callbacks on \fCobj\fP for \fCevent\fP. \fBParameters:\fP
+.RS 4
+\fIobj\fP the smart object 
+.br
+\fIevent\fP the event name 
+.br
+\fIevent_info\fP an event specific struct of info to pass to the callback
+.RE
+.PP
+This should be called internally in the smart object when some specific event has occurred. The documentation for the smart object should include a list of possible events and what type of \fCevent_info\fP to expect. 
+.SS "EAPI void* evas_object_smart_callback_del (\fBEvas_Object\fP * obj, const char * event, void(*)(void *data, \fBEvas_Object\fP *obj, void *event_info) func)"
+.PP
+Remove a smart callback. Removes a callback that was added by \fBevas_object_smart_callback_add()\fP
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP a smart object 
+.br
+\fIevent\fP the event name 
+.br
+\fIfunc\fP the callback function 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the data pointer 
+.RE
+.PP
+
+.SS "EAPI void evas_object_smart_callbacks_descriptions_get (const \fBEvas_Object\fP * obj, const \fBEvas_Smart_Cb_Description\fP *** class_descriptions, unsigned int * class_count, const \fBEvas_Smart_Cb_Description\fP *** instance_descriptions, unsigned int * instance_count)"
+.PP
+Get the callbacks descriptions known by this smart object. This call retrieves processed callbacks descriptions for both instance and class. These arrays are sorted by description's name and are \fCNULL\fP terminated, so both \fIclass_count\fP and \fIinstance_count\fP can be ignored, the terminator \fCNULL\fP is not counted in these values.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the smart object. 
+.br
+\fIclass_descriptions\fP where to store class callbacks descriptions array, if any is known. If no descriptions are known, \fCNULL\fP is returned. This parameter may be \fCNULL\fP if it is not of interest. 
+.br
+\fIclass_count\fP returns how many class callbacks descriptions are known. 
+.br
+\fIinstance_descriptions\fP where to store instance callbacks descriptions array, if any is known. If no descriptions are known, \fCNULL\fP is returned. This parameter may be \fCNULL\fP if it is not of interest. 
+.br
+\fIinstance_count\fP returns how many instance callbacks descriptions are known.
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+if just class descriptions are of interest, try \fBevas_smart_callbacks_descriptions_get()\fP instead.
+.RE
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_smart_callbacks_descriptions_get()\fP 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_object_smart_callbacks_descriptions_set (\fBEvas_Object\fP * obj, const \fBEvas_Smart_Cb_Description\fP * descriptions)"
+.PP
+Set smart object instance callbacks descriptions. These descriptions are hints to be used by introspection and are not enforced in any way.
+.PP
+It will not be checked if instance callbacks descriptions have the same name as another in class. Both are kept in different arrays and users of \fBevas_object_smart_callbacks_descriptions_get()\fP should handle this case as they wish.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP The smart object 
+.br
+\fIdescriptions\fP NULL terminated (name != NULL) array with descriptions. Array elements will not be modified, but reference to them and their contents will be made, so this array should be kept alive during object lifetime. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+1 on success, 0 on failure.
+.RE
+.PP
+\fBNote:\fP
+.RS 4
+while instance callbacks descriptions are possible, they are not recommended. Use class callbacks descriptions instead as they make user's life simpler and will use less memory as descriptions and arrays will be shared among all instances. 
+.RE
+.PP
+
+.PP
+References _Evas_Smart_Cb_Description::name.
+.SS "EAPI void evas_object_smart_changed (\fBEvas_Object\fP * obj)"
+.PP
+Mark smart object as changed, dirty. This will inform the scene that it changed and needs to be redraw, also setting need_recalculate on the given object.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_object_smart_need_recalculate_set()\fP. 
+.RE
+.PP
+
+.PP
+References evas_object_smart_need_recalculate_set().
+.PP
+Referenced by evas_object_box_align_set(), evas_object_box_append(), evas_object_box_insert_after(), evas_object_box_insert_at(), evas_object_box_insert_before(), evas_object_box_layout_set(), evas_object_box_option_property_vset(), evas_object_box_padding_set(), evas_object_box_prepend(), evas_object_box_remove(), evas_object_box_remove_all(), evas_object_box_remove_at(), evas_object_table_align_set(), evas_object_table_clear(), evas_object_table_homogeneous_set(), evas_object_table_pack(), evas_object_table_padding_set(), and evas_object_table_unpack().
+.SS "EAPI void* evas_object_smart_data_get (const \fBEvas_Object\fP * obj)"
+.PP
+Retrieve user data stored on a smart object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The smart object 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+A pointer to data stored using \fBevas_object_smart_data_set()\fP, or NULL if none has been set. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_smart_clipped_clipper_get().
+.SS "EAPI void evas_object_smart_data_set (\fBEvas_Object\fP * obj, void * data)"
+.PP
+Store a pointer to user data for a smart object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The smart object 
+.br
+\fIdata\fP A pointer to user data 
+.RE
+.PP
+
+.SS "EAPI void evas_object_smart_member_add (\fBEvas_Object\fP * obj, \fBEvas_Object\fP * smart_obj)"
+.PP
+Set an evas object as a member of a smart object. \fBParameters:\fP
+.RS 4
+\fIobj\fP The member object 
+.br
+\fIsmart_obj\fP The smart object
+.RE
+.PP
+Members will automatically be stacked and layered with the smart object. The various stacking function will operate on members relative to the other members instead of the entire canvas.
+.PP
+Non-member objects can not interleave a smart object's members. 
+.PP
+References evas_object_smart_member_del().
+.PP
+Referenced by evas_object_box_add_to(), evas_object_box_append(), evas_object_box_insert_after(), evas_object_box_insert_at(), evas_object_box_insert_before(), evas_object_box_prepend(), evas_object_table_add_to(), and evas_object_table_pack().
+.SS "EAPI void evas_object_smart_member_del (\fBEvas_Object\fP * obj)"
+.PP
+Removes a member object from a smart object. \fBParameters:\fP
+.RS 4
+\fIobj\fP the member object
+.RE
+.PP
+This removes a member object from a smart object. The object will still be on the canvas, but no longer associated with whichever smart object it was associated with. 
+.PP
+Referenced by evas_object_box_remove(), evas_object_box_remove_all(), evas_object_box_remove_at(), evas_object_smart_member_add(), evas_object_table_clear(), and evas_object_table_unpack().
+.SS "EAPI Eina_Bool evas_object_smart_need_recalculate_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the current value of need_recalculate flag. \fBNote:\fP
+.RS 4
+this flag will be unset during the render phase, after calculate() is called if one is provided. If no calculate() is provided, then the flag will be left unchanged after render phase.
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the smart object 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+if flag is set or not. 
+.RE
+.PP
+
+.SS "EAPI void evas_object_smart_need_recalculate_set (\fBEvas_Object\fP * obj, Eina_Bool value)"
+.PP
+Set the need_recalculate flag of given smart object. If this flag is set then calculate() callback (method) of the given smart object will be called, if one is provided, during render phase usually \fBevas_render()\fP. After this step, this flag will be automatically unset.
+.PP
+If no calculate() is provided, this flag will be left unchanged.
+.PP
+\fBNote:\fP
+.RS 4
+just setting this flag will not make scene dirty and \fBevas_render()\fP will have no effect. To do that, use \fBevas_object_smart_changed()\fP, that will automatically call this function with 1 as parameter.
+.RE
+.PP
+\fBParameters:\fP
+.RS 4
+\fIobj\fP the smart object 
+.br
+\fIvalue\fP if one want to set or unset the need_recalculate flag. 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_smart_changed().
+.SS "EAPI \fBEvas_Object\fP* evas_object_smart_parent_get (const \fBEvas_Object\fP * obj)"
+.PP
+Gets the smart parent of an Evas_Object. \fBParameters:\fP
+.RS 4
+\fIobj\fP the Evas_Object you want to get the parent 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Returns the smart parent of \fIobj\fP, or NULL if \fIobj\fP is not a smart member of another Evas_Object 
+.RE
+.PP
+
+.PP
+Referenced by evas_object_table_unpack().
+.SS "EAPI \fBEvas_Smart\fP* evas_object_smart_smart_get (const \fBEvas_Object\fP * obj)"
+.PP
+Get the Evas_Smart from which \fCobj\fP was created. \fBParameters:\fP
+.RS 4
+\fIobj\fP a smart object 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+the Evas_Smart 
+.RE
+.PP
+
+.SS "EAPI Eina_Bool evas_object_smart_type_check (const \fBEvas_Object\fP * obj, const char * type)"
+.PP
+Checks the Smart type of the object and its parents. \fBParameters:\fP
+.RS 4
+\fIobj\fP the Evas_Object to check the type of 
+.br
+\fItype\fP the type to check for 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE if \fIobj\fP or any of its parents if of type \fItype\fP, EINA_FALSE otherwise 
+.RE
+.PP
+
+.PP
+References _Evas_Smart_Class::name, and _Evas_Smart_Class::parent.
+.SS "EAPI Eina_Bool evas_object_smart_type_check_ptr (const \fBEvas_Object\fP * obj, const char * type)"
+.PP
+Checks the Smart type of the object and its parents using pointer comparison. \fBParameters:\fP
+.RS 4
+\fIobj\fP the Evas_Object to check the type of 
+.br
+\fItype\fP the type to check for. Must be the name pointer in the smart class used to create the object 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+EINA_TRUE if \fIobj\fP or any of its parents if of type \fItype\fP, EINA_FALSE otherwise 
+.RE
+.PP
+
+.PP
+References _Evas_Smart_Class::name, and _Evas_Smart_Class::parent.
+.SS "EAPI void evas_smart_objects_calculate (\fBEvas\fP * e)"
+.PP
+Call user provided calculate() and unset need_calculate on all objects. \fBParameters:\fP
+.RS 4
+\fIe\fP The canvas to calculate all objects in 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/Evas_Utils.3 b/doc/man/man3/Evas_Utils.3
new file mode 100644 (file)
index 0000000..6c22f0a
--- /dev/null
@@ -0,0 +1,221 @@
+.TH "General Utilities" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+General Utilities \- 
+.PP
+Some functions that are handy but are not specific of canvas or objects.  
+
+.SS "Functions"
+
+.in +1c
+.ti -1c
+.RI "EAPI const char * \fBevas_load_error_str\fP (\fBEvas_Load_Error\fP error)"
+.br
+.RI "\fIConverts the given error code into a string describing it in english. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_color_hsv_to_rgb\fP (float h, float s, float v, int *r, int *g, int *b)"
+.br
+.RI "\fIConvert a given color from HSV to RGB format. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_color_rgb_to_hsv\fP (int r, int g, int b, float *h, float *s, float *v)"
+.br
+.RI "\fIConvert a given color from RGB to HSV format. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_color_argb_premul\fP (int a, int *r, int *g, int *b)"
+.br
+.RI "\fIPre-multiplies a rgb triplet by an alpha factor. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_color_argb_unpremul\fP (int a, int *r, int *g, int *b)"
+.br
+.RI "\fIUndo pre-multiplication of a rgb triplet by an alpha factor. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_data_argb_premul\fP (unsigned int *data, unsigned int len)"
+.br
+.RI "\fIPre-multiplies data by an alpha factor. \fP"
+.ti -1c
+.RI "EAPI void \fBevas_data_argb_unpremul\fP (unsigned int *data, unsigned int len)"
+.br
+.RI "\fIUndo pre-multiplication data by an alpha factor. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_string_char_next_get\fP (const char *str, int pos, int *decoded)"
+.br
+.RI "\fIGets the next character in the string. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_string_char_prev_get\fP (const char *str, int pos, int *decoded)"
+.br
+.RI "\fIGets the previous character in the string. \fP"
+.ti -1c
+.RI "EAPI int \fBevas_string_char_len_get\fP (const char *str)"
+.br
+.RI "\fIGet the length in characters of the string. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Some functions that are handy but are not specific of canvas or objects. 
+.SH "Function Documentation"
+.PP 
+.SS "EAPI void evas_color_argb_premul (int a, int * r, int * g, int * b)"
+.PP
+Pre-multiplies a rgb triplet by an alpha factor. \fBParameters:\fP
+.RS 4
+\fIa\fP The alpha factor. 
+.br
+\fIr\fP The Red component of the color. 
+.br
+\fIg\fP The Green component of the color. 
+.br
+\fIb\fP The Blue component of the color.
+.RE
+.PP
+This function pre-multiplies a given rbg triplet by an alpha factor. Alpha factor is used to define transparency. 
+.SS "EAPI void evas_color_argb_unpremul (int a, int * r, int * g, int * b)"
+.PP
+Undo pre-multiplication of a rgb triplet by an alpha factor. \fBParameters:\fP
+.RS 4
+\fIa\fP The alpha factor. 
+.br
+\fIr\fP The Red component of the color. 
+.br
+\fIg\fP The Green component of the color. 
+.br
+\fIb\fP The Blue component of the color.
+.RE
+.PP
+This function undoes pre-multiplication a given rbg triplet by an alpha factor. Alpha factor is used to define transparency.
+.PP
+\fBSee also:\fP
+.RS 4
+\fBevas_color_argb_premul()\fP. 
+.RE
+.PP
+
+.SS "EAPI void evas_color_hsv_to_rgb (float h, float s, float v, int * r, int * g, int * b)"
+.PP
+Convert a given color from HSV to RGB format. \fBParameters:\fP
+.RS 4
+\fIh\fP The Hue component of the color. 
+.br
+\fIs\fP The Saturation component of the color. 
+.br
+\fIv\fP The Value component of the color. 
+.br
+\fIr\fP The Red component of the color. 
+.br
+\fIg\fP The Green component of the color. 
+.br
+\fIb\fP The Blue component of the color.
+.RE
+.PP
+This function converts a given color in HSV color format to RGB color format. 
+.SS "EAPI void evas_color_rgb_to_hsv (int r, int g, int b, float * h, float * s, float * v)"
+.PP
+Convert a given color from RGB to HSV format. \fBParameters:\fP
+.RS 4
+\fIr\fP The Red component of the color. 
+.br
+\fIg\fP The Green component of the color. 
+.br
+\fIb\fP The Blue component of the color. 
+.br
+\fIh\fP The Hue component of the color. 
+.br
+\fIs\fP The Saturation component of the color. 
+.br
+\fIv\fP The Value component of the color.
+.RE
+.PP
+This function converts a given color in RGB color format to HSV color format. 
+.SS "EAPI void evas_data_argb_premul (unsigned int * data, unsigned int len)"
+.PP
+Pre-multiplies data by an alpha factor. \fBParameters:\fP
+.RS 4
+\fIdata\fP The data value. 
+.br
+\fIlen\fP The length value.
+.RE
+.PP
+This function pre-multiplies a given data by an alpha factor. Alpha factor is used to define transparency. 
+.SS "EAPI void evas_data_argb_unpremul (unsigned int * data, unsigned int len)"
+.PP
+Undo pre-multiplication data by an alpha factor. \fBParameters:\fP
+.RS 4
+\fIdata\fP The data value. 
+.br
+\fIlen\fP The length value.
+.RE
+.PP
+This function undoes pre-multiplication of a given data by an alpha factor. Alpha factor is used to define transparency. 
+.SS "EAPI const char* evas_load_error_str (\fBEvas_Load_Error\fP error)"
+.PP
+Converts the given error code into a string describing it in english. \fBParameters:\fP
+.RS 4
+\fIerror\fP the error code. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+Always return a valid string. If given \fCerror\fP is not supported 'Unknown error' is returned. 
+.RE
+.PP
+
+.PP
+References EVAS_LOAD_ERROR_CORRUPT_FILE, EVAS_LOAD_ERROR_DOES_NOT_EXIST, EVAS_LOAD_ERROR_GENERIC, EVAS_LOAD_ERROR_NONE, EVAS_LOAD_ERROR_PERMISSION_DENIED, EVAS_LOAD_ERROR_RESOURCE_ALLOCATION_FAILED, and EVAS_LOAD_ERROR_UNKNOWN_FORMAT.
+.SS "EAPI int evas_string_char_len_get (const char * str)"
+.PP
+Get the length in characters of the string. \fBParameters:\fP
+.RS 4
+\fIstr\fP The string to get the length of. 
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The length in characters (not bytes) 
+.RE
+.PP
+
+.SS "EAPI int evas_string_char_next_get (const char * str, int pos, int * decoded)"
+.PP
+Gets the next character in the string. Given the UTF-8 string in \fCstr\fP, and starting byte position in \fCpos\fP, this function will place in \fCdecoded\fP the decoded code point at \fCpos\fP and return the byte index for the next character in the string.
+.PP
+The only boundary check done is that \fCpos\fP must be >= 0. Other than that, no checks are performed, so passing an index value that's not within the length of the string will result in undefined behavior.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIstr\fP The UTF-8 string 
+.br
+\fIpos\fP The byte index where to start 
+.br
+\fIdecoded\fP Address where to store the decoded code point. Optional.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The byte index of the next character 
+.RE
+.PP
+
+.SS "EAPI int evas_string_char_prev_get (const char * str, int pos, int * decoded)"
+.PP
+Gets the previous character in the string. Given the UTF-8 string in \fCstr\fP, and starting byte position in \fCpos\fP, this function will place in \fCdecoded\fP the decoded code point at \fCpos\fP and return the byte index for the previous character in the string.
+.PP
+The only boundary check done is that \fCpos\fP must be >= 1. Other than that, no checks are performed, so passing an index value that's not within the length of the string will result in undefined behavior.
+.PP
+\fBParameters:\fP
+.RS 4
+\fIstr\fP The UTF-8 string 
+.br
+\fIpos\fP The byte index where to start 
+.br
+\fIdecoded\fP Address where to store the decoded code point. Optional.
+.RE
+.PP
+\fBReturns:\fP
+.RS 4
+The byte index of the previous character 
+.RE
+.PP
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Alloc_Error.3 b/doc/man/man3/_Evas_Alloc_Error.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/_Evas_Button_Flags.3 b/doc/man/man3/_Evas_Button_Flags.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/_Evas_Callback_Type.3 b/doc/man/man3/_Evas_Callback_Type.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/_Evas_Colorspace.3 b/doc/man/man3/_Evas_Colorspace.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/_Evas_Coord_Rectangle.3 b/doc/man/man3/_Evas_Coord_Rectangle.3
new file mode 100644 (file)
index 0000000..1122b59
--- /dev/null
@@ -0,0 +1,38 @@
+.TH "_Evas_Coord_Rectangle" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Coord_Rectangle \- 
+.PP
+< A rectangle in Evas_Coord  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "Evas_Coord \fBx\fP"
+.br
+.RI "\fItop-left x co-ordinate of rectangle \fP"
+.ti -1c
+.RI "Evas_Coord \fBy\fP"
+.br
+.RI "\fItop-left y co-ordinate of rectangle \fP"
+.ti -1c
+.RI "Evas_Coord \fBw\fP"
+.br
+.RI "\fIwidth of rectangle \fP"
+.ti -1c
+.RI "Evas_Coord \fBh\fP"
+.br
+.RI "\fIheight of rectangle \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+< A rectangle in Evas_Coord 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Cserve_Config.3 b/doc/man/man3/_Evas_Cserve_Config.3
new file mode 100644 (file)
index 0000000..d11d434
--- /dev/null
@@ -0,0 +1,18 @@
+.TH "_Evas_Cserve_Config" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Cserve_Config \- 
+.PP
+Configuration that controls the server that shares cached bitmaps.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+Configuration that controls the server that shares cached bitmaps. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Cserve_Image.3 b/doc/man/man3/_Evas_Cserve_Image.3
new file mode 100644 (file)
index 0000000..9049a42
--- /dev/null
@@ -0,0 +1,18 @@
+.TH "_Evas_Cserve_Image" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Cserve_Image \- 
+.PP
+An image shared by the server.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+An image shared by the server. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Cserve_Image_Cache.3 b/doc/man/man3/_Evas_Cserve_Image_Cache.3
new file mode 100644 (file)
index 0000000..ff073ed
--- /dev/null
@@ -0,0 +1,18 @@
+.TH "_Evas_Cserve_Image_Cache" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Cserve_Image_Cache \- 
+.PP
+Cache of images shared by server.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+Cache of images shared by server. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Cserve_Stats.3 b/doc/man/man3/_Evas_Cserve_Stats.3
new file mode 100644 (file)
index 0000000..5f0def6
--- /dev/null
@@ -0,0 +1,46 @@
+.TH "_Evas_Cserve_Stats" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Cserve_Stats \- 
+.PP
+Statistics about server that shares cached bitmaps.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBsaved_memory\fP"
+.br
+.RI "\fIcurrent saved memory, in bytes \fP"
+.ti -1c
+.RI "int \fBwasted_memory\fP"
+.br
+.RI "\fIcurrent wasted memory, in bytes \fP"
+.ti -1c
+.RI "int \fBsaved_memory_peak\fP"
+.br
+.RI "\fIpeak of saved memory, in bytes \fP"
+.ti -1c
+.RI "int \fBwasted_memory_peak\fP"
+.br
+.RI "\fIpeak of wasted memory, in bytes \fP"
+.ti -1c
+.RI "double \fBsaved_time_image_header_load\fP"
+.br
+.RI "\fItime, in seconds, saved in header loads by sharing cached loads instead \fP"
+.ti -1c
+.RI "double \fBsaved_time_image_data_load\fP"
+.br
+.RI "\fItime, in seconds, saved in data loads by sharing cached loads instead \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Statistics about server that shares cached bitmaps. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Engine_Info.3 b/doc/man/man3/_Evas_Engine_Info.3
new file mode 100644 (file)
index 0000000..51e5a2f
--- /dev/null
@@ -0,0 +1,28 @@
+.TH "_Evas_Engine_Info" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Engine_Info \- 
+.PP
+Generic engine information.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBmagic\fP"
+.br
+.RI "\fIMagic number. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Generic engine information. 
+
+Generic info is useless 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Flags.3 b/doc/man/man3/_Evas_Event_Flags.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/_Evas_Event_Hold.3 b/doc/man/man3/_Evas_Event_Hold.3
new file mode 100644 (file)
index 0000000..a02ee2a
--- /dev/null
@@ -0,0 +1,26 @@
+.TH "_Evas_Event_Hold" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Hold \- 
+.PP
+Hold change event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBhold\fP"
+.br
+.RI "\fIThe hold flag. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Hold change event. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Key_Down.3 b/doc/man/man3/_Evas_Event_Key_Down.3
new file mode 100644 (file)
index 0000000..56b8406
--- /dev/null
@@ -0,0 +1,38 @@
+.TH "_Evas_Event_Key_Down" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Key_Down \- 
+.PP
+Key press event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "char * \fBkeyname\fP"
+.br
+.RI "\fIThe string name of the key pressed. \fP"
+.ti -1c
+.RI "const char * \fBkey\fP"
+.br
+.RI "\fIThe logical key : (eg shift+1 == exclamation). \fP"
+.ti -1c
+.RI "const char * \fBstring\fP"
+.br
+.RI "\fIA UTF8 string if this keystroke has produced a visible string to be ADDED. \fP"
+.ti -1c
+.RI "const char * \fBcompose\fP"
+.br
+.RI "\fIA UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Key press event. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Key_Up.3 b/doc/man/man3/_Evas_Event_Key_Up.3
new file mode 100644 (file)
index 0000000..3203112
--- /dev/null
@@ -0,0 +1,38 @@
+.TH "_Evas_Event_Key_Up" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Key_Up \- 
+.PP
+Key release event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "char * \fBkeyname\fP"
+.br
+.RI "\fIThe string name of the key released. \fP"
+.ti -1c
+.RI "const char * \fBkey\fP"
+.br
+.RI "\fIThe logical key : (eg shift+1 == exclamation). \fP"
+.ti -1c
+.RI "const char * \fBstring\fP"
+.br
+.RI "\fIA UTF8 string if this keystroke has produced a visible string to be ADDED. \fP"
+.ti -1c
+.RI "const char * \fBcompose\fP"
+.br
+.RI "\fIA UTF8 string if this keystroke has modified a string in the middle of being composed - this string replaces the previous one. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Key release event. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Mouse_Down.3 b/doc/man/man3/_Evas_Event_Mouse_Down.3
new file mode 100644 (file)
index 0000000..1c6f04b
--- /dev/null
@@ -0,0 +1,26 @@
+.TH "_Evas_Event_Mouse_Down" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Mouse_Down \- 
+.PP
+Mouse button press event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBbutton\fP"
+.br
+.RI "\fIMouse button number that went down (1 - 32). \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Mouse button press event. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Mouse_In.3 b/doc/man/man3/_Evas_Event_Mouse_In.3
new file mode 100644 (file)
index 0000000..1c65ff4
--- /dev/null
@@ -0,0 +1,33 @@
+.TH "_Evas_Event_Mouse_In" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Mouse_In \- 
+.PP
+Mouse enter event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBbuttons\fP"
+.br
+.RI "\fIButton pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Mouse enter event. 
+.SH "Field Documentation"
+.PP 
+.SS "int \fB_Evas_Event_Mouse_In::buttons\fP"
+.PP
+Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. ) 
+.PP
+Referenced by evas_event_feed_mouse_in(), evas_event_feed_mouse_move(), and evas_event_feed_mouse_up().
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Mouse_Move.3 b/doc/man/man3/_Evas_Event_Mouse_Move.3
new file mode 100644 (file)
index 0000000..e717009
--- /dev/null
@@ -0,0 +1,33 @@
+.TH "_Evas_Event_Mouse_Move" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Mouse_Move \- 
+.PP
+Mouse button down event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBbuttons\fP"
+.br
+.RI "\fIButton pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Mouse button down event. 
+.SH "Field Documentation"
+.PP 
+.SS "int \fB_Evas_Event_Mouse_Move::buttons\fP"
+.PP
+Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. ) 
+.PP
+Referenced by evas_event_feed_mouse_move().
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Mouse_Out.3 b/doc/man/man3/_Evas_Event_Mouse_Out.3
new file mode 100644 (file)
index 0000000..5bdc5ba
--- /dev/null
@@ -0,0 +1,33 @@
+.TH "_Evas_Event_Mouse_Out" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Mouse_Out \- 
+.PP
+Mouse leave event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBbuttons\fP"
+.br
+.RI "\fIButton pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Mouse leave event. 
+.SH "Field Documentation"
+.PP 
+.SS "int \fB_Evas_Event_Mouse_Out::buttons\fP"
+.PP
+Button pressed mask, Bits set to 1 are buttons currently pressed (bit 0 = mouse button 1, bit 1 = mouse button 2 etc. ) 
+.PP
+Referenced by evas_event_feed_mouse_move(), evas_event_feed_mouse_out(), evas_event_feed_mouse_up(), and evas_object_hide().
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Mouse_Up.3 b/doc/man/man3/_Evas_Event_Mouse_Up.3
new file mode 100644 (file)
index 0000000..9ae8c1b
--- /dev/null
@@ -0,0 +1,26 @@
+.TH "_Evas_Event_Mouse_Up" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Mouse_Up \- 
+.PP
+Mouse button release event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBbutton\fP"
+.br
+.RI "\fIMouse button number that was raised (1 - 32). \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Mouse button release event. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Mouse_Wheel.3 b/doc/man/man3/_Evas_Event_Mouse_Wheel.3
new file mode 100644 (file)
index 0000000..69c1890
--- /dev/null
@@ -0,0 +1,18 @@
+.TH "_Evas_Event_Mouse_Wheel" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Mouse_Wheel \- 
+.PP
+Wheel event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+Wheel event. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Multi_Down.3 b/doc/man/man3/_Evas_Event_Multi_Down.3
new file mode 100644 (file)
index 0000000..9b0ab6b
--- /dev/null
@@ -0,0 +1,26 @@
+.TH "_Evas_Event_Multi_Down" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Multi_Down \- 
+.PP
+Multi button press event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBdevice\fP"
+.br
+.RI "\fIMulti device number that went down (1 or more for extra touches). \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Multi button press event. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Multi_Move.3 b/doc/man/man3/_Evas_Event_Multi_Move.3
new file mode 100644 (file)
index 0000000..6ea4ac0
--- /dev/null
@@ -0,0 +1,26 @@
+.TH "_Evas_Event_Multi_Move" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Multi_Move \- 
+.PP
+Multi button down event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBdevice\fP"
+.br
+.RI "\fIMulti device number that moved (1 or more for extra touches). \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Multi button down event. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Event_Multi_Up.3 b/doc/man/man3/_Evas_Event_Multi_Up.3
new file mode 100644 (file)
index 0000000..f8fc37e
--- /dev/null
@@ -0,0 +1,26 @@
+.TH "_Evas_Event_Multi_Up" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Event_Multi_Up \- 
+.PP
+Multi button release event.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "int \fBdevice\fP"
+.br
+.RI "\fIMulti device number that went up (1 or more for extra touches). \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Multi button release event. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Fill_Spread.3 b/doc/man/man3/_Evas_Fill_Spread.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/_Evas_Font_Hinting_Flags.3 b/doc/man/man3/_Evas_Font_Hinting_Flags.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/_Evas_Load_Error.3 b/doc/man/man3/_Evas_Load_Error.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/_Evas_Object_Box_Api.3 b/doc/man/man3/_Evas_Object_Box_Api.3
new file mode 100644 (file)
index 0000000..c7e7194
--- /dev/null
@@ -0,0 +1,18 @@
+.TH "_Evas_Object_Box_Api" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Object_Box_Api \- 
+.PP
+This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with \fBevas_object_box_layout_set()\fP.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+This structure should be used by any class that wants to inherit from box to provide custom behavior not allowed only by providing a layout function with \fBevas_object_box_layout_set()\fP. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Object_Box_Data.3 b/doc/man/man3/_Evas_Object_Box_Data.3
new file mode 100644 (file)
index 0000000..095c85a
--- /dev/null
@@ -0,0 +1,20 @@
+.TH "_Evas_Object_Box_Data" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Object_Box_Data \- 
+.PP
+This structure augments clipped smart object's instance data, providing extra members required by generic box implementation.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SH "Detailed Description"
+.PP 
+This structure augments clipped smart object's instance data, providing extra members required by generic box implementation. 
+
+If a subclass inherits from \fBEvas_Object_Box_Api\fP then it may augment \fBEvas_Object_Box_Data\fP to fit its own needs. 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Object_Pointer_Mode.3 b/doc/man/man3/_Evas_Object_Pointer_Mode.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/_Evas_Pixel_Import_Pixel_Format.3 b/doc/man/man3/_Evas_Pixel_Import_Pixel_Format.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/_Evas_Render_Op.3 b/doc/man/man3/_Evas_Render_Op.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/_Evas_Smart_Cb_Description.3 b/doc/man/man3/_Evas_Smart_Cb_Description.3
new file mode 100644 (file)
index 0000000..11b41d5
--- /dev/null
@@ -0,0 +1,62 @@
+.TH "_Evas_Smart_Cb_Description" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Smart_Cb_Description \- 
+.PP
+Describes a callback used by a smart class \fBevas_object_smart_callback_call()\fP, particularly useful to explain to user and its code (ie: introspection) what the parameter \fCevent_info\fP will contain.  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "const char * \fBname\fP"
+.br
+.RI "\fIcallback name, ie: 'changed' \fP"
+.ti -1c
+.RI "const char * \fBtype\fP"
+.br
+.RI "\fIHint type of \fCevent_info\fP parameter of Evas_Smart_Cb. \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+Describes a callback used by a smart class \fBevas_object_smart_callback_call()\fP, particularly useful to explain to user and its code (ie: introspection) what the parameter \fCevent_info\fP will contain. 
+.SH "Field Documentation"
+.PP 
+.SS "const char* \fB_Evas_Smart_Cb_Description::type\fP"
+.PP
+Hint type of \fCevent_info\fP parameter of Evas_Smart_Cb. The type string uses the pattern similar to
+.PP
+http://dbus.freedesktop.org/doc/dbus-specification.html#message-protocol-signatures
+.PP
+but extended to optionally include variable names within brackets preceding types. Example:
+.PP
+.PD 0
+.IP "\(bu" 2
+Structure with two integers: \fC'(ii)'\fP 
+.PP
+.PD 0
+.IP "\(bu" 2
+Structure called 'x' with two integers named 'a' and 'b': \fC'[x]([a]i[b]i)'\fP 
+.PP
+.PD 0
+.IP "\(bu" 2
+Array of integers: \fC'ai'\fP 
+.PP
+.PD 0
+.IP "\(bu" 2
+Array called 'x' of struct with two integers: \fC'[x]a(ii)'\fP 
+.PP
+\fBNote:\fP
+.RS 4
+This type string is used as a hint and is \fBnot\fP validated or enforced anyhow. Implementors should make the best use of it to help bindings, documentation and other users of introspection features. 
+.RE
+.PP
+
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/_Evas_Smart_Class.3 b/doc/man/man3/_Evas_Smart_Class.3
new file mode 100644 (file)
index 0000000..b253931
--- /dev/null
@@ -0,0 +1,38 @@
+.TH "_Evas_Smart_Class" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+_Evas_Smart_Class \- 
+.PP
+a smart object class  
+
+.SH SYNOPSIS
+.br
+.PP
+.SS "Data Fields"
+
+.in +1c
+.ti -1c
+.RI "const char * \fBname\fP"
+.br
+.RI "\fIthe string name of the class \fP"
+.ti -1c
+.RI "const \fBEvas_Smart_Class\fP * \fBparent\fP"
+.br
+.RI "\fIthis class inherits from this parent \fP"
+.ti -1c
+.RI "const \fBEvas_Smart_Cb_Description\fP * \fBcallbacks\fP"
+.br
+.RI "\fIcallbacks at this level, NULL terminated \fP"
+.ti -1c
+.RI "void * \fBinterfaces\fP"
+.br
+.RI "\fIto be used in a future near you \fP"
+.in -1c
+.SH "Detailed Description"
+.PP 
+a smart object class 
+
+.SH "Author"
+.PP 
+Generated automatically by Doxygen for Evas from the source code.
diff --git a/doc/man/man3/button.3 b/doc/man/man3/button.3
new file mode 100644 (file)
index 0000000..e9d9801
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Event_Mouse_Down.3
diff --git a/doc/man/man3/buttons.3 b/doc/man/man3/buttons.3
new file mode 100644 (file)
index 0000000..fdb35df
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Event_Mouse_In.3
diff --git a/doc/man/man3/callbacks.3 b/doc/man/man3/callbacks.3
new file mode 100644 (file)
index 0000000..e2e3e96
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Smart_Class.3
diff --git a/doc/man/man3/compose.3 b/doc/man/man3/compose.3
new file mode 100644 (file)
index 0000000..7505268
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Event_Key_Down.3
diff --git a/doc/man/man3/device.3 b/doc/man/man3/device.3
new file mode 100644 (file)
index 0000000..25af3ca
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Event_Multi_Down.3
diff --git a/doc/man/man3/evas_alloc_error.3 b/doc/man/man3/evas_alloc_error.3
new file mode 100644 (file)
index 0000000..4452057
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Group.3
diff --git a/doc/man/man3/evas_async_events_fd_get.3 b/doc/man/man3/evas_async_events_fd_get.3
new file mode 100644 (file)
index 0000000..4452057
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Group.3
diff --git a/doc/man/man3/evas_async_events_process.3 b/doc/man/man3/evas_async_events_process.3
new file mode 100644 (file)
index 0000000..4452057
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Group.3
diff --git a/doc/man/man3/evas_async_events_put.3 b/doc/man/man3/evas_async_events_put.3
new file mode 100644 (file)
index 0000000..4452057
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Group.3
diff --git a/doc/man/man3/evas_color_argb_premul.3 b/doc/man/man3/evas_color_argb_premul.3
new file mode 100644 (file)
index 0000000..32c5cc5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Utils.3
diff --git a/doc/man/man3/evas_color_argb_unpremul.3 b/doc/man/man3/evas_color_argb_unpremul.3
new file mode 100644 (file)
index 0000000..32c5cc5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Utils.3
diff --git a/doc/man/man3/evas_color_hsv_to_rgb.3 b/doc/man/man3/evas_color_hsv_to_rgb.3
new file mode 100644 (file)
index 0000000..32c5cc5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Utils.3
diff --git a/doc/man/man3/evas_color_rgb_to_hsv.3 b/doc/man/man3/evas_color_rgb_to_hsv.3
new file mode 100644 (file)
index 0000000..32c5cc5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Utils.3
diff --git a/doc/man/man3/evas_coord_screen_x_to_world.3 b/doc/man/man3/evas_coord_screen_x_to_world.3
new file mode 100644 (file)
index 0000000..55b0522
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Coord_Mapping_Group.3
diff --git a/doc/man/man3/evas_coord_screen_y_to_world.3 b/doc/man/man3/evas_coord_screen_y_to_world.3
new file mode 100644 (file)
index 0000000..55b0522
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Coord_Mapping_Group.3
diff --git a/doc/man/man3/evas_coord_world_x_to_screen.3 b/doc/man/man3/evas_coord_world_x_to_screen.3
new file mode 100644 (file)
index 0000000..55b0522
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Coord_Mapping_Group.3
diff --git a/doc/man/man3/evas_coord_world_y_to_screen.3 b/doc/man/man3/evas_coord_world_y_to_screen.3
new file mode 100644 (file)
index 0000000..55b0522
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Coord_Mapping_Group.3
diff --git a/doc/man/man3/evas_cserve_config_get.3 b/doc/man/man3/evas_cserve_config_get.3
new file mode 100644 (file)
index 0000000..afea3db
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Cserve.3
diff --git a/doc/man/man3/evas_cserve_config_set.3 b/doc/man/man3/evas_cserve_config_set.3
new file mode 100644 (file)
index 0000000..afea3db
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Cserve.3
diff --git a/doc/man/man3/evas_cserve_connected_get.3 b/doc/man/man3/evas_cserve_connected_get.3
new file mode 100644 (file)
index 0000000..afea3db
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Cserve.3
diff --git a/doc/man/man3/evas_cserve_disconnect.3 b/doc/man/man3/evas_cserve_disconnect.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_cserve_stats_get.3 b/doc/man/man3/evas_cserve_stats_get.3
new file mode 100644 (file)
index 0000000..afea3db
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Cserve.3
diff --git a/doc/man/man3/evas_cserve_want_get.3 b/doc/man/man3/evas_cserve_want_get.3
new file mode 100644 (file)
index 0000000..afea3db
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Cserve.3
diff --git a/doc/man/man3/evas_damage_rectangle_add.3 b/doc/man/man3/evas_damage_rectangle_add.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_data_argb_premul.3 b/doc/man/man3/evas_data_argb_premul.3
new file mode 100644 (file)
index 0000000..32c5cc5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Utils.3
diff --git a/doc/man/man3/evas_data_argb_unpremul.3 b/doc/man/man3/evas_data_argb_unpremul.3
new file mode 100644 (file)
index 0000000..32c5cc5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Utils.3
diff --git a/doc/man/man3/evas_data_attach_get.3 b/doc/man/man3/evas_data_attach_get.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_data_attach_set.3 b/doc/man/man3/evas_data_attach_set.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_engine_info_get.3 b/doc/man/man3/evas_engine_info_get.3
new file mode 100644 (file)
index 0000000..d58d3bc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Method.3
diff --git a/doc/man/man3/evas_engine_info_set.3 b/doc/man/man3/evas_engine_info_set.3
new file mode 100644 (file)
index 0000000..d58d3bc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Method.3
diff --git a/doc/man/man3/evas_event_callback_add.3 b/doc/man/man3/evas_event_callback_add.3
new file mode 100644 (file)
index 0000000..20dd3a5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas_Events.3
diff --git a/doc/man/man3/evas_event_callback_del.3 b/doc/man/man3/evas_event_callback_del.3
new file mode 100644 (file)
index 0000000..20dd3a5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas_Events.3
diff --git a/doc/man/man3/evas_event_callback_del_full.3 b/doc/man/man3/evas_event_callback_del_full.3
new file mode 100644 (file)
index 0000000..20dd3a5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas_Events.3
diff --git a/doc/man/man3/evas_event_feed_hold.3 b/doc/man/man3/evas_event_feed_hold.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_feed_key_down.3 b/doc/man/man3/evas_event_feed_key_down.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_feed_key_up.3 b/doc/man/man3/evas_event_feed_key_up.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_feed_mouse_cancel.3 b/doc/man/man3/evas_event_feed_mouse_cancel.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_feed_mouse_down.3 b/doc/man/man3/evas_event_feed_mouse_down.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_feed_mouse_in.3 b/doc/man/man3/evas_event_feed_mouse_in.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_feed_mouse_move.3 b/doc/man/man3/evas_event_feed_mouse_move.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_feed_mouse_out.3 b/doc/man/man3/evas_event_feed_mouse_out.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_feed_mouse_up.3 b/doc/man/man3/evas_event_feed_mouse_up.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_feed_mouse_wheel.3 b/doc/man/man3/evas_event_feed_mouse_wheel.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_freeze.3 b/doc/man/man3/evas_event_freeze.3
new file mode 100644 (file)
index 0000000..49093c9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Freezing_Group.3
diff --git a/doc/man/man3/evas_event_freeze_get.3 b/doc/man/man3/evas_event_freeze_get.3
new file mode 100644 (file)
index 0000000..fbd0125
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Feeding_Group.3
diff --git a/doc/man/man3/evas_event_thaw.3 b/doc/man/man3/evas_event_thaw.3
new file mode 100644 (file)
index 0000000..49093c9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Event_Freezing_Group.3
diff --git a/doc/man/man3/evas_focus_get.3 b/doc/man/man3/evas_focus_get.3
new file mode 100644 (file)
index 0000000..66ecacc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Find.3
diff --git a/doc/man/man3/evas_focus_in.3 b/doc/man/man3/evas_focus_in.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_focus_out.3 b/doc/man/man3/evas_focus_out.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_focus_state_get.3 b/doc/man/man3/evas_focus_state_get.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_font_available_list.3 b/doc/man/man3/evas_font_available_list.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/evas_font_available_list_free.3 b/doc/man/man3/evas_font_available_list_free.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/evas_font_cache_flush.3 b/doc/man/man3/evas_font_cache_flush.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/evas_font_cache_get.3 b/doc/man/man3/evas_font_cache_get.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/evas_font_cache_set.3 b/doc/man/man3/evas_font_cache_set.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/evas_font_hinting_can_hint.3 b/doc/man/man3/evas_font_hinting_can_hint.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/evas_font_hinting_get.3 b/doc/man/man3/evas_font_hinting_get.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/evas_font_hinting_set.3 b/doc/man/man3/evas_font_hinting_set.3
new file mode 100644 (file)
index 0000000..8ea8c64
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Group.3
diff --git a/doc/man/man3/evas_font_path_append.3 b/doc/man/man3/evas_font_path_append.3
new file mode 100644 (file)
index 0000000..ba37c76
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Path_Group.3
diff --git a/doc/man/man3/evas_font_path_clear.3 b/doc/man/man3/evas_font_path_clear.3
new file mode 100644 (file)
index 0000000..ba37c76
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Path_Group.3
diff --git a/doc/man/man3/evas_font_path_list.3 b/doc/man/man3/evas_font_path_list.3
new file mode 100644 (file)
index 0000000..ba37c76
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Path_Group.3
diff --git a/doc/man/man3/evas_font_path_prepend.3 b/doc/man/man3/evas_font_path_prepend.3
new file mode 100644 (file)
index 0000000..ba37c76
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Font_Path_Group.3
diff --git a/doc/man/man3/evas_free.3 b/doc/man/man3/evas_free.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_image_cache_flush.3 b/doc/man/man3/evas_image_cache_flush.3
new file mode 100644 (file)
index 0000000..f501ce9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Image_Group.3
diff --git a/doc/man/man3/evas_image_cache_get.3 b/doc/man/man3/evas_image_cache_get.3
new file mode 100644 (file)
index 0000000..f501ce9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Image_Group.3
diff --git a/doc/man/man3/evas_image_cache_reload.3 b/doc/man/man3/evas_image_cache_reload.3
new file mode 100644 (file)
index 0000000..f501ce9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Image_Group.3
diff --git a/doc/man/man3/evas_image_cache_set.3 b/doc/man/man3/evas_image_cache_set.3
new file mode 100644 (file)
index 0000000..f501ce9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Image_Group.3
diff --git a/doc/man/man3/evas_init.3 b/doc/man/man3/evas_init.3
new file mode 100644 (file)
index 0000000..4452057
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Group.3
diff --git a/doc/man/man3/evas_key_lock_get.3 b/doc/man/man3/evas_key_lock_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_key_modifier_get.3 b/doc/man/man3/evas_key_modifier_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_load_error_str.3 b/doc/man/man3/evas_load_error_str.3
new file mode 100644 (file)
index 0000000..32c5cc5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Utils.3
diff --git a/doc/man/man3/evas_map_alpha_get.3 b/doc/man/man3/evas_map_alpha_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_alpha_set.3 b/doc/man/man3/evas_map_alpha_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_count_get.3 b/doc/man/man3/evas_map_count_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_dup.3 b/doc/man/man3/evas_map_dup.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_free.3 b/doc/man/man3/evas_map_free.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_new.3 b/doc/man/man3/evas_map_new.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_point_color_get.3 b/doc/man/man3/evas_map_point_color_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_point_color_set.3 b/doc/man/man3/evas_map_point_color_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_point_coord_get.3 b/doc/man/man3/evas_map_point_coord_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_point_coord_set.3 b/doc/man/man3/evas_map_point_coord_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_point_image_uv_get.3 b/doc/man/man3/evas_map_point_image_uv_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_point_image_uv_set.3 b/doc/man/man3/evas_map_point_image_uv_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_smooth_get.3 b/doc/man/man3/evas_map_smooth_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_smooth_set.3 b/doc/man/man3/evas_map_smooth_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_util_3d_lighting.3 b/doc/man/man3/evas_map_util_3d_lighting.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_util_3d_perspective.3 b/doc/man/man3/evas_map_util_3d_perspective.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_util_3d_rotate.3 b/doc/man/man3/evas_map_util_3d_rotate.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_util_clockwise_get.3 b/doc/man/man3/evas_map_util_clockwise_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_util_points_color_set.3 b/doc/man/man3/evas_map_util_points_color_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_util_points_populate_from_geometry.3 b/doc/man/man3/evas_map_util_points_populate_from_geometry.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_util_points_populate_from_object.3 b/doc/man/man3/evas_map_util_points_populate_from_object.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_util_points_populate_from_object_full.3 b/doc/man/man3/evas_map_util_points_populate_from_object_full.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_util_rotate.3 b/doc/man/man3/evas_map_util_rotate.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_map_util_zoom.3 b/doc/man/man3/evas_map_util_zoom.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_new.3 b/doc/man/man3/evas_new.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_nochange_pop.3 b/doc/man/man3/evas_nochange_pop.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_nochange_push.3 b/doc/man/man3/evas_nochange_push.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_norender.3 b/doc/man/man3/evas_norender.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_object_above_get.3 b/doc/man/man3/evas_object_above_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_anti_alias_get.3 b/doc/man/man3/evas_object_anti_alias_get.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_anti_alias_set.3 b/doc/man/man3/evas_object_anti_alias_set.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_below_get.3 b/doc/man/man3/evas_object_below_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_bottom_get.3 b/doc/man/man3/evas_object_bottom_get.3
new file mode 100644 (file)
index 0000000..66ecacc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Find.3
diff --git a/doc/man/man3/evas_object_box_accessor_new.3 b/doc/man/man3/evas_object_box_accessor_new.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_add.3 b/doc/man/man3/evas_object_box_add.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_add_to.3 b/doc/man/man3/evas_object_box_add_to.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_align_get.3 b/doc/man/man3/evas_object_box_align_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_box_align_set.3 b/doc/man/man3/evas_object_box_align_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_box_append.3 b/doc/man/man3/evas_object_box_append.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_children_get.3 b/doc/man/man3/evas_object_box_children_get.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_insert_after.3 b/doc/man/man3/evas_object_box_insert_after.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_insert_at.3 b/doc/man/man3/evas_object_box_insert_at.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_insert_before.3 b/doc/man/man3/evas_object_box_insert_before.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_iterator_new.3 b/doc/man/man3/evas_object_box_iterator_new.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_layout_flow_horizontal.3 b/doc/man/man3/evas_object_box_layout_flow_horizontal.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_layout_flow_vertical.3 b/doc/man/man3/evas_object_box_layout_flow_vertical.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_layout_homogeneous_horizontal.3 b/doc/man/man3/evas_object_box_layout_homogeneous_horizontal.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_layout_homogeneous_max_size_horizontal.3 b/doc/man/man3/evas_object_box_layout_homogeneous_max_size_horizontal.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_layout_homogeneous_max_size_vertical.3 b/doc/man/man3/evas_object_box_layout_homogeneous_max_size_vertical.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_layout_homogeneous_vertical.3 b/doc/man/man3/evas_object_box_layout_homogeneous_vertical.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_layout_horizontal.3 b/doc/man/man3/evas_object_box_layout_horizontal.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_layout_set.3 b/doc/man/man3/evas_object_box_layout_set.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_layout_stack.3 b/doc/man/man3/evas_object_box_layout_stack.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_layout_vertical.3 b/doc/man/man3/evas_object_box_layout_vertical.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_option_property_get.3 b/doc/man/man3/evas_object_box_option_property_get.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_option_property_id_get.3 b/doc/man/man3/evas_object_box_option_property_id_get.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_option_property_name_get.3 b/doc/man/man3/evas_object_box_option_property_name_get.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_option_property_set.3 b/doc/man/man3/evas_object_box_option_property_set.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_option_property_vget.3 b/doc/man/man3/evas_object_box_option_property_vget.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_option_property_vset.3 b/doc/man/man3/evas_object_box_option_property_vset.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_padding_get.3 b/doc/man/man3/evas_object_box_padding_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_box_padding_set.3 b/doc/man/man3/evas_object_box_padding_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_box_prepend.3 b/doc/man/man3/evas_object_box_prepend.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_remove.3 b/doc/man/man3/evas_object_box_remove.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_remove_all.3 b/doc/man/man3/evas_object_box_remove_all.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_remove_at.3 b/doc/man/man3/evas_object_box_remove_at.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_box_smart_class_get.3 b/doc/man/man3/evas_object_box_smart_class_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_box_smart_set.3 b/doc/man/man3/evas_object_box_smart_set.3
new file mode 100644 (file)
index 0000000..05d3dfe
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Box.3
diff --git a/doc/man/man3/evas_object_clip_get.3 b/doc/man/man3/evas_object_clip_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_clip_set.3 b/doc/man/man3/evas_object_clip_set.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_clip_unset.3 b/doc/man/man3/evas_object_clip_unset.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_clipees_get.3 b/doc/man/man3/evas_object_clipees_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_color_get.3 b/doc/man/man3/evas_object_color_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_color_set.3 b/doc/man/man3/evas_object_color_set.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_data_del.3 b/doc/man/man3/evas_object_data_del.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_data_get.3 b/doc/man/man3/evas_object_data_get.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_data_set.3 b/doc/man/man3/evas_object_data_set.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_del.3 b/doc/man/man3/evas_object_del.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_evas_get.3 b/doc/man/man3/evas_object_evas_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_event_callback_add.3 b/doc/man/man3/evas_object_event_callback_add.3
new file mode 100644 (file)
index 0000000..766a2df
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Events.3
diff --git a/doc/man/man3/evas_object_event_callback_del.3 b/doc/man/man3/evas_object_event_callback_del.3
new file mode 100644 (file)
index 0000000..766a2df
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Events.3
diff --git a/doc/man/man3/evas_object_event_callback_del_full.3 b/doc/man/man3/evas_object_event_callback_del_full.3
new file mode 100644 (file)
index 0000000..766a2df
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Events.3
diff --git a/doc/man/man3/evas_object_focus_get.3 b/doc/man/man3/evas_object_focus_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_focus_set.3 b/doc/man/man3/evas_object_focus_set.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_geometry_get.3 b/doc/man/man3/evas_object_geometry_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_hide.3 b/doc/man/man3/evas_object_hide.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_image_add.3 b/doc/man/man3/evas_object_image_add.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_alpha_get.3 b/doc/man/man3/evas_object_image_alpha_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_alpha_mask_set.3 b/doc/man/man3/evas_object_image_alpha_mask_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_alpha_set.3 b/doc/man/man3/evas_object_image_alpha_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_border_center_fill_get.3 b/doc/man/man3/evas_object_image_border_center_fill_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_border_center_fill_set.3 b/doc/man/man3/evas_object_image_border_center_fill_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_border_get.3 b/doc/man/man3/evas_object_image_border_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_border_scale_get.3 b/doc/man/man3/evas_object_image_border_scale_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_border_scale_set.3 b/doc/man/man3/evas_object_image_border_scale_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_border_set.3 b/doc/man/man3/evas_object_image_border_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_colorspace_get.3 b/doc/man/man3/evas_object_image_colorspace_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_colorspace_set.3 b/doc/man/man3/evas_object_image_colorspace_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_content_hint_get.3 b/doc/man/man3/evas_object_image_content_hint_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_content_hint_set.3 b/doc/man/man3/evas_object_image_content_hint_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_data_convert.3 b/doc/man/man3/evas_object_image_data_convert.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_data_copy_set.3 b/doc/man/man3/evas_object_image_data_copy_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_data_get.3 b/doc/man/man3/evas_object_image_data_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_data_set.3 b/doc/man/man3/evas_object_image_data_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_data_update_add.3 b/doc/man/man3/evas_object_image_data_update_add.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_file_get.3 b/doc/man/man3/evas_object_image_file_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_file_set.3 b/doc/man/man3/evas_object_image_file_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_fill_get.3 b/doc/man/man3/evas_object_image_fill_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_fill_set.3 b/doc/man/man3/evas_object_image_fill_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_fill_spread_get.3 b/doc/man/man3/evas_object_image_fill_spread_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_fill_spread_set.3 b/doc/man/man3/evas_object_image_fill_spread_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_filled_add.3 b/doc/man/man3/evas_object_image_filled_add.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_filled_get.3 b/doc/man/man3/evas_object_image_filled_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_filled_set.3 b/doc/man/man3/evas_object_image_filled_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_load_dpi_get.3 b/doc/man/man3/evas_object_image_load_dpi_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_load_dpi_set.3 b/doc/man/man3/evas_object_image_load_dpi_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_load_error_get.3 b/doc/man/man3/evas_object_image_load_error_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_load_scale_down_get.3 b/doc/man/man3/evas_object_image_load_scale_down_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_load_scale_down_set.3 b/doc/man/man3/evas_object_image_load_scale_down_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_load_size_get.3 b/doc/man/man3/evas_object_image_load_size_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_load_size_set.3 b/doc/man/man3/evas_object_image_load_size_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_memfile_set.3 b/doc/man/man3/evas_object_image_memfile_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_native_surface_get.3 b/doc/man/man3/evas_object_image_native_surface_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_native_surface_set.3 b/doc/man/man3/evas_object_image_native_surface_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_pixels_dirty_get.3 b/doc/man/man3/evas_object_image_pixels_dirty_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_pixels_dirty_set.3 b/doc/man/man3/evas_object_image_pixels_dirty_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_pixels_get_callback_set.3 b/doc/man/man3/evas_object_image_pixels_get_callback_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_pixels_import.3 b/doc/man/man3/evas_object_image_pixels_import.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_preload.3 b/doc/man/man3/evas_object_image_preload.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_reload.3 b/doc/man/man3/evas_object_image_reload.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_save.3 b/doc/man/man3/evas_object_image_save.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_scale_hint_get.3 b/doc/man/man3/evas_object_image_scale_hint_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_scale_hint_set.3 b/doc/man/man3/evas_object_image_scale_hint_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_size_get.3 b/doc/man/man3/evas_object_image_size_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_size_set.3 b/doc/man/man3/evas_object_image_size_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_smooth_scale_get.3 b/doc/man/man3/evas_object_image_smooth_scale_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_smooth_scale_set.3 b/doc/man/man3/evas_object_image_smooth_scale_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_source_get.3 b/doc/man/man3/evas_object_image_source_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_source_set.3 b/doc/man/man3/evas_object_image_source_set.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_source_unset.3 b/doc/man/man3/evas_object_image_source_unset.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_image_stride_get.3 b/doc/man/man3/evas_object_image_stride_get.3
new file mode 100644 (file)
index 0000000..d76d7b2
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Image.3
diff --git a/doc/man/man3/evas_object_intercept_clip_set_callback_add.3 b/doc/man/man3/evas_object_intercept_clip_set_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_clip_set_callback_del.3 b/doc/man/man3/evas_object_intercept_clip_set_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_clip_unset_callback_add.3 b/doc/man/man3/evas_object_intercept_clip_unset_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_clip_unset_callback_del.3 b/doc/man/man3/evas_object_intercept_clip_unset_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_color_set_callback_add.3 b/doc/man/man3/evas_object_intercept_color_set_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_color_set_callback_del.3 b/doc/man/man3/evas_object_intercept_color_set_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_hide_callback_add.3 b/doc/man/man3/evas_object_intercept_hide_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_hide_callback_del.3 b/doc/man/man3/evas_object_intercept_hide_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_layer_set_callback_add.3 b/doc/man/man3/evas_object_intercept_layer_set_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_layer_set_callback_del.3 b/doc/man/man3/evas_object_intercept_layer_set_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_lower_callback_add.3 b/doc/man/man3/evas_object_intercept_lower_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_lower_callback_del.3 b/doc/man/man3/evas_object_intercept_lower_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_move_callback_add.3 b/doc/man/man3/evas_object_intercept_move_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_move_callback_del.3 b/doc/man/man3/evas_object_intercept_move_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_raise_callback_add.3 b/doc/man/man3/evas_object_intercept_raise_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_raise_callback_del.3 b/doc/man/man3/evas_object_intercept_raise_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_resize_callback_add.3 b/doc/man/man3/evas_object_intercept_resize_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_resize_callback_del.3 b/doc/man/man3/evas_object_intercept_resize_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_show_callback_add.3 b/doc/man/man3/evas_object_intercept_show_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_show_callback_del.3 b/doc/man/man3/evas_object_intercept_show_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_stack_above_callback_add.3 b/doc/man/man3/evas_object_intercept_stack_above_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_stack_above_callback_del.3 b/doc/man/man3/evas_object_intercept_stack_above_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_stack_below_callback_add.3 b/doc/man/man3/evas_object_intercept_stack_below_callback_add.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_intercept_stack_below_callback_del.3 b/doc/man/man3/evas_object_intercept_stack_below_callback_del.3
new file mode 100644 (file)
index 0000000..f903051
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Interceptors.3
diff --git a/doc/man/man3/evas_object_layer_get.3 b/doc/man/man3/evas_object_layer_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_layer_set.3 b/doc/man/man3/evas_object_layer_set.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_line_add.3 b/doc/man/man3/evas_object_line_add.3
new file mode 100644 (file)
index 0000000..3729b9d
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Line_Group.3
diff --git a/doc/man/man3/evas_object_line_xy_get.3 b/doc/man/man3/evas_object_line_xy_get.3
new file mode 100644 (file)
index 0000000..3729b9d
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Line_Group.3
diff --git a/doc/man/man3/evas_object_line_xy_set.3 b/doc/man/man3/evas_object_line_xy_set.3
new file mode 100644 (file)
index 0000000..3729b9d
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Line_Group.3
diff --git a/doc/man/man3/evas_object_lower.3 b/doc/man/man3/evas_object_lower.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_map_enable_get.3 b/doc/man/man3/evas_object_map_enable_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_map_enable_set.3 b/doc/man/man3/evas_object_map_enable_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_map_get.3 b/doc/man/man3/evas_object_map_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_map_set.3 b/doc/man/man3/evas_object_map_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_map_source_get.3 b/doc/man/man3/evas_object_map_source_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_map_source_set.3 b/doc/man/man3/evas_object_map_source_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_move.3 b/doc/man/man3/evas_object_move.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_name_find.3 b/doc/man/man3/evas_object_name_find.3
new file mode 100644 (file)
index 0000000..66ecacc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Find.3
diff --git a/doc/man/man3/evas_object_name_get.3 b/doc/man/man3/evas_object_name_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_name_set.3 b/doc/man/man3/evas_object_name_set.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_pass_events_get.3 b/doc/man/man3/evas_object_pass_events_get.3
new file mode 100644 (file)
index 0000000..766a2df
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Events.3
diff --git a/doc/man/man3/evas_object_pass_events_set.3 b/doc/man/man3/evas_object_pass_events_set.3
new file mode 100644 (file)
index 0000000..766a2df
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Events.3
diff --git a/doc/man/man3/evas_object_pointer_mode_get.3 b/doc/man/man3/evas_object_pointer_mode_get.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_pointer_mode_set.3 b/doc/man/man3/evas_object_pointer_mode_set.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_polygon_add.3 b/doc/man/man3/evas_object_polygon_add.3
new file mode 100644 (file)
index 0000000..f220029
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Polygon.3
diff --git a/doc/man/man3/evas_object_polygon_point_add.3 b/doc/man/man3/evas_object_polygon_point_add.3
new file mode 100644 (file)
index 0000000..f220029
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Polygon.3
diff --git a/doc/man/man3/evas_object_polygon_points_clear.3 b/doc/man/man3/evas_object_polygon_points_clear.3
new file mode 100644 (file)
index 0000000..f220029
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Polygon.3
diff --git a/doc/man/man3/evas_object_precise_is_inside_get.3 b/doc/man/man3/evas_object_precise_is_inside_get.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_precise_is_inside_set.3 b/doc/man/man3/evas_object_precise_is_inside_set.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_propagate_events_get.3 b/doc/man/man3/evas_object_propagate_events_get.3
new file mode 100644 (file)
index 0000000..766a2df
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Events.3
diff --git a/doc/man/man3/evas_object_propagate_events_set.3 b/doc/man/man3/evas_object_propagate_events_set.3
new file mode 100644 (file)
index 0000000..766a2df
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Events.3
diff --git a/doc/man/man3/evas_object_raise.3 b/doc/man/man3/evas_object_raise.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_rectangle_add.3 b/doc/man/man3/evas_object_rectangle_add.3
new file mode 100644 (file)
index 0000000..0d3f17e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Rectangle.3
diff --git a/doc/man/man3/evas_object_ref.3 b/doc/man/man3/evas_object_ref.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_render_op_get.3 b/doc/man/man3/evas_object_render_op_get.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_render_op_set.3 b/doc/man/man3/evas_object_render_op_set.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_repeat_events_get.3 b/doc/man/man3/evas_object_repeat_events_get.3
new file mode 100644 (file)
index 0000000..766a2df
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Events.3
diff --git a/doc/man/man3/evas_object_repeat_events_set.3 b/doc/man/man3/evas_object_repeat_events_set.3
new file mode 100644 (file)
index 0000000..766a2df
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Events.3
diff --git a/doc/man/man3/evas_object_resize.3 b/doc/man/man3/evas_object_resize.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_scale_get.3 b/doc/man/man3/evas_object_scale_get.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_scale_set.3 b/doc/man/man3/evas_object_scale_set.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_show.3 b/doc/man/man3/evas_object_show.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_size_hint_align_get.3 b/doc/man/man3/evas_object_size_hint_align_get.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_align_set.3 b/doc/man/man3/evas_object_size_hint_align_set.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_aspect_get.3 b/doc/man/man3/evas_object_size_hint_aspect_get.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_aspect_set.3 b/doc/man/man3/evas_object_size_hint_aspect_set.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_expand_get.3 b/doc/man/man3/evas_object_size_hint_expand_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_size_hint_expand_set.3 b/doc/man/man3/evas_object_size_hint_expand_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_size_hint_fill_get.3 b/doc/man/man3/evas_object_size_hint_fill_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_size_hint_fill_set.3 b/doc/man/man3/evas_object_size_hint_fill_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_size_hint_max_get.3 b/doc/man/man3/evas_object_size_hint_max_get.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_max_set.3 b/doc/man/man3/evas_object_size_hint_max_set.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_min_get.3 b/doc/man/man3/evas_object_size_hint_min_get.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_min_set.3 b/doc/man/man3/evas_object_size_hint_min_set.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_padding_get.3 b/doc/man/man3/evas_object_size_hint_padding_get.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_padding_set.3 b/doc/man/man3/evas_object_size_hint_padding_set.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_request_get.3 b/doc/man/man3/evas_object_size_hint_request_get.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_request_set.3 b/doc/man/man3/evas_object_size_hint_request_set.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_weight_get.3 b/doc/man/man3/evas_object_size_hint_weight_get.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_size_hint_weight_set.3 b/doc/man/man3/evas_object_size_hint_weight_set.3
new file mode 100644 (file)
index 0000000..92e3485
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Size_Hints.3
diff --git a/doc/man/man3/evas_object_smart_add.3 b/doc/man/man3/evas_object_smart_add.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_calculate.3 b/doc/man/man3/evas_object_smart_calculate.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_callback_add.3 b/doc/man/man3/evas_object_smart_callback_add.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_callback_call.3 b/doc/man/man3/evas_object_smart_callback_call.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_callback_del.3 b/doc/man/man3/evas_object_smart_callback_del.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_callbacks_descriptions_get.3 b/doc/man/man3/evas_object_smart_callbacks_descriptions_get.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_callbacks_descriptions_set.3 b/doc/man/man3/evas_object_smart_callbacks_descriptions_set.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_changed.3 b/doc/man/man3/evas_object_smart_changed.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_clipped_class_get.3 b/doc/man/man3/evas_object_smart_clipped_class_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_smart_clipped_clipper_get.3 b/doc/man/man3/evas_object_smart_clipped_clipper_get.3
new file mode 100644 (file)
index 0000000..10bc582
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Clipped.3
diff --git a/doc/man/man3/evas_object_smart_clipped_smart_set.3 b/doc/man/man3/evas_object_smart_clipped_smart_set.3
new file mode 100644 (file)
index 0000000..10bc582
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Clipped.3
diff --git a/doc/man/man3/evas_object_smart_data_get.3 b/doc/man/man3/evas_object_smart_data_get.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_data_set.3 b/doc/man/man3/evas_object_smart_data_set.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_member_add.3 b/doc/man/man3/evas_object_smart_member_add.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_member_del.3 b/doc/man/man3/evas_object_smart_member_del.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_members_get.3 b/doc/man/man3/evas_object_smart_members_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_smart_move_children_relative.3 b/doc/man/man3/evas_object_smart_move_children_relative.3
new file mode 100644 (file)
index 0000000..10bc582
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Clipped.3
diff --git a/doc/man/man3/evas_object_smart_need_recalculate_get.3 b/doc/man/man3/evas_object_smart_need_recalculate_get.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_need_recalculate_set.3 b/doc/man/man3/evas_object_smart_need_recalculate_set.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_parent_get.3 b/doc/man/man3/evas_object_smart_parent_get.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_smart_get.3 b/doc/man/man3/evas_object_smart_smart_get.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_type_check.3 b/doc/man/man3/evas_object_smart_type_check.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_smart_type_check_ptr.3 b/doc/man/man3/evas_object_smart_type_check_ptr.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_object_stack_above.3 b/doc/man/man3/evas_object_stack_above.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_stack_below.3 b/doc/man/man3/evas_object_stack_below.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_static_clip_get.3 b/doc/man/man3/evas_object_static_clip_get.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_static_clip_set.3 b/doc/man/man3/evas_object_static_clip_set.3
new file mode 100644 (file)
index 0000000..367f06e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Extras.3
diff --git a/doc/man/man3/evas_object_table_accessor_new.3 b/doc/man/man3/evas_object_table_accessor_new.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_add.3 b/doc/man/man3/evas_object_table_add.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_add_to.3 b/doc/man/man3/evas_object_table_add_to.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_align_get.3 b/doc/man/man3/evas_object_table_align_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_table_align_set.3 b/doc/man/man3/evas_object_table_align_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_table_child_get.3 b/doc/man/man3/evas_object_table_child_get.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_children_get.3 b/doc/man/man3/evas_object_table_children_get.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_clear.3 b/doc/man/man3/evas_object_table_clear.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_col_row_size_get.3 b/doc/man/man3/evas_object_table_col_row_size_get.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_homogeneous_get.3 b/doc/man/man3/evas_object_table_homogeneous_get.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_homogeneous_set.3 b/doc/man/man3/evas_object_table_homogeneous_set.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_iterator_new.3 b/doc/man/man3/evas_object_table_iterator_new.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_mirrored_get.3 b/doc/man/man3/evas_object_table_mirrored_get.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_mirrored_set.3 b/doc/man/man3/evas_object_table_mirrored_set.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_pack.3 b/doc/man/man3/evas_object_table_pack.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_table_padding_get.3 b/doc/man/man3/evas_object_table_padding_get.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_table_padding_set.3 b/doc/man/man3/evas_object_table_padding_set.3
new file mode 100644 (file)
index 0000000..651b78e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas.h.3
diff --git a/doc/man/man3/evas_object_table_unpack.3 b/doc/man/man3/evas_object_table_unpack.3
new file mode 100644 (file)
index 0000000..13b7193
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Table.3
diff --git a/doc/man/man3/evas_object_text_add.3 b/doc/man/man3/evas_object_text_add.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_ascent_get.3 b/doc/man/man3/evas_object_text_ascent_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_char_coords_get.3 b/doc/man/man3/evas_object_text_char_coords_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_char_pos_get.3 b/doc/man/man3/evas_object_text_char_pos_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_descent_get.3 b/doc/man/man3/evas_object_text_descent_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_direction_get.3 b/doc/man/man3/evas_object_text_direction_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_font_get.3 b/doc/man/man3/evas_object_text_font_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_font_set.3 b/doc/man/man3/evas_object_text_font_set.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_font_source_get.3 b/doc/man/man3/evas_object_text_font_source_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_font_source_set.3 b/doc/man/man3/evas_object_text_font_source_set.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_glow2_color_get.3 b/doc/man/man3/evas_object_text_glow2_color_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_glow2_color_set.3 b/doc/man/man3/evas_object_text_glow2_color_set.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_glow_color_get.3 b/doc/man/man3/evas_object_text_glow_color_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_glow_color_set.3 b/doc/man/man3/evas_object_text_glow_color_set.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_horiz_advance_get.3 b/doc/man/man3/evas_object_text_horiz_advance_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_inset_get.3 b/doc/man/man3/evas_object_text_inset_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_last_up_to_pos.3 b/doc/man/man3/evas_object_text_last_up_to_pos.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_max_ascent_get.3 b/doc/man/man3/evas_object_text_max_ascent_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_max_descent_get.3 b/doc/man/man3/evas_object_text_max_descent_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_outline_color_get.3 b/doc/man/man3/evas_object_text_outline_color_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_outline_color_set.3 b/doc/man/man3/evas_object_text_outline_color_set.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_shadow_color_get.3 b/doc/man/man3/evas_object_text_shadow_color_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_shadow_color_set.3 b/doc/man/man3/evas_object_text_shadow_color_set.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_style_get.3 b/doc/man/man3/evas_object_text_style_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_style_pad_get.3 b/doc/man/man3/evas_object_text_style_pad_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_style_set.3 b/doc/man/man3/evas_object_text_style_set.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_text_get.3 b/doc/man/man3/evas_object_text_text_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_text_set.3 b/doc/man/man3/evas_object_text_text_set.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_text_vert_advance_get.3 b/doc/man/man3/evas_object_text_vert_advance_get.3
new file mode 100644 (file)
index 0000000..2b3226a
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Text.3
diff --git a/doc/man/man3/evas_object_textblock_add.3 b/doc/man/man3/evas_object_textblock_add.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_clear.3 b/doc/man/man3/evas_object_textblock_clear.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_cursor_get.3 b/doc/man/man3/evas_object_textblock_cursor_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_cursor_new.3 b/doc/man/man3/evas_object_textblock_cursor_new.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_line_number_geometry_get.3 b/doc/man/man3/evas_object_textblock_line_number_geometry_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_newline_mode_get.3 b/doc/man/man3/evas_object_textblock_newline_mode_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_newline_mode_set.3 b/doc/man/man3/evas_object_textblock_newline_mode_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_replace_char_get.3 b/doc/man/man3/evas_object_textblock_replace_char_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_replace_char_set.3 b/doc/man/man3/evas_object_textblock_replace_char_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_size_formatted_get.3 b/doc/man/man3/evas_object_textblock_size_formatted_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_size_native_get.3 b/doc/man/man3/evas_object_textblock_size_native_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_style_get.3 b/doc/man/man3/evas_object_textblock_style_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_style_insets_get.3 b/doc/man/man3/evas_object_textblock_style_insets_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_style_set.3 b/doc/man/man3/evas_object_textblock_style_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_text_markup_get.3 b/doc/man/man3/evas_object_textblock_text_markup_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_text_markup_prepend.3 b/doc/man/man3/evas_object_textblock_text_markup_prepend.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_text_markup_set.3 b/doc/man/man3/evas_object_textblock_text_markup_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_valign_get.3 b/doc/man/man3/evas_object_textblock_valign_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_textblock_valign_set.3 b/doc/man/man3/evas_object_textblock_valign_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_object_top_at_pointer_get.3 b/doc/man/man3/evas_object_top_at_pointer_get.3
new file mode 100644 (file)
index 0000000..66ecacc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Find.3
diff --git a/doc/man/man3/evas_object_top_at_xy_get.3 b/doc/man/man3/evas_object_top_at_xy_get.3
new file mode 100644 (file)
index 0000000..66ecacc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Find.3
diff --git a/doc/man/man3/evas_object_top_get.3 b/doc/man/man3/evas_object_top_get.3
new file mode 100644 (file)
index 0000000..66ecacc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Find.3
diff --git a/doc/man/man3/evas_object_top_in_rectangle_get.3 b/doc/man/man3/evas_object_top_in_rectangle_get.3
new file mode 100644 (file)
index 0000000..66ecacc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Find.3
diff --git a/doc/man/man3/evas_object_type_get.3 b/doc/man/man3/evas_object_type_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_unref.3 b/doc/man/man3/evas_object_unref.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_object_visible_get.3 b/doc/man/man3/evas_object_visible_get.3
new file mode 100644 (file)
index 0000000..c843fd9
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Basic.3
diff --git a/doc/man/man3/evas_objects_at_xy_get.3 b/doc/man/man3/evas_objects_at_xy_get.3
new file mode 100644 (file)
index 0000000..66ecacc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Find.3
diff --git a/doc/man/man3/evas_objects_in_rectangle_get.3 b/doc/man/man3/evas_objects_in_rectangle_get.3
new file mode 100644 (file)
index 0000000..66ecacc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Group_Find.3
diff --git a/doc/man/man3/evas_obscured_clear.3 b/doc/man/man3/evas_obscured_clear.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_obscured_rectangle_add.3 b/doc/man/man3/evas_obscured_rectangle_add.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_output_method_get.3 b/doc/man/man3/evas_output_method_get.3
new file mode 100644 (file)
index 0000000..d58d3bc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Method.3
diff --git a/doc/man/man3/evas_output_method_set.3 b/doc/man/man3/evas_output_method_set.3
new file mode 100644 (file)
index 0000000..d58d3bc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Method.3
diff --git a/doc/man/man3/evas_output_size_get.3 b/doc/man/man3/evas_output_size_get.3
new file mode 100644 (file)
index 0000000..6380845
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Size.3
diff --git a/doc/man/man3/evas_output_size_set.3 b/doc/man/man3/evas_output_size_set.3
new file mode 100644 (file)
index 0000000..6380845
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Size.3
diff --git a/doc/man/man3/evas_output_viewport_get.3 b/doc/man/man3/evas_output_viewport_get.3
new file mode 100644 (file)
index 0000000..6380845
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Size.3
diff --git a/doc/man/man3/evas_output_viewport_set.3 b/doc/man/man3/evas_output_viewport_set.3
new file mode 100644 (file)
index 0000000..6380845
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Size.3
diff --git a/doc/man/man3/evas_pointer_button_down_mask_get.3 b/doc/man/man3/evas_pointer_button_down_mask_get.3
new file mode 100644 (file)
index 0000000..f554377
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Pointer_Group.3
diff --git a/doc/man/man3/evas_pointer_canvas_xy_get.3 b/doc/man/man3/evas_pointer_canvas_xy_get.3
new file mode 100644 (file)
index 0000000..f554377
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Pointer_Group.3
diff --git a/doc/man/man3/evas_pointer_inside_get.3 b/doc/man/man3/evas_pointer_inside_get.3
new file mode 100644 (file)
index 0000000..f554377
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Pointer_Group.3
diff --git a/doc/man/man3/evas_pointer_output_xy_get.3 b/doc/man/man3/evas_pointer_output_xy_get.3
new file mode 100644 (file)
index 0000000..f554377
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Pointer_Group.3
diff --git a/doc/man/man3/evas_post_event_callback_push.3 b/doc/man/man3/evas_post_event_callback_push.3
new file mode 100644 (file)
index 0000000..20dd3a5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas_Events.3
diff --git a/doc/man/man3/evas_post_event_callback_remove.3 b/doc/man/man3/evas_post_event_callback_remove.3
new file mode 100644 (file)
index 0000000..20dd3a5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas_Events.3
diff --git a/doc/man/man3/evas_post_event_callback_remove_full.3 b/doc/man/man3/evas_post_event_callback_remove_full.3
new file mode 100644 (file)
index 0000000..20dd3a5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas_Events.3
diff --git a/doc/man/man3/evas_render.3 b/doc/man/man3/evas_render.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_render_idle_flush.3 b/doc/man/man3/evas_render_idle_flush.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_render_method_list.3 b/doc/man/man3/evas_render_method_list.3
new file mode 100644 (file)
index 0000000..d58d3bc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Method.3
diff --git a/doc/man/man3/evas_render_method_list_free.3 b/doc/man/man3/evas_render_method_list_free.3
new file mode 100644 (file)
index 0000000..d58d3bc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Method.3
diff --git a/doc/man/man3/evas_render_method_lookup.3 b/doc/man/man3/evas_render_method_lookup.3
new file mode 100644 (file)
index 0000000..d58d3bc
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Output_Method.3
diff --git a/doc/man/man3/evas_render_updates.3 b/doc/man/man3/evas_render_updates.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_render_updates_free.3 b/doc/man/man3/evas_render_updates_free.3
new file mode 100644 (file)
index 0000000..d8ef55e
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Canvas.3
diff --git a/doc/man/man3/evas_shutdown.3 b/doc/man/man3/evas_shutdown.3
new file mode 100644 (file)
index 0000000..4452057
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Group.3
diff --git a/doc/man/man3/evas_smart_callback_description_find.3 b/doc/man/man3/evas_smart_callback_description_find.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/evas_smart_callbacks_descriptions_get.3 b/doc/man/man3/evas_smart_callbacks_descriptions_get.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/evas_smart_class_get.3 b/doc/man/man3/evas_smart_class_get.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/evas_smart_class_inherit.3 b/doc/man/man3/evas_smart_class_inherit.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/evas_smart_class_inherit_full.3 b/doc/man/man3/evas_smart_class_inherit_full.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/evas_smart_class_new.3 b/doc/man/man3/evas_smart_class_new.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/evas_smart_data_get.3 b/doc/man/man3/evas_smart_data_get.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/evas_smart_free.3 b/doc/man/man3/evas_smart_free.3
new file mode 100644 (file)
index 0000000..78d499b
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Group.3
diff --git a/doc/man/man3/evas_smart_objects_calculate.3 b/doc/man/man3/evas_smart_objects_calculate.3
new file mode 100644 (file)
index 0000000..b2e6453
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Smart_Object_Group.3
diff --git a/doc/man/man3/evas_string_char_len_get.3 b/doc/man/man3/evas_string_char_len_get.3
new file mode 100644 (file)
index 0000000..32c5cc5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Utils.3
diff --git a/doc/man/man3/evas_string_char_next_get.3 b/doc/man/man3/evas_string_char_next_get.3
new file mode 100644 (file)
index 0000000..32c5cc5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Utils.3
diff --git a/doc/man/man3/evas_string_char_prev_get.3 b/doc/man/man3/evas_string_char_prev_get.3
new file mode 100644 (file)
index 0000000..32c5cc5
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Utils.3
diff --git a/doc/man/man3/evas_textblock_cursor_at_format_set.3 b/doc/man/man3/evas_textblock_cursor_at_format_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_char_coord_set.3 b/doc/man/man3/evas_textblock_cursor_char_coord_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_char_delete.3 b/doc/man/man3/evas_textblock_cursor_char_delete.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_char_geometry_get.3 b/doc/man/man3/evas_textblock_cursor_char_geometry_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_char_next.3 b/doc/man/man3/evas_textblock_cursor_char_next.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_char_prev.3 b/doc/man/man3/evas_textblock_cursor_char_prev.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_compare.3 b/doc/man/man3/evas_textblock_cursor_compare.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_content_get.3 b/doc/man/man3/evas_textblock_cursor_content_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_copy.3 b/doc/man/man3/evas_textblock_cursor_copy.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_eol_get.3 b/doc/man/man3/evas_textblock_cursor_eol_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_format_append.3 b/doc/man/man3/evas_textblock_cursor_format_append.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_format_get.3 b/doc/man/man3/evas_textblock_cursor_format_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_format_is_visible_get.3 b/doc/man/man3/evas_textblock_cursor_format_is_visible_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_format_item_geometry_get.3 b/doc/man/man3/evas_textblock_cursor_format_item_geometry_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_format_next.3 b/doc/man/man3/evas_textblock_cursor_format_next.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_format_prepend.3 b/doc/man/man3/evas_textblock_cursor_format_prepend.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_format_prev.3 b/doc/man/man3/evas_textblock_cursor_format_prev.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_free.3 b/doc/man/man3/evas_textblock_cursor_free.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_geometry_get.3 b/doc/man/man3/evas_textblock_cursor_geometry_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_is_format.3 b/doc/man/man3/evas_textblock_cursor_is_format.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_line_char_first.3 b/doc/man/man3/evas_textblock_cursor_line_char_first.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_line_char_last.3 b/doc/man/man3/evas_textblock_cursor_line_char_last.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_line_coord_set.3 b/doc/man/man3/evas_textblock_cursor_line_coord_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_line_geometry_get.3 b/doc/man/man3/evas_textblock_cursor_line_geometry_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_line_set.3 b/doc/man/man3/evas_textblock_cursor_line_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_paragraph_char_first.3 b/doc/man/man3/evas_textblock_cursor_paragraph_char_first.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_paragraph_char_last.3 b/doc/man/man3/evas_textblock_cursor_paragraph_char_last.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_paragraph_first.3 b/doc/man/man3/evas_textblock_cursor_paragraph_first.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_paragraph_last.3 b/doc/man/man3/evas_textblock_cursor_paragraph_last.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_paragraph_next.3 b/doc/man/man3/evas_textblock_cursor_paragraph_next.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_paragraph_prev.3 b/doc/man/man3/evas_textblock_cursor_paragraph_prev.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_paragraph_text_get.3 b/doc/man/man3/evas_textblock_cursor_paragraph_text_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_paragraph_text_length_get.3 b/doc/man/man3/evas_textblock_cursor_paragraph_text_length_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_pen_geometry_get.3 b/doc/man/man3/evas_textblock_cursor_pen_geometry_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_pos_get.3 b/doc/man/man3/evas_textblock_cursor_pos_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_pos_set.3 b/doc/man/man3/evas_textblock_cursor_pos_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_range_delete.3 b/doc/man/man3/evas_textblock_cursor_range_delete.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_range_geometry_get.3 b/doc/man/man3/evas_textblock_cursor_range_geometry_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_range_text_get.3 b/doc/man/man3/evas_textblock_cursor_range_text_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_set_at_format.3 b/doc/man/man3/evas_textblock_cursor_set_at_format.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_text_append.3 b/doc/man/man3/evas_textblock_cursor_text_append.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_cursor_text_prepend.3 b/doc/man/man3/evas_textblock_cursor_text_prepend.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_escape_string_get.3 b/doc/man/man3/evas_textblock_escape_string_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_escape_string_range_get.3 b/doc/man/man3/evas_textblock_escape_string_range_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_node_format_first_get.3 b/doc/man/man3/evas_textblock_node_format_first_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_node_format_last_get.3 b/doc/man/man3/evas_textblock_node_format_last_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_node_format_next_get.3 b/doc/man/man3/evas_textblock_node_format_next_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_node_format_prev_get.3 b/doc/man/man3/evas_textblock_node_format_prev_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_node_format_remove_pair.3 b/doc/man/man3/evas_textblock_node_format_remove_pair.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_node_format_text_get.3 b/doc/man/man3/evas_textblock_node_format_text_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_string_escape_get.3 b/doc/man/man3/evas_textblock_string_escape_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_style_free.3 b/doc/man/man3/evas_textblock_style_free.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_style_get.3 b/doc/man/man3/evas_textblock_style_get.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_style_new.3 b/doc/man/man3/evas_textblock_style_new.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/evas_textblock_style_set.3 b/doc/man/man3/evas_textblock_style_set.3
new file mode 100644 (file)
index 0000000..87f43ef
--- /dev/null
@@ -0,0 +1 @@
+.so man3/Evas_Object_Textblock.3
diff --git a/doc/man/man3/h.3 b/doc/man/man3/h.3
new file mode 100644 (file)
index 0000000..6384259
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Coord_Rectangle.3
diff --git a/doc/man/man3/hold.3 b/doc/man/man3/hold.3
new file mode 100644 (file)
index 0000000..62debd6
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Event_Hold.3
diff --git a/doc/man/man3/interfaces.3 b/doc/man/man3/interfaces.3
new file mode 100644 (file)
index 0000000..e2e3e96
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Smart_Class.3
diff --git a/doc/man/man3/key.3 b/doc/man/man3/key.3
new file mode 100644 (file)
index 0000000..7505268
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Event_Key_Down.3
diff --git a/doc/man/man3/keyname.3 b/doc/man/man3/keyname.3
new file mode 100644 (file)
index 0000000..7505268
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Event_Key_Down.3
diff --git a/doc/man/man3/magic.3 b/doc/man/man3/magic.3
new file mode 100644 (file)
index 0000000..711d310
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Engine_Info.3
diff --git a/doc/man/man3/name.3 b/doc/man/man3/name.3
new file mode 100644 (file)
index 0000000..efc9325
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Smart_Cb_Description.3
diff --git a/doc/man/man3/parent.3 b/doc/man/man3/parent.3
new file mode 100644 (file)
index 0000000..e2e3e96
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Smart_Class.3
diff --git a/doc/man/man3/saved_memory.3 b/doc/man/man3/saved_memory.3
new file mode 100644 (file)
index 0000000..0c70623
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Cserve_Stats.3
diff --git a/doc/man/man3/saved_memory_peak.3 b/doc/man/man3/saved_memory_peak.3
new file mode 100644 (file)
index 0000000..0c70623
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Cserve_Stats.3
diff --git a/doc/man/man3/saved_time_image_data_load.3 b/doc/man/man3/saved_time_image_data_load.3
new file mode 100644 (file)
index 0000000..0c70623
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Cserve_Stats.3
diff --git a/doc/man/man3/saved_time_image_header_load.3 b/doc/man/man3/saved_time_image_header_load.3
new file mode 100644 (file)
index 0000000..0c70623
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Cserve_Stats.3
diff --git a/doc/man/man3/string.3 b/doc/man/man3/string.3
new file mode 100644 (file)
index 0000000..7505268
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Event_Key_Down.3
diff --git a/doc/man/man3/todo.3 b/doc/man/man3/todo.3
new file mode 100644 (file)
index 0000000..c9e2d95
--- /dev/null
@@ -0,0 +1,130 @@
+.TH "todo" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+todo \- .TH "todo" 3 "Tue Apr 19 2011" "Evas" \" -*- nroff -*-
+.ad l
+.nh
+.SH NAME
+todo \-  
+.IP "\fBGlobal \fBENFN\fP \fP" 1c
+Write  
+.PP
+.PP
+.IP "\fBpage \fBEvas\fP \fP" 1c
+(1.0) Need a way ot scaling an image and just PRODUCING the output (scaling direct to target buffe r- no blend/copy etc.) 
+.PP
+(1.0) Could improve evas's scaling down code to limit multiple samples per output pixel to maybe 2x2? 
+.PP
+(1.0) Document API 
+.PP
+(1.0) Evas needs to check delete_me member for all object functions 
+.PP
+(1.0) Evas engine that renders to Evas_Objects 
+.PP
+(1.0) OpenGL engine needs to use texture meshes 
+.PP
+(1.0) OpenGL engine needs texture cache and size setting 
+.PP
+(1.0) OpenGL Engine needs YUV import API to YUV texture 
+.PP
+(1.0) All engines need pixel import API 
+.PP
+(1.0) Add parital render through composite layer api to engines 
+.PP
+(1.0) Move callback processing to a queue and do it asynchronously??? 
+.PP
+(1.0) Add button grabbing 
+.PP
+(1.0) Add generic object method call system 
+.PP
+(1.0) Add callbacks set for smart object parents to be set on all child smart objects too. 
+.PP
+(1.0) Add font load query calls (so we know if a font load failed) 
+.PP
+(1.0) Add font listing calls 
+.PP
+(1.0) Add ability to check image comments & disk format 
+.PP
+(1.0) Add fontset support 
+.PP
+(1.0) Export engine rendering API cleanly to Evas API 
+.PP
+(1.0) Add smart object ability to provide rendering callback 
+.PP
+(1.1) Make freetype optional and put in optional graymap font engine 
+.PP
+(1.1) Free images if object invisible (and put back in chache) 
+.PP
+(1.1) Check robustness of malloc/calloc/realloc failures. 
+.PP
+(1.1) Add memory use reduction code if any allocations fail 
+.PP
+(1.1) If image loads fails due to memory allocatue failure, load reduced res version 
+.PP
+(1.1) If image load fails due to memory allocation failure, try split it up into tiles and demand-load them 
+.PP
+(1.2) Add external image loaders (application provided callbacks to load) 
+.PP
+(1.2) Add loadable image loader module support (evas loads file.so) 
+.PP
+(1.2) Add external image loader modules (application provides path to file.so) 
+.PP
+(1.3) Add X11 primtive engine (ie pixmap) 
+.PP
+(1.3) Add immediate mode drawing commands to image objects 
+.PP
+(1.3) Fix FB engine to allocate vt and release properly 
+.PP
+(1.4) Add ellipse objects (circle, arc, ellipse etc.) 
+.PP
+(1.5) Make software engine draw lines & polys etc. with aa 
+.PP
+(1.5) Add radial gradients to gradient objects 
+.PP
+(1.5) Add Symbian Engine 
+.PP
+(1.6) Add PalmOS Engine 
+.PP
+(1.6) Add Apple OpenGL Engine 
+.PP
+(1.7) Document engine API and other internals 
+.PP
+(1.7) Allow any object to clip any other object, and not just rectangles 
+.PP
+(1.8) Add more evas demos 
+.PP
+(1.9) Write the error mechanism in evas_xcb_buffer.c 
+.PP
+(1.9) Rewrite the render xcb engine 
+.PP
+(1.10) Improve Win32 Direct3D Engine
+.PP
+.PP
+.IP "\fBFile \fBEvas.h\fP \fP" 1c
+check boolean return values and convert to Eina_Bool 
+.PP
+change all api to use EINA_SAFETY_* 
+.PP
+finish api documentation 
+.PP
+.PP
+.IP "\fBGlobal \fBevas_key_modifier_get\fP(const Evas *e) EINA_WARN_UNUSED_RESULT EINA_ARG_NONNULL(1) EINA_PURE \fP" 1c
+document key modifiers.
+.PP
+.PP
+.IP "\fBGlobal \fBevas_object_table_homogeneous_set\fP(Evas_Object *o, Evas_Object_Table_Homogeneous_Mode homogeneous) \fP" 1c
+consider aspect hint and respect it.
+.PP
+\fCEVAS_OBJECT_TABLE_HOMOGENEOUS_NONE\fP should balance weight.
+.PP
+.PP
+.IP "\fBGroup \fBEvas_Object_Textblock\fP \fP" 1c
+put here some usage examples
+.PP
+
diff --git a/doc/man/man3/type.3 b/doc/man/man3/type.3
new file mode 100644 (file)
index 0000000..efc9325
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Smart_Cb_Description.3
diff --git a/doc/man/man3/w.3 b/doc/man/man3/w.3
new file mode 100644 (file)
index 0000000..6384259
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Coord_Rectangle.3
diff --git a/doc/man/man3/wasted_memory.3 b/doc/man/man3/wasted_memory.3
new file mode 100644 (file)
index 0000000..0c70623
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Cserve_Stats.3
diff --git a/doc/man/man3/wasted_memory_peak.3 b/doc/man/man3/wasted_memory_peak.3
new file mode 100644 (file)
index 0000000..0c70623
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Cserve_Stats.3
diff --git a/doc/man/man3/x.3 b/doc/man/man3/x.3
new file mode 100644 (file)
index 0000000..6384259
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Coord_Rectangle.3
diff --git a/doc/man/man3/y.3 b/doc/man/man3/y.3
new file mode 100644 (file)
index 0000000..6384259
--- /dev/null
@@ -0,0 +1 @@
+.so man3/_Evas_Coord_Rectangle.3
diff --git a/evas-1.0.999.0-doc.tar.bz2 b/evas-1.0.999.0-doc.tar.bz2
new file mode 100644 (file)
index 0000000..70a3e41
Binary files /dev/null and b/evas-1.0.999.0-doc.tar.bz2 differ
diff --git a/evas-1.0.999.0-doc.tar.bz2.cdbs-config_list b/evas-1.0.999.0-doc.tar.bz2.cdbs-config_list
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/evas.spec b/evas.spec
new file mode 100644 (file)
index 0000000..59d1c9c
--- /dev/null
+++ b/evas.spec
@@ -0,0 +1,646 @@
+# Conditional build stuff; from rpm 4.4 /usr/lib/rpm/macros.
+# bcond_without defaults to WITH, and vice versa.  Yes, it's
+# ass-backward.  Blame PLD.
+%if %{!?with:1}0
+%define with() %{expand:%%{?with_%{1}:1}%%{!?with_%{1}:0}}
+%endif
+%if %{!?without:1}0
+%define without() %{expand:%%{?with_%{1}:0}%%{!?with_%{1}:1}}
+%endif
+%if %{!?bcond_with:1}0
+%define bcond_with() %{expand:%%{?_with_%{1}:%%global with_%{1} 1}}
+%endif
+%if %{!?bcond_without:1}0
+%define bcond_without() %{expand:%%{!?_without_%{1}:%%global with_%{1} 1}}
+%endif
+
+## disabled features
+%bcond_with    module_loader_edb
+%bcond_with    module_saver_edb
+%bcond_with    module_engine_directfb
+%bcond_with    module_engine_gl_x11
+%bcond_with    module_engine_quartz
+%bcond_with    module_engine_software_qtopia
+%bcond_with    module_engine_software_16_x11
+%bcond_with    module_engine_software_sdl
+%bcond_with    module_engine_software_xcb
+%bcond_with    module_engine_xrender_x11
+%bcond_with    module_engine_xrender_xcb
+%bcond_with    module_loader_gif
+%bcond_with    module_loader_svg
+
+## enabled features
+%bcond_without module_engine_software_x11
+%bcond_without module_engine_buffer
+%bcond_without module_engine_fb
+%bcond_without module_loader_pmaps
+%bcond_without module_loader_png
+%bcond_without module_saver_png
+%bcond_without module_loader_jpeg
+%bcond_without module_saver_jpeg
+%bcond_without module_loader_tiff
+%bcond_without module_saver_tiff
+%bcond_without module_loader_eet
+%bcond_without module_saver_eet
+%bcond_without module_loader_xpm
+%bcond_without module_loader_bmp
+%bcond_without module_loader_wbmp
+%bcond_without module_loader_tga
+
+# This just keeps a missing doxygen from killing the build.
+%define _missing_doc_files_terminate_build 0
+
+# Macros for ./configure use
+%define ac_with_module_loader_eet --%{?with_module_loader_eet:en}%{!?with_module_loader_eet:dis}able-image-loader-eet
+%define ac_with_module_loader_jpeg --%{?with_module_loader_jpeg:en}%{!?with_module_loader_jpeg:dis}able-image-loader-jpeg
+%define ac_with_module_loader_pmaps --%{?with_module_loader_pmaps:en}%{!?with_module_loader_pmaps:dis}able-image-loader-pmaps
+%define ac_with_module_loader_png --%{?with_module_loader_png:en}%{!?with_module_loader_png:dis}able-image-loader-png
+%define ac_with_module_loader_tiff --%{?with_module_loader_tiff:en}%{!?with_module_loader_tiff:dis}able-image-loader-tiff
+%define ac_with_module_loader_gif --%{?with_module_loader_gif:en}%{!?with_module_loader_gif:dis}able-image-loader-gif
+%define ac_with_module_loader_edb --%{?with_module_loader_edb:en}%{!?with_module_loader_edb:dis}able-image-loader-edb
+%define ac_with_module_loader_xpm --%{?with_module_loader_xpm:en}%{!?with_module_loader_xpm:dis}able-image-loader-xpm
+%define ac_with_module_loader_svg --%{?with_module_loader_svg:en}%{!?with_module_loader_svg:dis}able-image-loader-svg
+%define ac_with_module_loader_bmp --%{?with_module_loader_bmp:en}%{!?with_module_loader_bmp:dis}able-image-loader-bmp
+%define ac_with_module_loader_wbmp --%{?with_module_loader_wbmp:en}%{!?with_module_loader_wbmp:dis}able-image-loader-wbmp
+%define ac_with_module_loader_tga --%{?with_module_loader_tga:en}%{!?with_module_loader_tga:dis}able-image-loader-tga
+%define ac_with_module_saver_eet --%{?with_module_saver_eet:en}%{!?with_module_saver_eet:dis}able-image-saver-eet
+%define ac_with_module_saver_jpeg --%{?with_module_saver_jpeg:en}%{!?with_module_saver_jpeg:dis}able-image-saver-jpeg
+%define ac_with_module_saver_png --%{?with_module_saver_png:en}%{!?with_module_saver_png:dis}able-image-saver-png
+%define ac_with_module_saver_tiff --%{?with_module_saver_tiff:en}%{!?with_module_saver_tiff:dis}able-image-saver-tiff
+%define ac_with_module_saver_gif --%{?with_module_saver_gif:en}%{!?with_module_saver_gif:dis}able-image-saver-gif
+%define ac_with_module_saver_edb --%{?with_module_saver_edb:en}%{!?with_module_saver_edb:dis}able-image-saver-edb
+%define ac_with_module_saver_xpm --%{?with_module_saver_xpm:en}%{!?with_module_saver_xpm:dis}able-image-saver-xpm
+%define ac_with_module_engine_software-x11 --%{?with_module_engine_software_x11:en}%{!?with_module_engine_software_x11:dis}able-software-x11
+%define ac_with_module_engine_buffer --%{?with_module_engine_buffer:en}%{!?with_module_engine_buffer:dis}able-buffer
+%define ac_with_module_engine_fb --%{?with_module_engine_fb:en}%{!?with_module_engine_fb:dis}able-fb
+%define ac_with_module_engine_xrender_x11 --%{?with_module_engine_xrender_x11:en}%{!?with_module_engine_xrender_x11:dis}able-xrender-x11
+%define ac_with_module_engine_gl_x11 --%{?with_module_engine_gl_x11:en}%{!?with_module_engine_gl_x11:dis}able-gl-x11
+%define ac_with_module_engine_quartz --%{?with_module_engine_quartz:en}%{!?with_module_engine_quartz:dis}able-quartz
+%define ac_with_module_engine_directfb --%{?with_module_engine_directfb:en}%{!?with_module_engine_directfb:dis}able-directfb
+%define ac_with_module_engine_software_16_x11 --%{?with_module_engine_software_16_x11:en}%{!?with_module_engine_software_16_x11:dis}able-software-16-x11
+%define ac_with_module_engine_software_qtopia --%{?with_module_engine_software_qtopia:en}%{!?with_module_engine_software_qtopia:dis}able-software-qtopia
+%define ac_with_module_engine_software_sdl --%{?with_module_engine_software_sdl:en}%{!?with_module_engine_software_sdl:dis}able-sdl
+%define ac_with_module_engine_software_xcb --%{?with_module_engine_software_xcb:en}%{!?with_module_engine_software_xcb:dis}able-software-xcb
+%define ac_with_module_engine_xrender_xcb --%{?with_module_engine_xrender_xcb:en}%{!?with_module_engine_xrender_xcb:dis}able-xrender-xcb
+
+%{!?_rel:%{expand:%%global _rel 0.r%(svnversion | sed 's/[^0-9].*$//' || echo 0000)}}
+
+Summary: Multi-platform Canvas Library
+Name: evas
+Version: 1.0.999.0
+Release: %{_rel}
+License: BSD
+Group: System Environment/Libraries
+URL: http://www.enlightenment.org/
+Source: http://download.enlightenment.org/releases/%{name}-%{version}.tar.gz
+Packager: %{?_packager:%{_packager}}%{!?_packager:Michael Jennings <mej@eterm.org>}
+Vendor: %{?_vendorinfo:%{_vendorinfo}}%{!?_vendorinfo:The Enlightenment Project (http://www.enlightenment.org/)}
+Distribution: %{?_distribution:%{_distribution}}%{!?_distribution:%{_vendor}}
+BuildRequires: /usr/bin/freetype-config
+Provides: evas
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+
+%description
+Evas is a clean display canvas API for several target display systems
+that can draw anti-aliased text, smooth super and sub-sampled scaled
+images, alpha-blend objects much and more.
+
+%package devel
+Summary: Evas headers, static libraries, documentation and test programs
+Group: System Environment/Libraries
+Requires: %{name} = %{version}
+
+%description devel
+Headers, static libraries, test programs and documentation for Evas.
+
+%if %{with module_loader_eet}
+%package module_loader_eet
+Summary: EET Image loader module for Evas
+Group: System Environment/Libraries
+BuildRequires: eet-devel
+%description module_loader_eet
+EET Image loader module for Evas
+%endif
+
+%if %{with module_saver_eet}
+%package module_saver_eet
+Summary: EET Image saver module for Evas
+Group: System Environment/Libraries
+BuildRequires: eet-devel
+%description module_saver_eet
+EET Image saver module for Evas
+%endif
+
+%if %{with module_loader_jpeg}
+%package module_loader_jpeg
+Summary: JPEG Image loader module for Evas
+Group: System Environment/Libraries
+BuildRequires: libjpeg-devel
+%description module_loader_jpeg
+JPEG Image loader module for Evas
+%endif
+
+%if %{with module_saver_jpeg}
+%package module_saver_jpeg
+Summary: JPEG Image saver module for Evas
+Group: System Environment/Libraries
+BuildRequires: libjpeg-devel
+%description module_saver_jpeg
+JPEG Image saver module for Evas
+%endif
+
+%if %{with module_loader_pmaps}
+%package module_loader_pmaps
+Summary: Pixmap Image loader module for Evas
+Group: System Environment/Libraries
+BuildRequires: libXpm-devel
+%description module_loader_pmaps
+Pixmap Image loader module for Evas
+%endif
+
+%if %{with module_loader_png}
+%package module_loader_png
+Summary: PNG Image loader module for Evas
+Group: System Environment/Libraries
+BuildRequires: libpng-devel
+%description module_loader_png
+PNG Image loader module for Evas
+%endif
+
+%if %{with module_saver_png}
+%package module_saver_png
+Summary: PNG Image saver module for Evas
+Group: System Environment/Libraries
+BuildRequires: libpng-devel
+%description module_saver_png
+PNG Image saver module for Evas
+%endif
+
+%if %{with module_loader_tiff}
+%package module_loader_tiff
+Summary: TIFF Image loader module for Evas
+Group: System Environment/Libraries
+BuildRequires: libtiff-devel
+%description module_loader_tiff
+TIFF Image loader module for Evas
+%endif
+
+%if %{with module_saver_tiff}
+%package module_saver_tiff
+Summary: TIFF Image saver module for Evas
+Group: System Environment/Libraries
+BuildRequires: libtiff-devel
+%description module_saver_tiff
+TIFF Image saver module for Evas
+%endif
+
+%if %{with module_loader_gif}
+%package module_loader_gif
+Summary: GIF Image loader module for Evas
+Group: System Environment/Libraries
+#BuildSuggests: libungif-devel, giflib-devel
+BuildRequires: /usr/include/gif_lib.h
+%description module_loader_gif
+GIF Image loader module for Evas
+%endif
+
+%if %{with module_loader_edb}
+%package module_loader_edb
+Summary: EDB Image loader module for Evas
+Group: System Environment/Libraries
+BuildRequires: edb-devel
+%description module_loader_edb
+EDB Image loader module for Evas
+%endif
+
+%if %{with module_saver_edb}
+%package module_saver_edb
+Summary: EDB Image saver module for Evas
+Group: System Environment/Libraries
+BuildRequires: edb-devel
+%description module_saver_edb
+EDB Image saver module for Evas
+%endif
+
+%if %{with module_loader_xpm}
+%package module_loader_xpm
+Summary: XPM Image loader module for Evas
+Group: System Environment/Libraries
+##BuildRequires: (none, X?)
+%description module_loader_xpm
+XPM Image loader module for Evas
+%endif
+
+%if %{with module_loader_svg}
+%package module_loader_svg
+Summary: SVG Image loader module for Evas
+Group: System Environment/Libraries
+BuildRequires: librsvg-devel >= 2.14
+%description module_loader_svg
+svg Image loader module for Evas
+%endif
+
+%if %{with module_loader_bmp}
+%package module_loader_bmp
+Summary: BMP Image loader module for Evas
+Group: System Environment/Libraries
+BuildRequires: libjpeg-devel
+%description module_loader_bmp
+BMP Image loader module for Evas
+%endif
+
+%if %{with module_loader_wbmp}
+%package module_loader_wbmp
+Summary: WBMP Image loader module for Evas
+Group: System Environment/Libraries
+BuildRequires: libjpeg-devel
+%description module_loader_wbmp
+WBMP Image loader module for Evas
+%endif
+
+%if %{with module_loader_tga}
+%package module_loader_tga
+Summary: TGA Image loader module for Evas
+Group: System Environment/Libraries
+BuildRequires: libjpeg-devel
+%description module_loader_tga
+TGA Image loader module for Evas
+%endif
+
+%package module_engine_software_generic
+Summary: Software X11 rendering engine module for Evas
+Group: System Environment/Libraries
+Requires: evas
+%description module_engine_software_generic
+Software X11 rendering engine module for Evas
+
+%if %{with module_engine_software_x11}
+%package module_engine_software_x11
+Summary: Software X11 rendering engine module for Evas
+Group: System Environment/Libraries
+BuildRequires: libX11-devel, libICE-devel, libXext-devel
+Requires: evas-module_engine_software_generic
+Requires: evas
+%description module_engine_software_x11
+Software X11 rendering engine module for Evas
+%endif
+
+%if %{with module_engine_buffer}
+%package module_engine_buffer
+Summary: Buffer rendering engine module for Evas
+Group: System Environment/Libraries
+Requires: evas-module_engine_software_generic
+Requires: evas
+%description module_engine_buffer
+Memory Buffer rendering engine module for Evas
+%endif
+
+%if %{with module_engine_fb}
+%package module_engine_fb
+Summary: Framebuffer rendering engine module for Evas
+Group: System Environment/Libraries
+Requires: evas-module_engine_software_generic
+Requires: evas
+%description module_engine_fb
+Framebuffer rendering engine module for Evas
+%endif
+
+%if %{with module_engine_xrender_x11}
+%package module_engine_xrender_x11
+Summary: XRender rendering engine module for Evas
+Group: System Environment/Libraries
+#BuildSuggests: xorg-x11-devel, XFree86-devel, xrender-devel
+BuildRequires: libXrender-devel
+Requires: evas-module_engine_software_generic
+Requires: evas
+%description module_engine_xrender_x11
+XRender rendering engine module for Evas
+%endif
+
+%if %{with module_engine_gl_x11}
+%package module_engine_gl_x11
+Summary: OpenGL under X11 rendering engine module for Evas
+Group: System Environment/Libraries
+#BuildSuggests: xorg-x11-devel, xorg-x11-Mesa-libGL, XFree86-devel
+Requires: evas
+%description module_engine_gl_x11
+OpenGL under X11 rendering engine module for Evas
+%endif
+
+%if %{with module_engine_quartz}
+%package module_engine_quartz
+Summary: Quartz rendering engine module for Evas
+Group: System Environment/Libraries
+#BuildSuggests: 
+Requires: evas
+%description module_engine_quartz
+Quartz rendering engine module for Evas
+%endif
+
+%if %{with module_engine_directfb}
+%package module_engine_directfb
+Summary: Directfb rendering engine module for Evas
+Group: System Environment/Libraries
+#BuildSuggests: DirectFB, libdirectfb-devel, directfb-devel
+BuildRequires: /usr/include/directfb/dfb_types.h
+Requires: evas
+%description module_engine_directfb
+Directfb rendering engine module for Evas
+%endif
+
+%if %{with module_engine_software_qtopia}
+%package module_engine_software_qtopia
+Summary: Qtopia rendering engine module for Evas
+Group: System Environment/Libraries
+BuildRequires: qtopia-devel
+Requires: evas-module_engine_software_generic
+Requires: evas
+%description module_engine_software_qtopia
+Qtopia rendering engine module for Evas
+%endif
+
+%if %{with module_engine_software_16_x11}
+%package module_engine_software_16_x11
+Summary: Software 16-bit X11 rendering engine module for Evas
+Group: System Environment/Libraries
+Requires: evas-module_engine_software_generic
+Requires: evas
+%description module_engine_software_16_x11
+Software 16-bit X11 rendering engine module for Evas
+%endif
+
+%if %{with module_engine_software_sdl}
+%package module_engine_software_sdl
+Summary: Software SDL X11 rendering engine module for Evas
+Group: System Environment/Libraries
+BuildRequires: SDL-devel
+Requires: evas-module_engine_software_generic
+Requires: evas
+%description module_engine_software_sdl
+Software SDL X11 rendering engine module for Evas
+%endif
+
+%if %{with module_engine_software_xcb}
+%package module_engine_software_xcb
+Summary: Software XCB X11 rendering engine module for Evas
+Group: System Environment/Libraries
+BuildRequires: xcb-devel
+Requires: evas-module_engine_software_generic
+Requires: evas
+%description module_engine_software_xcb
+Software XCB X11 rendering engine module for Evas
+%endif
+
+%if %{with module_engine_xrender_xcb}
+%package module_engine_xrender_xcb
+Summary: Xrender XCB X11 rendering engine module for Evas
+Group: System Environment/Libraries
+BuildRequires: libxcb-devel
+Requires: evas-module_engine_xrender_x11
+Requires: evas
+%description module_engine_xrender_xcb
+Xrender XCB X11 rendering engine module for Evas
+%endif
+
+%prep
+%setup -q
+
+%build
+%{configure} --prefix=%{_prefix} --x-libraries=%{_prefix}/X11R6/%{_lib} \
+    %{?ac_with_module_loader_eet} \
+    %{?ac_with_module_saver_eet} \
+    %{?ac_with_module_loader_jpeg} \
+    %{?ac_with_module_saver_jpeg} \
+    %{?ac_with_module_loader_pmaps} \
+    %{?ac_with_module_loader_png} \
+    %{?ac_with_module_saver_png} \
+    %{?ac_with_module_loader_tiff} \
+    %{?ac_with_module_saver_tiff} \
+    %{?ac_with_module_loader_gif} \
+    %{?ac_with_module_loader_edb} \
+    %{?ac_with_module_saver_edb} \
+    %{?ac_with_module_loader_xpm} \
+    %{?ac_with_module_loader_svg} \
+    %{?ac_with_module_engine_software_x11} \
+    %{?ac_with_module_engine_buffer} \
+    %{?ac_with_module_engine_fb} \
+    %{?ac_with_module_engine_xrender_x11} \
+    %{?ac_with_module_engine_gl_x11} \
+    %{?ac_with_module_engine_quartz} \
+    %{?ac_with_module_engine_directfb} \
+    %{?ac_with_module_engine_software_qtopia} \
+    %{?ac_with_module_engine_software_16_x11} \
+    %{?ac_with_module_engine_software_sdl} \
+    %{?ac_with_module_engine_software_xcb} \
+    %{?ac_with_module_engine_xrender_xcb} \
+    $RPM_CONFIGURE_OPTS
+%{__make} %{?_smp_mflags} %{?mflags}
+test -x `which doxygen` && /bin/sh gendoc || :
+
+%install
+%{__make} %{?mflags_install} DESTDIR=$RPM_BUILD_ROOT install
+%{__rm} -f $RPM_BUILD_ROOT%{_libdir}/%{name}/modules/*/*/*/*a
+
+%clean
+test "x$RPM_BUILD_ROOT" != "x/" && rm -rf $RPM_BUILD_ROOT
+
+%post
+/sbin/ldconfig
+
+%postun
+/sbin/ldconfig
+
+%files
+%defattr(-, root, root)
+%doc AUTHORS COPYING COPYING-PLAIN README
+%{_bindir}/%{name}*
+%{_libdir}/*.so.*
+
+%files devel
+%defattr(-, root, root)
+%{_libdir}/*.so
+%{_libdir}/*.la
+%{_libdir}/*.a
+%{_libdir}/pkgconfig/*
+%{_includedir}/evas-1/*.h
+%{_datadir}/evas/examples/*.c
+%files module_engine_software_generic
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/software_generic/*/module.so
+
+%if %{with module_loader_eet}
+%files module_loader_eet
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/eet/*/module.so
+%endif
+
+%if %{with module_saver_eet}
+%files module_saver_eet
+%defattr(-, root, root)
+%{_libdir}/evas/modules/savers/eet/*/module.so
+%endif
+
+%if %{with module_loader_pmaps}
+%files module_loader_pmaps
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/pmaps/*/module.so
+%endif
+
+%if %{with module_loader_png}
+%files module_loader_png
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/png/*/module.so
+%endif
+
+%if %{with module_saver_png}
+%files module_saver_png
+%defattr(-, root, root)
+%{_libdir}/evas/modules/savers/png/*/module.so
+%endif
+
+%if %{with module_loader_jpeg}
+%files module_loader_jpeg
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/jpeg/*/module.so
+%endif
+
+%if %{with module_saver_jpeg}
+%files module_saver_jpeg
+%defattr(-, root, root)
+%{_libdir}/evas/modules/savers/jpeg/*/module.so
+%endif
+
+%if %{with module_loader_tiff}
+%files module_loader_tiff
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/tiff/*/module.so
+%endif
+
+%if %{with module_saver_tiff}
+%files module_saver_tiff
+%defattr(-, root, root)
+%{_libdir}/evas/modules/savers/tiff/*/module.so
+%endif
+
+%if %{with module_loader_gif}
+%files module_loader_gif
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/gif/*/module.so
+%endif
+
+%if %{with module_loader_edb}
+%files module_loader_edb
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/edb/*/module.so
+%endif
+
+%if %{with module_saver_edb}
+%files module_saver_edb
+%defattr(-, root, root)
+%{_libdir}/evas/modules/savers/edb/*/module.so
+%endif
+
+%if %{with module_loader_xpm}
+%files module_loader_xpm
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/xpm/*/module.so
+%endif
+
+%if %{with module_loader_svg}
+%files module_loader_svg
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/svg/*/module.so
+%endif
+
+%if %{with module_loader_bmp}
+%files module_loader_bmp
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/bmp/*/module.so
+%endif
+
+%if %{with module_loader_wbmp}
+%files module_loader_wbmp
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/wbmp/*/module.so
+%endif
+
+%if %{with module_loader_tga}
+%files module_loader_tga
+%defattr(-, root, root)
+%{_libdir}/evas/modules/loaders/tga/*/module.so
+%endif
+
+%if %{with module_engine_software_x11}
+%files module_engine_software_x11
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/software_x11/*/module.so
+%endif
+
+%if %{with module_engine_buffer}
+%files module_engine_buffer
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/buffer/*/module.so
+%endif
+
+%if %{with module_engine_fb}
+%files module_engine_fb
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/fb/*/module.so
+%endif
+
+%if %{with module_engine_xrender_x11}
+%files module_engine_xrender_x11
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/xrender_x11/*/module.so
+%endif
+
+%if %{with module_engine_gl_x11}
+%files module_engine_gl_x11
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/gl_x11/*/module.so
+%endif
+
+%if %{with module_engine_quartz}
+%files module_engine_quartz
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/quartz/*/module.so
+%endif
+
+%if %{with module_engine_directfb}
+%files module_engine_directfb
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/directfb/*/module.so
+%endif
+
+%if %{with module_engine_software_qtopia}
+%files module_engine_software_qtopia
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/software_qtopia/*/module.so
+%endif
+
+%if %{with module_engine_software_16_x11}
+%files module_engine_software_16_x11
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/software_16/*/module.so
+%{_libdir}/evas/modules/engines/software_16_x11/*/module.so
+%endif
+
+%if %{with module_engine_software_sdl}
+%files module_engine_software_sdl
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/software_sdl/*/module.so
+%endif
+
+%if %{with module_engine_software_xcb}
+%files module_engine_software_xcb
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/software_xcb/*/module.so
+%endif
+
+%if %{with module_engine_xrender_xcb}
+%files module_engine_xrender_xcb
+%defattr(-, root, root)
+%{_libdir}/evas/modules/engines/xrender_xcb/*/module.so
+%endif
+
+%changelog
diff --git a/install-sh b/install-sh
new file mode 100755 (executable)
index 0000000..6781b98
--- /dev/null
@@ -0,0 +1,520 @@
+#!/bin/sh
+# install - install a program, script, or datafile
+
+scriptversion=2009-04-28.21; # UTC
+
+# This originates from X11R5 (mit/util/scripts/install.sh), which was
+# later released in X11R6 (xc/config/util/install.sh) with the
+# following copyright and license.
+#
+# Copyright (C) 1994 X Consortium
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy
+# of this software and associated documentation files (the "Software"), to
+# deal in the Software without restriction, including without limitation the
+# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+# sell copies of the Software, and to permit persons to whom the Software is
+# furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice shall be included in
+# all copies or substantial portions of the Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
+# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# Except as contained in this notice, the name of the X Consortium shall not
+# be used in advertising or otherwise to promote the sale, use or other deal-
+# ings in this Software without prior written authorization from the X Consor-
+# tium.
+#
+#
+# FSF changes to this file are in the public domain.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch.
+
+nl='
+'
+IFS=" ""       $nl"
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit=${DOITPROG-}
+if test -z "$doit"; then
+  doit_exec=exec
+else
+  doit_exec=$doit
+fi
+
+# Put in absolute file names if you don't have them in your path;
+# or use environment vars.
+
+chgrpprog=${CHGRPPROG-chgrp}
+chmodprog=${CHMODPROG-chmod}
+chownprog=${CHOWNPROG-chown}
+cmpprog=${CMPPROG-cmp}
+cpprog=${CPPROG-cp}
+mkdirprog=${MKDIRPROG-mkdir}
+mvprog=${MVPROG-mv}
+rmprog=${RMPROG-rm}
+stripprog=${STRIPPROG-strip}
+
+posix_glob='?'
+initialize_posix_glob='
+  test "$posix_glob" != "?" || {
+    if (set -f) 2>/dev/null; then
+      posix_glob=
+    else
+      posix_glob=:
+    fi
+  }
+'
+
+posix_mkdir=
+
+# Desired mode of installed file.
+mode=0755
+
+chgrpcmd=
+chmodcmd=$chmodprog
+chowncmd=
+mvcmd=$mvprog
+rmcmd="$rmprog -f"
+stripcmd=
+
+src=
+dst=
+dir_arg=
+dst_arg=
+
+copy_on_change=false
+no_target_directory=
+
+usage="\
+Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
+   or: $0 [OPTION]... SRCFILES... DIRECTORY
+   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
+   or: $0 [OPTION]... -d DIRECTORIES...
+
+In the 1st form, copy SRCFILE to DSTFILE.
+In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
+In the 4th, create DIRECTORIES.
+
+Options:
+     --help     display this help and exit.
+     --version  display version info and exit.
+
+  -c            (ignored)
+  -C            install only if different (preserve the last data modification time)
+  -d            create directories instead of installing files.
+  -g GROUP      $chgrpprog installed files to GROUP.
+  -m MODE       $chmodprog installed files to MODE.
+  -o USER       $chownprog installed files to USER.
+  -s            $stripprog installed files.
+  -t DIRECTORY  install into DIRECTORY.
+  -T            report an error if DSTFILE is a directory.
+
+Environment variables override the default commands:
+  CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
+  RMPROG STRIPPROG
+"
+
+while test $# -ne 0; do
+  case $1 in
+    -c) ;;
+
+    -C) copy_on_change=true;;
+
+    -d) dir_arg=true;;
+
+    -g) chgrpcmd="$chgrpprog $2"
+       shift;;
+
+    --help) echo "$usage"; exit $?;;
+
+    -m) mode=$2
+       case $mode in
+         *' '* | *'    '* | *'
+'*       | *'*'* | *'?'* | *'['*)
+           echo "$0: invalid mode: $mode" >&2
+           exit 1;;
+       esac
+       shift;;
+
+    -o) chowncmd="$chownprog $2"
+       shift;;
+
+    -s) stripcmd=$stripprog;;
+
+    -t) dst_arg=$2
+       shift;;
+
+    -T) no_target_directory=true;;
+
+    --version) echo "$0 $scriptversion"; exit $?;;
+
+    --)        shift
+       break;;
+
+    -*)        echo "$0: invalid option: $1" >&2
+       exit 1;;
+
+    *)  break;;
+  esac
+  shift
+done
+
+if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
+  # When -d is used, all remaining arguments are directories to create.
+  # When -t is used, the destination is already specified.
+  # Otherwise, the last argument is the destination.  Remove it from $@.
+  for arg
+  do
+    if test -n "$dst_arg"; then
+      # $@ is not empty: it contains at least $arg.
+      set fnord "$@" "$dst_arg"
+      shift # fnord
+    fi
+    shift # arg
+    dst_arg=$arg
+  done
+fi
+
+if test $# -eq 0; then
+  if test -z "$dir_arg"; then
+    echo "$0: no input file specified." >&2
+    exit 1
+  fi
+  # It's OK to call `install-sh -d' without argument.
+  # This can happen when creating conditional directories.
+  exit 0
+fi
+
+if test -z "$dir_arg"; then
+  trap '(exit $?); exit' 1 2 13 15
+
+  # Set umask so as not to create temps with too-generous modes.
+  # However, 'strip' requires both read and write access to temps.
+  case $mode in
+    # Optimize common cases.
+    *644) cp_umask=133;;
+    *755) cp_umask=22;;
+
+    *[0-7])
+      if test -z "$stripcmd"; then
+       u_plus_rw=
+      else
+       u_plus_rw='% 200'
+      fi
+      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
+    *)
+      if test -z "$stripcmd"; then
+       u_plus_rw=
+      else
+       u_plus_rw=,u+rw
+      fi
+      cp_umask=$mode$u_plus_rw;;
+  esac
+fi
+
+for src
+do
+  # Protect names starting with `-'.
+  case $src in
+    -*) src=./$src;;
+  esac
+
+  if test -n "$dir_arg"; then
+    dst=$src
+    dstdir=$dst
+    test -d "$dstdir"
+    dstdir_status=$?
+  else
+
+    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
+    # might cause directories to be created, which would be especially bad
+    # if $src (and thus $dsttmp) contains '*'.
+    if test ! -f "$src" && test ! -d "$src"; then
+      echo "$0: $src does not exist." >&2
+      exit 1
+    fi
+
+    if test -z "$dst_arg"; then
+      echo "$0: no destination specified." >&2
+      exit 1
+    fi
+
+    dst=$dst_arg
+    # Protect names starting with `-'.
+    case $dst in
+      -*) dst=./$dst;;
+    esac
+
+    # If destination is a directory, append the input filename; won't work
+    # if double slashes aren't ignored.
+    if test -d "$dst"; then
+      if test -n "$no_target_directory"; then
+       echo "$0: $dst_arg: Is a directory" >&2
+       exit 1
+      fi
+      dstdir=$dst
+      dst=$dstdir/`basename "$src"`
+      dstdir_status=0
+    else
+      # Prefer dirname, but fall back on a substitute if dirname fails.
+      dstdir=`
+       (dirname "$dst") 2>/dev/null ||
+       expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+            X"$dst" : 'X\(//\)[^/]' \| \
+            X"$dst" : 'X\(//\)$' \| \
+            X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
+       echo X"$dst" |
+           sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\/\)[^/].*/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\/\)$/{
+                  s//\1/
+                  q
+                }
+                /^X\(\/\).*/{
+                  s//\1/
+                  q
+                }
+                s/.*/./; q'
+      `
+
+      test -d "$dstdir"
+      dstdir_status=$?
+    fi
+  fi
+
+  obsolete_mkdir_used=false
+
+  if test $dstdir_status != 0; then
+    case $posix_mkdir in
+      '')
+       # Create intermediate dirs using mode 755 as modified by the umask.
+       # This is like FreeBSD 'install' as of 1997-10-28.
+       umask=`umask`
+       case $stripcmd.$umask in
+         # Optimize common cases.
+         *[2367][2367]) mkdir_umask=$umask;;
+         .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
+
+         *[0-7])
+           mkdir_umask=`expr $umask + 22 \
+             - $umask % 100 % 40 + $umask % 20 \
+             - $umask % 10 % 4 + $umask % 2
+           `;;
+         *) mkdir_umask=$umask,go-w;;
+       esac
+
+       # With -d, create the new directory with the user-specified mode.
+       # Otherwise, rely on $mkdir_umask.
+       if test -n "$dir_arg"; then
+         mkdir_mode=-m$mode
+       else
+         mkdir_mode=
+       fi
+
+       posix_mkdir=false
+       case $umask in
+         *[123567][0-7][0-7])
+           # POSIX mkdir -p sets u+wx bits regardless of umask, which
+           # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
+           ;;
+         *)
+           tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
+           trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
+
+           if (umask $mkdir_umask &&
+               exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
+           then
+             if test -z "$dir_arg" || {
+                  # Check for POSIX incompatibilities with -m.
+                  # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
+                  # other-writeable bit of parent directory when it shouldn't.
+                  # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
+                  ls_ld_tmpdir=`ls -ld "$tmpdir"`
+                  case $ls_ld_tmpdir in
+                    d????-?r-*) different_mode=700;;
+                    d????-?--*) different_mode=755;;
+                    *) false;;
+                  esac &&
+                  $mkdirprog -m$different_mode -p -- "$tmpdir" && {
+                    ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
+                    test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
+                  }
+                }
+             then posix_mkdir=:
+             fi
+             rmdir "$tmpdir/d" "$tmpdir"
+           else
+             # Remove any dirs left behind by ancient mkdir implementations.
+             rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
+           fi
+           trap '' 0;;
+       esac;;
+    esac
+
+    if
+      $posix_mkdir && (
+       umask $mkdir_umask &&
+       $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
+      )
+    then :
+    else
+
+      # The umask is ridiculous, or mkdir does not conform to POSIX,
+      # or it failed possibly due to a race condition.  Create the
+      # directory the slow way, step by step, checking for races as we go.
+
+      case $dstdir in
+       /*) prefix='/';;
+       -*) prefix='./';;
+       *)  prefix='';;
+      esac
+
+      eval "$initialize_posix_glob"
+
+      oIFS=$IFS
+      IFS=/
+      $posix_glob set -f
+      set fnord $dstdir
+      shift
+      $posix_glob set +f
+      IFS=$oIFS
+
+      prefixes=
+
+      for d
+      do
+       test -z "$d" && continue
+
+       prefix=$prefix$d
+       if test -d "$prefix"; then
+         prefixes=
+       else
+         if $posix_mkdir; then
+           (umask=$mkdir_umask &&
+            $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
+           # Don't fail if two instances are running concurrently.
+           test -d "$prefix" || exit 1
+         else
+           case $prefix in
+             *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
+             *) qprefix=$prefix;;
+           esac
+           prefixes="$prefixes '$qprefix'"
+         fi
+       fi
+       prefix=$prefix/
+      done
+
+      if test -n "$prefixes"; then
+       # Don't fail if two instances are running concurrently.
+       (umask $mkdir_umask &&
+        eval "\$doit_exec \$mkdirprog $prefixes") ||
+         test -d "$dstdir" || exit 1
+       obsolete_mkdir_used=true
+      fi
+    fi
+  fi
+
+  if test -n "$dir_arg"; then
+    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
+    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
+      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
+  else
+
+    # Make a couple of temp file names in the proper directory.
+    dsttmp=$dstdir/_inst.$$_
+    rmtmp=$dstdir/_rm.$$_
+
+    # Trap to clean up those temp files at exit.
+    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
+
+    # Copy the file name to the temp name.
+    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
+
+    # and set any options; do chmod last to preserve setuid bits.
+    #
+    # If any of these fail, we abort the whole thing.  If we want to
+    # ignore errors from any of these, just make sure not to ignore
+    # errors from the above "$doit $cpprog $src $dsttmp" command.
+    #
+    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
+    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
+    { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
+    { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
+
+    # If -C, don't bother to copy if it wouldn't change the file.
+    if $copy_on_change &&
+       old=`LC_ALL=C ls -dlL "$dst"    2>/dev/null` &&
+       new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
+
+       eval "$initialize_posix_glob" &&
+       $posix_glob set -f &&
+       set X $old && old=:$2:$4:$5:$6 &&
+       set X $new && new=:$2:$4:$5:$6 &&
+       $posix_glob set +f &&
+
+       test "$old" = "$new" &&
+       $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
+    then
+      rm -f "$dsttmp"
+    else
+      # Rename the file to the real destination.
+      $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
+
+      # The rename failed, perhaps because mv can't rename something else
+      # to itself, or perhaps because mv is so ancient that it does not
+      # support -f.
+      {
+       # Now remove or move aside any old file at destination location.
+       # We try this two ways since rm can't unlink itself on some
+       # systems and the destination file might be busy for other
+       # reasons.  In this case, the final cleanup might fail but the new
+       # file should still install successfully.
+       {
+         test ! -f "$dst" ||
+         $doit $rmcmd -f "$dst" 2>/dev/null ||
+         { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
+           { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+         } ||
+         { echo "$0: cannot unlink or rename $dst" >&2
+           (exit 1); exit 1
+         }
+       } &&
+
+       # Now rename the file to the real destination.
+       $doit $mvcmd "$dsttmp" "$dst"
+      }
+    fi || exit 1
+
+    trap '' 0
+  fi
+done
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/libtool b/libtool
new file mode 100755 (executable)
index 0000000..aa9f645
--- /dev/null
+++ b/libtool
@@ -0,0 +1,9069 @@
+#! /bin/sh
+
+# libtool - Provide generalized library-building support services.
+# Generated automatically by config.status (evas) 1.0.999.0
+# Libtool was configured on host jaehwan-desktop:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+
+# The names of the tagged configurations supported by this script.
+available_tags="CXX "
+
+# ### BEGIN LIBTOOL CONFIG
+
+# Assembler program.
+AS=as
+
+# DLL creation program.
+DLLTOOL=dlltool
+
+# Object dumper program.
+OBJDUMP=objdump
+
+# Which release of libtool.m4 was used?
+macro_version=2.2.6b
+macro_revision=1.3017
+
+# Whether or not to build shared libraries.
+build_libtool_libs=yes
+
+# Whether or not to build static libraries.
+build_old_libs=yes
+
+# What type of objects to build.
+pic_mode=default
+
+# Whether or not to optimize for fast installation.
+fast_install=yes
+
+# The host system.
+host_alias=
+host=arm-unknown-linux-gnueabi
+host_os=linux-gnueabi
+
+# The build system.
+build_alias=arm-linux-gnueabi
+build=arm-unknown-linux-gnueabi
+build_os=linux-gnueabi
+
+# A sed program that does not truncate output.
+SED="/bin/sed"
+
+# Sed that helps us avoid accidentally triggering echo(1) options like -n.
+Xsed="$SED -e 1s/^X//"
+
+# A grep program that handles long lines.
+GREP="/bin/grep"
+
+# An ERE matcher.
+EGREP="/bin/grep -E"
+
+# A literal string matcher.
+FGREP="/bin/grep -F"
+
+# A BSD- or MS-compatible name lister.
+NM="/usr/bin/nm -B"
+
+# Whether we need soft or hard links.
+LN_S="ln -s"
+
+# What is the maximum length of a command?
+max_cmd_len=1572864
+
+# Object file suffix (normally "o").
+objext=o
+
+# Executable file suffix (normally "").
+exeext=
+
+# whether the shell understands "unset".
+lt_unset=unset
+
+# turn spaces into newlines.
+SP2NL="tr \\040 \\012"
+
+# turn newlines into spaces.
+NL2SP="tr \\015\\012 \\040\\040"
+
+# How to create reloadable object files.
+reload_flag=" -r"
+reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs"
+
+# Method to check whether dependent libraries are shared objects.
+deplibs_check_method="pass_all"
+
+# Command to use when deplibs_check_method == "file_magic".
+file_magic_cmd="\$MAGIC_CMD"
+
+# The archiver.
+AR="ar"
+AR_FLAGS="cru"
+
+# A symbol stripping program.
+STRIP="strip"
+
+# Commands used to install an old-style archive.
+RANLIB="ranlib"
+old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib"
+old_postuninstall_cmds=""
+
+# A C compiler.
+LTCC="gcc"
+
+# LTCC compiler flags.
+LTCFLAGS="-g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC"
+
+# Take the output of nm and produce a listing of raw symbols and C names.
+global_symbol_pipe="sed -n -e 's/^.*[   ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[       ][      ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'"
+
+# Transform the output of nm in a proper C declaration.
+global_symbol_to_cdecl="sed -n -e 's/^T .* \\(.*\\)\$/extern int \\1();/p' -e 's/^[ABCDGIRSTW]* .* \\(.*\\)\$/extern char \\1;/p'"
+
+# Transform the output of nm in a C name address pair.
+global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/  {\"\\2\", (void *) \\&\\2},/p'"
+
+# Transform the output of nm in a C name address pair when lib prefix is needed.
+global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \\([^ ]*\\) \$/  {\\\"\\1\\\", (void *) 0},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\(lib[^ ]*\\)\$/  {\"\\2\", (void *) \\&\\2},/p' -e 's/^[ABCDGIRSTW]* \\([^ ]*\\) \\([^ ]*\\)\$/  {\"lib\\2\", (void *) \\&\\2},/p'"
+
+# The name of the directory that contains temporary libtool files.
+objdir=.libs
+
+# Shell to use when invoking shell scripts.
+SHELL="/bin/sh"
+
+# An echo program that does not interpret backslashes.
+ECHO="echo"
+
+# Used to examine libraries when file_magic_cmd begins with "file".
+MAGIC_CMD=file
+
+# Must we lock files when doing compilation?
+need_locks="no"
+
+# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
+DSYMUTIL=""
+
+# Tool to change global to local symbols on Mac OS X.
+NMEDIT=""
+
+# Tool to manipulate fat objects and archives on Mac OS X.
+LIPO=""
+
+# ldd/readelf like tool for Mach-O binaries on Mac OS X.
+OTOOL=""
+
+# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
+OTOOL64=""
+
+# Old archive suffix (normally "a").
+libext=a
+
+# Shared library suffix (normally ".so").
+shrext_cmds=".so"
+
+# The commands to extract the exported symbol list from a shared archive.
+extract_expsyms_cmds=""
+
+# Variables whose values should be saved in libtool wrapper scripts and
+# restored at link time.
+variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+
+# Do we need the "lib" prefix for modules?
+need_lib_prefix=no
+
+# Do we need a version for libraries?
+need_version=no
+
+# Library versioning type.
+version_type=linux
+
+# Shared library runtime path variable.
+runpath_var=LD_RUN_PATH
+
+# Shared library path variable.
+shlibpath_var=LD_LIBRARY_PATH
+
+# Is shlibpath searched before the hard-coded library search path?
+shlibpath_overrides_runpath=no
+
+# Format of library name prefix.
+libname_spec="lib\$name"
+
+# List of archive names.  First name is the real one, the rest are links.
+# The last name is the one that the linker finds with -lNAME
+library_names_spec="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}"
+
+# The coded name of the library, if different from the real name.
+soname_spec="\${libname}\${release}\${shared_ext}\$major"
+
+# Command to use after installation of a shared archive.
+postinstall_cmds=""
+
+# Command to use after uninstallation of a shared archive.
+postuninstall_cmds=""
+
+# Commands used to finish a libtool library installation in a directory.
+finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir"
+
+# As "finish_cmds", except a single script fragment to be evaled but
+# not shown.
+finish_eval=""
+
+# Whether we should hardcode library paths into libraries.
+hardcode_into_libs=yes
+
+# Compile-time system search path for libraries.
+sys_lib_search_path_spec="/usr/lib/gcc/arm-linux-gnueabi/4.5.2 /usr/arm-linux-gnueabi/lib"
+
+# Run-time system search path for libraries.
+sys_lib_dlsearch_path_spec="/lib /usr/lib /lib/i486-linux-gnu /usr/lib/i486-linux-gnu /usr/local/lib "
+
+# Whether dlopen is supported.
+dlopen_support=unknown
+
+# Whether dlopen of programs is supported.
+dlopen_self=unknown
+
+# Whether dlopen of statically linked programs is supported.
+dlopen_self_static=unknown
+
+# Commands to strip libraries.
+old_striplib="strip --strip-debug"
+striplib="strip --strip-unneeded"
+
+
+# The linker used to build libraries.
+LD="/usr/arm-linux-gnueabi/bin/ld"
+
+# Commands used to build an old-style archive.
+old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib"
+
+# A language specific compiler.
+CC="gcc"
+
+# Is the compiler the GNU compiler?
+with_gcc=yes
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=" -fno-builtin"
+
+# How to pass a linker flag through the compiler.
+wl="-Wl,"
+
+# Additional compiler flags for building library objects.
+pic_flag=" -fPIC -DPIC"
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag="-static"
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o="yes"
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=no
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=no
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec="\${wl}--export-dynamic"
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object="no"
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=""
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=""
+
+# Commands used to build a shared archive.
+archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
+archive_expsym_cmds="echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~
+           cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~
+           echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~
+           \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib"
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=""
+module_expsym_cmds=""
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld="yes"
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=""
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=""
+
+# Flag to hardcode $libdir into a binary during linking.
+# This must work even if $libdir does not exist
+hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir"
+
+# If ld is used when linking, flag to hardcode $libdir into a binary
+# during linking.  This must work even if $libdir does not exist.
+hardcode_libdir_flag_spec_ld=""
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=""
+
+# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=no
+
+# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting ${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=no
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=no
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=unsupported
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=no
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=no
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=no
+
+# Fix the shell variable $srcfile for the compiler.
+fix_srcfile_path=""
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=no
+
+# The commands to list exported symbols.
+export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*"
+
+# Symbols that must always be exported.
+include_expsyms=""
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=""
+
+# Specify filename containing input files.
+file_list_spec=""
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=immediate
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs=""
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects=""
+postdep_objects=""
+predeps=""
+postdeps=""
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path=""
+
+# ### END LIBTOOL CONFIG
+
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.6b
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+#     --config             show all configuration variables
+#     --debug              enable verbose shell tracing
+# -n, --dry-run            display commands without modifying any files
+#     --features           display basic configuration information and exit
+#     --mode=MODE          use operation mode MODE
+#     --preserve-dup-deps  don't remove duplicate dependency libraries
+#     --quiet, --silent    don't print informational messages
+#     --tag=TAG            use configuration variables from tag TAG
+# -v, --verbose            print informational messages (default)
+#     --version            print version information
+# -h, --help               print short or long help message
+#
+# MODE must be one of the following:
+#
+#       clean              remove files from the build directory
+#       compile            compile a source file into a libtool object
+#       execute            automatically set library path, then run a program
+#       finish             complete the installation of libtool libraries
+#       install            install libraries or executables
+#       link               create a library or an executable
+#       uninstall          remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+#       host-triplet:  $host
+#       shell:         $SHELL
+#       compiler:              $LTCC
+#       compiler flags:                $LTCFLAGS
+#       linker:                $LD (gnu? $with_gnu_ld)
+#       $progname:             (GNU libtool) 2.2.6b Debian-2.2.6b-2
+#       automake:              $automake_version
+#       autoconf:              $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="2.2.6b Debian-2.2.6b-2"
+TIMESTAMP=""
+package_revision=1.3017
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# NLS nuisances: We save the old values to restore during execute mode.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+  eval "if test \"\${$lt_var+set}\" = set; then
+          save_$lt_var=\$$lt_var
+          $lt_var=C
+         export $lt_var
+         lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+         lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+       fi"
+done
+
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77     # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS="  $lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+# Generated shell functions inserted here.
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $* ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$1+=\$2"
+}
+# Generated shell functions inserted here.
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+  -*) progname=./$progname ;;
+esac
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+  [\\/]*|[A-Za-z]:\\*) ;;
+  *[\\/]*)
+     progdir=$func_dirname_result
+     progdir=`cd "$progdir" && pwd`
+     progpath="$progdir/$progname"
+     ;;
+  *)
+     save_IFS="$IFS"
+     IFS=:
+     for progdir in $PATH; do
+       IFS="$save_IFS"
+       test -x "$progdir/$progname" && break
+     done
+     IFS="$save_IFS"
+     test -n "$progdir" || progdir=`pwd`
+     progpath="$progdir/$progname"
+     ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+  s/$bs4/&\\
+/g
+  s/^$bs2$dollar/$bs&/
+  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+  s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+    $ECHO "$progname${mode+: }$mode: $*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $opt_verbose && func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+    # bash bug again:
+    :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+    func_error ${1+"$@"}
+    func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information."  ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+    $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+    my_directory_path="$1"
+    my_dir_list=
+
+    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+      # Protect directory names starting with `-'
+      case $my_directory_path in
+        -*) my_directory_path="./$my_directory_path" ;;
+      esac
+
+      # While some portion of DIR does not yet exist...
+      while test ! -d "$my_directory_path"; do
+        # ...make a list in topmost first order.  Use a colon delimited
+       # list incase some portion of path contains whitespace.
+        my_dir_list="$my_directory_path:$my_dir_list"
+
+        # If the last portion added has no slash in it, the list is done
+        case $my_directory_path in */*) ;; *) break ;; esac
+
+        # ...otherwise throw away the child directory and loop
+        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+      done
+      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+
+      save_mkdir_p_IFS="$IFS"; IFS=':'
+      for my_dir in $my_dir_list; do
+       IFS="$save_mkdir_p_IFS"
+        # mkdir can fail with a `File exist' error if two processes
+        # try to create one of the directories concurrently.  Don't
+        # stop in that case!
+        $MKDIR "$my_dir" 2>/dev/null || :
+      done
+      IFS="$save_mkdir_p_IFS"
+
+      # Bail out if we (or some other process) failed to create a directory.
+      test -d "$my_directory_path" || \
+        func_fatal_error "Failed to create \`$1'"
+    fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$opt_dry_run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+        # Failing that, at least try and use $RANDOM to avoid a race
+        my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+        save_mktempdir_umask=`umask`
+        umask 0077
+        $MKDIR "$my_tmpdir"
+        umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || \
+        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+    fi
+
+    $ECHO "X$my_tmpdir" | $Xsed
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+    case $1 in
+      *[\\\`\"\$]*)
+       func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+      *)
+        func_quote_for_eval_unquoted_result="$1" ;;
+    esac
+
+    case $func_quote_for_eval_unquoted_result in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting, command substitution and and variable
+      # expansion for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+        ;;
+      *)
+        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+    esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+    case $1 in
+      *[\\\`\"]*)
+       my_arg=`$ECHO "X$1" | $Xsed \
+           -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+      *)
+        my_arg="$1" ;;
+    esac
+
+    case $my_arg in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting and command substitution for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+        my_arg="\"$my_arg\""
+        ;;
+    esac
+
+    func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$my_cmd"
+      my_status=$?
+      if test "$my_status" -eq 0; then :; else
+       eval "(exit $my_status); $my_fail_exp"
+      fi
+    fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$lt_user_locale
+           $my_cmd"
+      my_status=$?
+      eval "$lt_safe_locale"
+      if test "$my_status" -eq 0; then :; else
+       eval "(exit $my_status); $my_fail_exp"
+      fi
+    fi
+}
+
+
+
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+        s/^# //
+       s/^# *$//
+        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+        p
+     }' < "$progpath"
+     exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+    $SED -n '/^# Usage:/,/# -h/ {
+        s/^# //
+       s/^# *$//
+       s/\$progname/'$progname'/
+       p
+    }' < "$progpath"
+    $ECHO
+    $ECHO "run \`$progname --help | more' for full usage"
+    exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+    $SED -n '/^# Usage:/,/# Report bugs to/ {
+        s/^# //
+       s/^# *$//
+       s*\$progname*'$progname'*
+       s*\$host*'"$host"'*
+       s*\$SHELL*'"$SHELL"'*
+       s*\$LTCC*'"$LTCC"'*
+       s*\$LTCFLAGS*'"$LTCFLAGS"'*
+       s*\$LD*'"$LD"'*
+       s/\$with_gnu_ld/'"$with_gnu_ld"'/
+       s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+       s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+       p
+     }' < "$progpath"
+    exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+    func_error "missing argument for $1"
+    exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell, and then maybe $ECHO will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+    func_error ${1+"$@"}
+    func_error "See the $PACKAGE documentation for more information."
+    func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+    re_begincf='^# ### BEGIN LIBTOOL'
+    re_endcf='^# ### END LIBTOOL'
+
+    # Default configuration.
+    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+    done
+
+    exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+    $ECHO "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      $ECHO "enable shared libraries"
+    else
+      $ECHO "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      $ECHO "enable static libraries"
+    else
+      $ECHO "disable static libraries"
+    fi
+
+    exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+  # Global variable:
+  tagname="$1"
+
+  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+  sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+  # Validate tagname.
+  case $tagname in
+    *[!-_A-Za-z0-9,/]*)
+      func_fatal_error "invalid tag name: $tagname"
+      ;;
+  esac
+
+  # Don't test for the "default" C tag, as we know it's
+  # there but not specially marked.
+  case $tagname in
+    CC) ;;
+    *)
+      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+       taglist="$taglist $tagname"
+
+       # Evaluate the configuration.  Be careful to quote the path
+       # and the sed script, to avoid splitting on whitespace, but
+       # also don't use non-portable quotes within backquotes within
+       # quotes we have to do it in 2 steps:
+       extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+       eval "$extractedcf"
+      else
+       func_error "ignoring unknown tag $tagname"
+      fi
+      ;;
+  esac
+}
+
+# Parse options once, thoroughly.  This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
+
+  # Shorthand for --mode=foo, only valid as the first argument
+  case $1 in
+  clean|clea|cle|cl)
+    shift; set dummy --mode clean ${1+"$@"}; shift
+    ;;
+  compile|compil|compi|comp|com|co|c)
+    shift; set dummy --mode compile ${1+"$@"}; shift
+    ;;
+  execute|execut|execu|exec|exe|ex|e)
+    shift; set dummy --mode execute ${1+"$@"}; shift
+    ;;
+  finish|finis|fini|fin|fi|f)
+    shift; set dummy --mode finish ${1+"$@"}; shift
+    ;;
+  install|instal|insta|inst|ins|in|i)
+    shift; set dummy --mode install ${1+"$@"}; shift
+    ;;
+  link|lin|li|l)
+    shift; set dummy --mode link ${1+"$@"}; shift
+    ;;
+  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+    shift; set dummy --mode uninstall ${1+"$@"}; shift
+    ;;
+  esac
+
+  # Parse non-mode specific arguments:
+  while test "$#" -gt 0; do
+    opt="$1"
+    shift
+
+    case $opt in
+      --config)                func_config                                     ;;
+
+      --debug)         preserve_args="$preserve_args $opt"
+                       func_echo "enabling shell trace mode"
+                       opt_debug='set -x'
+                       $opt_debug
+                       ;;
+
+      -dlopen)         test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       execute_dlfiles="$execute_dlfiles $1"
+                       shift
+                       ;;
+
+      --dry-run | -n)  opt_dry_run=:                                   ;;
+      --features)       func_features                                  ;;
+      --finish)                mode="finish"                                   ;;
+
+      --mode)          test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       case $1 in
+                         # Valid mode arguments:
+                         clean)        ;;
+                         compile)      ;;
+                         execute)      ;;
+                         finish)       ;;
+                         install)      ;;
+                         link)         ;;
+                         relink)       ;;
+                         uninstall)    ;;
+
+                         # Catch anything else as an error
+                         *) func_error "invalid argument for $opt"
+                            exit_cmd=exit
+                            break
+                            ;;
+                       esac
+
+                       mode="$1"
+                       shift
+                       ;;
+
+      --preserve-dup-deps)
+                       opt_duplicate_deps=:                            ;;
+
+      --quiet|--silent)        preserve_args="$preserve_args $opt"
+                       opt_silent=:
+                       ;;
+
+      --verbose| -v)   preserve_args="$preserve_args $opt"
+                       opt_silent=false
+                       ;;
+
+      --tag)           test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       preserve_args="$preserve_args $opt $1"
+                       func_enable_tag "$1"    # tagname is set here
+                       shift
+                       ;;
+
+      # Separate optargs to long options:
+      -dlopen=*|--mode=*|--tag=*)
+                       func_opt_split "$opt"
+                       set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+                       shift
+                       ;;
+
+      -\?|-h)          func_usage                                      ;;
+      --help)          opt_help=:                                      ;;
+      --version)       func_version                                    ;;
+
+      -*)              func_fatal_help "unrecognized option \`$opt'"   ;;
+
+      *)               nonopt="$opt"
+                       break
+                       ;;
+    esac
+  done
+
+
+  case $host in
+    *cygwin* | *mingw* | *pw32* | *cegcc*)
+      # don't eliminate duplications in $postdeps and $predeps
+      opt_duplicate_compiler_generated_deps=:
+      ;;
+    *)
+      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+      ;;
+  esac
+
+  # Having warned about all mis-specified options, bail out if
+  # anything was wrong.
+  $exit_cmd $EXIT_FAILURE
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+  if test "$package_revision" != "$macro_revision"; then
+    if test "$VERSION" != "$macro_version"; then
+      if test -z "$macro_version"; then
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      else
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      fi
+    else
+      cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+    fi
+
+    exit $EXIT_MISMATCH
+  fi
+}
+
+
+## ----------- ##
+##    Main.    ##
+## ----------- ##
+
+$opt_help || {
+  # Sanity checks first:
+  func_check_version_match
+
+  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+    func_fatal_configuration "not configured to build any kind of library"
+  fi
+
+  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+  # Darwin sucks
+  eval std_shrext=\"$shrext_cmds\"
+
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    func_error "unrecognized option \`-dlopen'"
+    $ECHO "$help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$progname --help --mode=$mode' for more information."
+}
+
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+    test -f "$1" &&
+      $SED -e 4q "$1" 2>/dev/null \
+        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs.  To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway.  Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+    lalib_p=no
+    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+       for lalib_p_l in 1 2 3 4
+       do
+           read lalib_p_line
+           case "$lalib_p_line" in
+               \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+           esac
+       done
+       exec 0<&5 5<&-
+    fi
+    test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+    func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+    func_ltwrapper_exec_suffix=
+    case $1 in
+    *.exe) ;;
+    *) func_ltwrapper_exec_suffix=.exe ;;
+    esac
+    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+    func_ltwrapper_scriptname_result=""
+    if func_ltwrapper_executable_p "$1"; then
+       func_dirname_and_basename "$1" "" "."
+       func_stripname '' '.exe' "$func_basename_result"
+       func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+    fi
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+    $opt_debug
+    save_ifs=$IFS; IFS='~'
+    for cmd in $1; do
+      IFS=$save_ifs
+      eval cmd=\"$cmd\"
+      func_show_eval "$cmd" "${2-:}"
+    done
+    IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)!  Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+    $opt_debug
+    case $1 in
+    */* | *\\*)        . "$1" ;;
+    *)         . "./$1" ;;
+    esac
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    $opt_debug
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+        func_quote_for_eval "$arg"
+       CC_quoted="$CC_quoted $func_quote_for_eval_result"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+       for z in $available_tags; do
+         if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+           # Evaluate the configuration.
+           eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+           CC_quoted=
+           for arg in $CC; do
+             # Double-quote args containing other shell metacharacters.
+             func_quote_for_eval "$arg"
+             CC_quoted="$CC_quoted $func_quote_for_eval_result"
+           done
+           case "$@ " in
+             " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+             # The compiler in the base compile command matches
+             # the one in the tagged configuration.
+             # Assume this is the tagged configuration we want.
+             tagname=$z
+             break
+             ;;
+           esac
+         fi
+       done
+       # If $tagname still isn't set, then no tagged configuration
+       # was found and let the user know that the "--tag" command
+       # line option must be used.
+       if test -z "$tagname"; then
+         func_echo "unable to infer tagged configuration"
+         func_fatal_error "specify a tag with \`--tag'"
+#      else
+#        func_verbose "using $tagname tagged configuration"
+       fi
+       ;;
+      esac
+    fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+    write_libobj=${1}
+    if test "$build_libtool_libs" = yes; then
+      write_lobj=\'${2}\'
+    else
+      write_lobj=none
+    fi
+
+    if test "$build_old_libs" = yes; then
+      write_oldobj=\'${3}\'
+    else
+      write_oldobj=none
+    fi
+
+    $opt_dry_run || {
+      cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+      $MV "${write_libobj}T" "${write_libobj}"
+    }
+}
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+    $opt_debug
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+    pie_flag=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+       # do not "continue".  Instead, add this to base_compile
+       lastarg="$arg"
+       arg_mode=normal
+       ;;
+
+      target )
+       libobj="$arg"
+       arg_mode=normal
+       continue
+       ;;
+
+      normal )
+       # Accept any command-line options.
+       case $arg in
+       -o)
+         test -n "$libobj" && \
+           func_fatal_error "you cannot specify \`-o' more than once"
+         arg_mode=target
+         continue
+         ;;
+
+       -pie | -fpie | -fPIE)
+          pie_flag="$pie_flag $arg"
+         continue
+         ;;
+
+       -shared | -static | -prefer-pic | -prefer-non-pic)
+         later="$later $arg"
+         continue
+         ;;
+
+       -no-suppress)
+         suppress_opt=no
+         continue
+         ;;
+
+       -Xcompiler)
+         arg_mode=arg  #  the next one goes into the "base_compile" arg list
+         continue      #  The current "srcfile" will either be retained or
+         ;;            #  replaced later.  I would guess that would be a bug.
+
+       -Wc,*)
+         func_stripname '-Wc,' '' "$arg"
+         args=$func_stripname_result
+         lastarg=
+         save_ifs="$IFS"; IFS=','
+         for arg in $args; do
+           IFS="$save_ifs"
+           func_quote_for_eval "$arg"
+           lastarg="$lastarg $func_quote_for_eval_result"
+         done
+         IFS="$save_ifs"
+         func_stripname ' ' '' "$lastarg"
+         lastarg=$func_stripname_result
+
+         # Add the arguments to base_compile.
+         base_compile="$base_compile $lastarg"
+         continue
+         ;;
+
+       *)
+         # Accept the current argument as the source file.
+         # The previous "srcfile" becomes the current argument.
+         #
+         lastarg="$srcfile"
+         srcfile="$arg"
+         ;;
+       esac  #  case $arg
+       ;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      func_quote_for_eval "$lastarg"
+      base_compile="$base_compile $func_quote_for_eval_result"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      func_fatal_error "you must specify an argument for -Xcompile"
+      ;;
+    target)
+      func_fatal_error "you must specify a target with \`-o'"
+      ;;
+    *)
+      # Get the name of the library object.
+      test -z "$libobj" && {
+       func_basename "$srcfile"
+       libobj="$func_basename_result"
+      }
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    case $libobj in
+    *.[cCFSifmso] | \
+    *.ada | *.adb | *.ads | *.asm | \
+    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+      func_xform "$libobj"
+      libobj=$func_xform_result
+      ;;
+    esac
+
+    case $libobj in
+    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+    *)
+      func_fatal_error "cannot determine name of library object from \`$libobj'"
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -shared)
+       test "$build_libtool_libs" != yes && \
+         func_fatal_configuration "can not build a shared library"
+       build_old_libs=no
+       continue
+       ;;
+
+      -static)
+       build_libtool_libs=no
+       build_old_libs=yes
+       continue
+       ;;
+
+      -prefer-pic)
+       pic_mode=yes
+       continue
+       ;;
+
+      -prefer-non-pic)
+       pic_mode=no
+       continue
+       ;;
+      esac
+    done
+
+    func_quote_for_eval "$libobj"
+    test "X$libobj" != "X$func_quote_for_eval_result" \
+      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'   &()|`$[]' \
+      && func_warning "libobj name \`$libobj' may not contain shell special characters."
+    func_dirname_and_basename "$obj" "/" ""
+    objname="$func_basename_result"
+    xdir="$func_dirname_result"
+    lobj=${xdir}$objdir/$objname
+
+    test -z "$base_compile" && \
+      func_fatal_help "you must specify a compilation command"
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2* | cegcc*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+       func_echo "Waiting for $lockfile to be removed"
+       sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+       $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $opt_dry_run || $RM $removelist
+       exit $EXIT_FAILURE
+      fi
+      removelist="$removelist $output_obj"
+      $ECHO "$srcfile" > "$lockfile"
+    fi
+
+    $opt_dry_run || $RM $removelist
+    removelist="$removelist $lockfile"
+    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    func_quote_for_eval "$srcfile"
+    qsrcfile=$func_quote_for_eval_result
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+       command="$base_compile $qsrcfile $pic_flag"
+      else
+       # Don't build PIC code
+       command="$base_compile $qsrcfile"
+      fi
+
+      func_mkdir_p "$xdir$objdir"
+
+      if test -z "$output_obj"; then
+       # Place PIC objects in $objdir
+       command="$command -o $lobj"
+      fi
+
+      func_show_eval_locale "$command" \
+          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+      if test "$need_locks" = warn &&
+        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+       $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $opt_dry_run || $RM $removelist
+       exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+       func_show_eval '$MV "$output_obj" "$lobj"' \
+         'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+       suppress_output=' >/dev/null 2>&1'
+      fi
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+       # Don't build PIC code
+       command="$base_compile $qsrcfile$pie_flag"
+      else
+       command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+       command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      func_show_eval_locale "$command" \
+        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+      if test "$need_locks" = warn &&
+        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+       $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $opt_dry_run || $RM $removelist
+       exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+       func_show_eval '$MV "$output_obj" "$obj"' \
+         'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+    fi
+
+    $opt_dry_run || {
+      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+      # Unlock the critical section if it was locked
+      if test "$need_locks" != no; then
+       removelist=$lockfile
+        $RM "$lockfile"
+      fi
+    }
+
+    exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+test "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+    # We need to display help for each of the modes.
+    case $mode in
+      "")
+        # Generic help is extracted from the usage comments
+        # at the start of this file.
+        func_help
+        ;;
+
+      clean)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      compile)
+      $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -no-suppress      do not suppress compiler output for multiple passes
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -shared           do not build a \`.o' file suitable for static linking
+  -static           only build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+        ;;
+
+      execute)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+        ;;
+
+      finish)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+        ;;
+
+      install)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+        ;;
+
+      link)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+                    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+                    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -shared           only do dynamic linking of libtool libraries
+  -shrext SUFFIX    override the standard shared library file extension
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+                    specify library version info [each variable defaults to 0]
+  -weak LIBNAME     declare that the target provides the LIBNAME interface
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+        ;;
+
+      uninstall)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      *)
+        func_fatal_help "invalid operation mode \`$mode'"
+        ;;
+    esac
+
+    $ECHO
+    $ECHO "Try \`$progname --help' for more information about other modes."
+
+    exit $?
+}
+
+  # Now that we've collected a possible --mode arg, show help if necessary
+  $opt_help && func_mode_help
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+    $opt_debug
+    # The first argument is the command name.
+    cmd="$nonopt"
+    test -z "$cmd" && \
+      func_fatal_help "you must specify a COMMAND"
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      test -f "$file" \
+       || func_fatal_help "\`$file' is not a file"
+
+      dir=
+      case $file in
+      *.la)
+       # Check to see that this really is a libtool archive.
+       func_lalib_unsafe_p "$file" \
+         || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+       # Read the libtool library.
+       dlname=
+       library_names=
+       func_source "$file"
+
+       # Skip this library if it cannot be dlopened.
+       if test -z "$dlname"; then
+         # Warn if it was a shared library.
+         test -n "$library_names" && \
+           func_warning "\`$file' was not linked with \`-export-dynamic'"
+         continue
+       fi
+
+       func_dirname "$file" "" "."
+       dir="$func_dirname_result"
+
+       if test -f "$dir/$objdir/$dlname"; then
+         dir="$dir/$objdir"
+       else
+         if test ! -f "$dir/$dlname"; then
+           func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+         fi
+       fi
+       ;;
+
+      *.lo)
+       # Just add the directory containing the .lo file.
+       func_dirname "$file" "" "."
+       dir="$func_dirname_result"
+       ;;
+
+      *)
+       func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+       continue
+       ;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+       eval "$shlibpath_var=\"\$dir\""
+      else
+       eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+       # Do a test to see if this is really a libtool program.
+       if func_ltwrapper_script_p "$file"; then
+         func_source "$file"
+         # Transform arg to wrapped name.
+         file="$progdir/$program"
+       elif func_ltwrapper_executable_p "$file"; then
+         func_ltwrapper_scriptname "$file"
+         func_source "$func_ltwrapper_scriptname_result"
+         # Transform arg to wrapped name.
+         file="$progdir/$program"
+       fi
+       ;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      func_quote_for_eval "$file"
+      args="$args $func_quote_for_eval_result"
+    done
+
+    if test "X$opt_dry_run" = Xfalse; then
+      if test -n "$shlibpath_var"; then
+       # Export the shlibpath_var.
+       eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+       eval "if test \"\${save_$lt_var+set}\" = set; then
+                $lt_var=\$save_$lt_var; export $lt_var
+             else
+               $lt_unset $lt_var
+             fi"
+      done
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+       eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+       $ECHO "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+    $opt_debug
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+       libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+       if test -n "$finish_cmds"; then
+         # Do each command in the finish commands.
+         func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+       fi
+       if test -n "$finish_eval"; then
+         # Do the single finish_eval.
+         eval cmds=\"$finish_eval\"
+         $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+       $cmds"
+       fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    $opt_silent && exit $EXIT_SUCCESS
+
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    $ECHO "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $ECHO "   $libdir"
+    done
+    $ECHO
+    $ECHO "If you ever happen to want to link against installed libraries"
+    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
+    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $ECHO "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $ECHO "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $ECHO "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      $ECHO "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $ECHO "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $ECHO
+
+    $ECHO "See any operating system documentation about shared libraries for"
+    case $host in
+      solaris2.[6789]|solaris2.1[0-9])
+        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+       $ECHO "pages."
+       ;;
+      *)
+        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+        ;;
+    esac
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+}
+
+test "$mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+    $opt_debug
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+      # Aesthetically quote it.
+      func_quote_for_eval "$nonopt"
+      install_prog="$func_quote_for_eval_result "
+      arg=$1
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    func_quote_for_eval "$arg"
+    install_prog="$install_prog$func_quote_for_eval_result"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+       files="$files $dest"
+       dest=$arg
+       continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f)
+       case " $install_prog " in
+       *[\\\ /]cp\ *) ;;
+       *) prev=$arg ;;
+       esac
+       ;;
+      -g | -m | -o)
+       prev=$arg
+       ;;
+      -s)
+       stripme=" -s"
+       continue
+       ;;
+      -*)
+       ;;
+      *)
+       # If the previous option needed an argument, then skip it.
+       if test -n "$prev"; then
+         prev=
+       else
+         dest=$arg
+         continue
+       fi
+       ;;
+      esac
+
+      # Aesthetically quote the argument.
+      func_quote_for_eval "$arg"
+      install_prog="$install_prog $func_quote_for_eval_result"
+    done
+
+    test -z "$install_prog" && \
+      func_fatal_help "you must specify an install program"
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prev' option requires an argument"
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+       func_fatal_help "no file or destination specified"
+      else
+       func_fatal_help "you must specify a destination"
+      fi
+    fi
+
+    # Strip any trailing slash from the destination.
+    func_stripname '' '/' "$dest"
+    dest=$func_stripname_result
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      func_dirname_and_basename "$dest" "" "."
+      destdir="$func_dirname_result"
+      destname="$func_basename_result"
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files; shift
+      test "$#" -gt 1 && \
+       func_fatal_help "\`$dest' is not a directory"
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+       case $file in
+       *.lo) ;;
+       *)
+         func_fatal_help "\`$destdir' must be an absolute directory name"
+         ;;
+       esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+       # Do the static libraries later.
+       staticlibs="$staticlibs $file"
+       ;;
+
+      *.la)
+       # Check to see that this really is a libtool archive.
+       func_lalib_unsafe_p "$file" \
+         || func_fatal_help "\`$file' is not a valid libtool archive"
+
+       library_names=
+       old_library=
+       relink_command=
+       func_source "$file"
+
+       # Add the libdir to current_libdirs if it is the destination.
+       if test "X$destdir" = "X$libdir"; then
+         case "$current_libdirs " in
+         *" $libdir "*) ;;
+         *) current_libdirs="$current_libdirs $libdir" ;;
+         esac
+       else
+         # Note the libdir as a future libdir.
+         case "$future_libdirs " in
+         *" $libdir "*) ;;
+         *) future_libdirs="$future_libdirs $libdir" ;;
+         esac
+       fi
+
+       func_dirname "$file" "/" ""
+       dir="$func_dirname_result"
+       dir="$dir$objdir"
+
+       if test -n "$relink_command"; then
+         # Determine the prefix the user has applied to our future dir.
+         inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
+         # Don't allow the user to place us outside of our expected
+         # location b/c this prevents finding dependent libraries that
+         # are installed to the same prefix.
+         # At present, this check doesn't affect windows .dll's that
+         # are installed into $libdir/../bin (currently, that works fine)
+         # but it's something to keep an eye on.
+         test "$inst_prefix_dir" = "$destdir" && \
+           func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+         if test -n "$inst_prefix_dir"; then
+           # Stick the inst_prefix_dir data into the link command.
+           relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+         else
+           relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+         fi
+
+         func_warning "relinking \`$file'"
+         func_show_eval "$relink_command" \
+           'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+       fi
+
+       # See the names of the shared library.
+       set dummy $library_names; shift
+       if test -n "$1"; then
+         realname="$1"
+         shift
+
+         srcname="$realname"
+         test -n "$relink_command" && srcname="$realname"T
+
+         # Install the shared library and build the symlinks.
+         func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+             'exit $?'
+         tstripme="$stripme"
+         case $host_os in
+         cygwin* | mingw* | pw32* | cegcc*)
+           case $realname in
+           *.dll.a)
+             tstripme=""
+             ;;
+           esac
+           ;;
+         esac
+         if test -n "$tstripme" && test -n "$striplib"; then
+           func_show_eval "$striplib $destdir/$realname" 'exit $?'
+         fi
+
+         if test "$#" -gt 0; then
+           # Delete the old symlinks, and create new ones.
+           # Try `ln -sf' first, because the `ln' binary might depend on
+           # the symlink we replace!  Solaris /bin/ln does not understand -f,
+           # so we also need to try rm && ln -s.
+           for linkname
+           do
+             test "$linkname" != "$realname" \
+               && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+           done
+         fi
+
+         # Do each command in the postinstall commands.
+         lib="$destdir/$realname"
+         func_execute_cmds "$postinstall_cmds" 'exit $?'
+       fi
+
+       # Install the pseudo-library for information purposes.
+       func_basename "$file"
+       name="$func_basename_result"
+       instname="$dir/$name"i
+       func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+       # Maybe install the static library, too.
+       test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+       ;;
+
+      *.lo)
+       # Install (i.e. copy) a libtool object.
+
+       # Figure out destination file name, if it wasn't already specified.
+       if test -n "$destname"; then
+         destfile="$destdir/$destname"
+       else
+         func_basename "$file"
+         destfile="$func_basename_result"
+         destfile="$destdir/$destfile"
+       fi
+
+       # Deduce the name of the destination old-style object file.
+       case $destfile in
+       *.lo)
+         func_lo2o "$destfile"
+         staticdest=$func_lo2o_result
+         ;;
+       *.$objext)
+         staticdest="$destfile"
+         destfile=
+         ;;
+       *)
+         func_fatal_help "cannot copy a libtool object to \`$destfile'"
+         ;;
+       esac
+
+       # Install the libtool object if requested.
+       test -n "$destfile" && \
+         func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+       # Install the old object if enabled.
+       if test "$build_old_libs" = yes; then
+         # Deduce the name of the old-style object file.
+         func_lo2o "$file"
+         staticobj=$func_lo2o_result
+         func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+       fi
+       exit $EXIT_SUCCESS
+       ;;
+
+      *)
+       # Figure out destination file name, if it wasn't already specified.
+       if test -n "$destname"; then
+         destfile="$destdir/$destname"
+       else
+         func_basename "$file"
+         destfile="$func_basename_result"
+         destfile="$destdir/$destfile"
+       fi
+
+       # If the file is missing, and there is a .exe on the end, strip it
+       # because it is most likely a libtool script we actually want to
+       # install
+       stripped_ext=""
+       case $file in
+         *.exe)
+           if test ! -f "$file"; then
+             func_stripname '' '.exe' "$file"
+             file=$func_stripname_result
+             stripped_ext=".exe"
+           fi
+           ;;
+       esac
+
+       # Do a test to see if this is really a libtool program.
+       case $host in
+       *cygwin* | *mingw*)
+           if func_ltwrapper_executable_p "$file"; then
+             func_ltwrapper_scriptname "$file"
+             wrapper=$func_ltwrapper_scriptname_result
+           else
+             func_stripname '' '.exe' "$file"
+             wrapper=$func_stripname_result
+           fi
+           ;;
+       *)
+           wrapper=$file
+           ;;
+       esac
+       if func_ltwrapper_script_p "$wrapper"; then
+         notinst_deplibs=
+         relink_command=
+
+         func_source "$wrapper"
+
+         # Check the variables that should have been set.
+         test -z "$generated_by_libtool_version" && \
+           func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+         finalize=yes
+         for lib in $notinst_deplibs; do
+           # Check to see that each library is installed.
+           libdir=
+           if test -f "$lib"; then
+             func_source "$lib"
+           fi
+           libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+           if test -n "$libdir" && test ! -f "$libfile"; then
+             func_warning "\`$lib' has not been installed in \`$libdir'"
+             finalize=no
+           fi
+         done
+
+         relink_command=
+         func_source "$wrapper"
+
+         outputname=
+         if test "$fast_install" = no && test -n "$relink_command"; then
+           $opt_dry_run || {
+             if test "$finalize" = yes; then
+               tmpdir=`func_mktempdir`
+               func_basename "$file$stripped_ext"
+               file="$func_basename_result"
+               outputname="$tmpdir/$file"
+               # Replace the output file specification.
+               relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+               $opt_silent || {
+                 func_quote_for_expand "$relink_command"
+                 eval "func_echo $func_quote_for_expand_result"
+               }
+               if eval "$relink_command"; then :
+                 else
+                 func_error "error: relink \`$file' with the above command before installing it"
+                 $opt_dry_run || ${RM}r "$tmpdir"
+                 continue
+               fi
+               file="$outputname"
+             else
+               func_warning "cannot relink \`$file'"
+             fi
+           }
+         else
+           # Install the binary that we compiled earlier.
+           file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+         fi
+       fi
+
+       # remove .exe since cygwin /usr/bin/install will append another
+       # one anyway
+       case $install_prog,$host in
+       */usr/bin/install*,*cygwin*)
+         case $file:$destfile in
+         *.exe:*.exe)
+           # this is ok
+           ;;
+         *.exe:*)
+           destfile=$destfile.exe
+           ;;
+         *:*.exe)
+           func_stripname '' '.exe' "$destfile"
+           destfile=$func_stripname_result
+           ;;
+         esac
+         ;;
+       esac
+       func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+       $opt_dry_run || if test -n "$outputname"; then
+         ${RM}r "$tmpdir"
+       fi
+       ;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      func_basename "$file"
+      name="$func_basename_result"
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+       func_show_eval "$old_striplib $oldlib" 'exit $?'
+      fi
+
+      # Do each command in the postinstall commands.
+      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+    done
+
+    test -n "$future_libdirs" && \
+      func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      $opt_dry_run && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+    $opt_debug
+    my_outputname="$1"
+    my_originator="$2"
+    my_pic_p="${3-no}"
+    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+    my_dlsyms=
+
+    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+      if test -n "$NM" && test -n "$global_symbol_pipe"; then
+       my_dlsyms="${my_outputname}S.c"
+      else
+       func_error "not configured to extract global symbols from dlpreopened files"
+      fi
+    fi
+
+    if test -n "$my_dlsyms"; then
+      case $my_dlsyms in
+      "") ;;
+      *.c)
+       # Discover the nlist of each of the dlfiles.
+       nlist="$output_objdir/${my_outputname}.nm"
+
+       func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+       # Parse the name list into a source file.
+       func_verbose "creating $output_objdir/$my_dlsyms"
+
+       $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+       if test "$dlself" = yes; then
+         func_verbose "generating symbol list for \`$output'"
+
+         $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+         # Add our own program objects to the symbol list.
+         progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+         for progfile in $progfiles; do
+           func_verbose "extracting global C symbols from \`$progfile'"
+           $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+         done
+
+         if test -n "$exclude_expsyms"; then
+           $opt_dry_run || {
+             eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+             eval '$MV "$nlist"T "$nlist"'
+           }
+         fi
+
+         if test -n "$export_symbols_regex"; then
+           $opt_dry_run || {
+             eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+             eval '$MV "$nlist"T "$nlist"'
+           }
+         fi
+
+         # Prepare the list of exported symbols
+         if test -z "$export_symbols"; then
+           export_symbols="$output_objdir/$outputname.exp"
+           $opt_dry_run || {
+             $RM $export_symbols
+             eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+             case $host in
+             *cygwin* | *mingw* | *cegcc* )
+                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+               ;;
+             esac
+           }
+         else
+           $opt_dry_run || {
+             eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+             eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+             eval '$MV "$nlist"T "$nlist"'
+             case $host in
+               *cygwin | *mingw* | *cegcc* )
+                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                 ;;
+             esac
+           }
+         fi
+       fi
+
+       for dlprefile in $dlprefiles; do
+         func_verbose "extracting global C symbols from \`$dlprefile'"
+         func_basename "$dlprefile"
+         name="$func_basename_result"
+         $opt_dry_run || {
+           eval '$ECHO ": $name " >> "$nlist"'
+           eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+         }
+       done
+
+       $opt_dry_run || {
+         # Make sure we have at least an empty file.
+         test -f "$nlist" || : > "$nlist"
+
+         if test -n "$exclude_expsyms"; then
+           $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+           $MV "$nlist"T "$nlist"
+         fi
+
+         # Try sorting and uniquifying the output.
+         if $GREP -v "^: " < "$nlist" |
+             if sort -k 3 </dev/null >/dev/null 2>&1; then
+               sort -k 3
+             else
+               sort +2
+             fi |
+             uniq > "$nlist"S; then
+           :
+         else
+           $GREP -v "^: " < "$nlist" > "$nlist"S
+         fi
+
+         if test -f "$nlist"S; then
+           eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+         else
+           $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+         fi
+
+         $ECHO >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols.  */
+typedef struct {
+  const char *name;
+  void *address;
+} lt_dlsymlist;
+"
+         case $host in
+         *cygwin* | *mingw* | *cegcc* )
+           $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs.  */"
+           lt_dlsym_const= ;;
+         *osf5*)
+           echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+           lt_dlsym_const= ;;
+         *)
+           lt_dlsym_const=const ;;
+         esac
+
+         $ECHO >> "$output_objdir/$my_dlsyms" "\
+extern $lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+$lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+  { \"$my_originator\", (void *) 0 },"
+
+         case $need_lib_prefix in
+         no)
+           eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+           ;;
+         *)
+           eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+           ;;
+         esac
+         $ECHO >> "$output_objdir/$my_dlsyms" "\
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+       } # !$opt_dry_run
+
+       pic_flag_for_symtable=
+       case "$compile_command " in
+       *" -static "*) ;;
+       *)
+         case $host in
+         # compiling the symbol table file with pic_flag works around
+         # a FreeBSD bug that causes programs to crash when -lm is
+         # linked before any other PIC object.  But we must not use
+         # pic_flag when linking with -static.  The problem exists in
+         # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+         *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+           pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+         *-*-hpux*)
+           pic_flag_for_symtable=" $pic_flag"  ;;
+         *)
+           if test "X$my_pic_p" != Xno; then
+             pic_flag_for_symtable=" $pic_flag"
+           fi
+           ;;
+         esac
+         ;;
+       esac
+       symtab_cflags=
+       for arg in $LTCFLAGS; do
+         case $arg in
+         -pie | -fpie | -fPIE) ;;
+         *) symtab_cflags="$symtab_cflags $arg" ;;
+         esac
+       done
+
+       # Now compile the dynamic symbol file.
+       func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+       # Clean up the generated files.
+       func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+       # Transform the symbol file into the correct name.
+       symfileobj="$output_objdir/${my_outputname}S.$objext"
+       case $host in
+       *cygwin* | *mingw* | *cegcc* )
+         if test -f "$output_objdir/$my_outputname.def"; then
+           compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+           finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+         else
+           compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+           finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         fi
+         ;;
+       *)
+         compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         ;;
+       esac
+       ;;
+      *)
+       func_fatal_error "unknown suffix for \`$my_dlsyms'"
+       ;;
+      esac
+    else
+      # We keep going just in case the user didn't refer to
+      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+      # really was required.
+
+      # Nullify the symbol file.
+      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+    fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  $opt_debug
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 |
+       $SED -n -e '
+           1,100{
+               / I /{
+                   s,.*,import,
+                   p
+                   q
+               }
+           }'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $ECHO "$win32_libid_type"
+}
+
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    $opt_debug
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+    fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    $opt_debug
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+       [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+       *) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      func_basename "$my_xlib"
+      my_xlib="$func_basename_result"
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+       *" $my_xlib_u "*)
+         func_arith $extracted_serial + 1
+         extracted_serial=$func_arith_result
+         my_xlib_u=lt$extracted_serial-$my_xlib ;;
+       *) break ;;
+       esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir="$my_gentop/$my_xlib_u"
+
+      func_mkdir_p "$my_xdir"
+
+      case $host in
+      *-darwin*)
+       func_verbose "Extracting $my_xabs"
+       # Do not bother doing anything if just a dry run
+       $opt_dry_run || {
+         darwin_orig_dir=`pwd`
+         cd $my_xdir || exit $?
+         darwin_archive=$my_xabs
+         darwin_curdir=`pwd`
+         darwin_base_archive=`basename "$darwin_archive"`
+         darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+         if test -n "$darwin_arches"; then
+           darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+           darwin_arch=
+           func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+           for darwin_arch in  $darwin_arches ; do
+             func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+             $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+             cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+             func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+             cd "$darwin_curdir"
+             $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+           done # $darwin_arches
+            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+           darwin_file=
+           darwin_files=
+           for darwin_file in $darwin_filelist; do
+             darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+             $LIPO -create -output "$darwin_file" $darwin_files
+           done # $darwin_filelist
+           $RM -rf unfat-$$
+           cd "$darwin_orig_dir"
+         else
+           cd $darwin_orig_dir
+           func_extract_an_archive "$my_xdir" "$my_xabs"
+         fi # $darwin_arches
+       } # !$opt_dry_run
+       ;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+       ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+
+    func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper_part1 [arg=no]
+#
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
+{
+       func_emit_wrapper_part1_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_part1_arg1=$1
+       fi
+
+       $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='$macro_version'
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$ECHO are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    ECHO=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$ECHO works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$ECHO will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+       $ECHO "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+       func_emit_wrapper_part2_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_part2_arg1=$1
+       fi
+
+       $ECHO "\
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+    # special case for '.'
+    if test \"\$thisdir\" = \".\"; then
+      thisdir=\`pwd\`
+    fi
+    # remove .libs from thisdir
+    case \"\$thisdir\" in
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    $objdir )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+       if test "$fast_install" = yes; then
+         $ECHO "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" ||
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $MKDIR \"\$progdir\"
+    else
+      $RM \"\$progdir/\$file\"
+    fi"
+
+         $ECHO "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+       $ECHO \"\$relink_command_output\" >&2
+       $RM \"\$progdir/\$file\"
+       exit 1
+      fi
+    fi
+
+    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $RM \"\$progdir/\$program\";
+      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $RM \"\$progdir/\$file\"
+  fi"
+       else
+         $ECHO "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+       fi
+
+       $ECHO "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+       # Export our shlibpath_var if we have one.
+       if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+         $ECHO "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+       fi
+
+       # fixup the dll searchpath if we need to.
+       if test -n "$dllsearchpath"; then
+         $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+       fi
+
+       $ECHO "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+       case $host in
+       # Backslashes separate directories on plain windows
+       *-*-mingw | *-*-os2* | *-cegcc*)
+         $ECHO "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+         ;;
+
+       *)
+         $ECHO "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+         ;;
+       esac
+       $ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+    fi
+  else
+    # The program doesn't exist.
+    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit 1
+  fi
+fi\
+"
+}
+# end: func_emit_wrapper_part2
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+       func_emit_wrapper_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_arg1=$1
+       fi
+
+       # split this up so that func_emit_cwrapperexe_src
+       # can call each part independently.
+       func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+       func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+#    $build          $host
+#    mingw (msys)    mingw  [e.g. native]
+#    cygwin          mingw
+#    *nix + wine     mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin.  Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+  func_to_host_path_result="$1"
+  if test -n "$1" ; then
+    case $host in
+      *mingw* )
+        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+        case $build in
+          *mingw* ) # actually, msys
+            # awkward: cmd appends spaces to result
+            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          *cygwin* )
+            func_to_host_path_tmp1=`cygpath -w "$1"`
+            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          * )
+            # Unfortunately, winepath does not exit with a non-zero
+            # error code, so we are forced to check the contents of
+            # stdout. On the other hand, if the command is not
+            # found, the shell will set an exit code of 127 and print
+            # *an error message* to stdout. So we must check for both
+            # error code of zero AND non-empty stdout, which explains
+            # the odd construction:
+            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+                $SED -e "$lt_sed_naive_backslashify"`
+            else
+              # Allow warning below.
+              func_to_host_path_result=""
+            fi
+            ;;
+        esac
+        if test -z "$func_to_host_path_result" ; then
+          func_error "Could not determine host path corresponding to"
+          func_error "  '$1'"
+          func_error "Continuing, but uninstalled executables may not work."
+          # Fallback:
+          func_to_host_path_result="$1"
+        fi
+        ;;
+    esac
+  fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+#    $build          $host
+#    mingw (msys)    mingw  [e.g. native]
+#    cygwin          mingw
+#    *nix + wine     mingw
+#
+# Path separators are also converted from $build format to
+# $host format. If ARG begins or ends with a path separator
+# character, it is preserved (but converted to $host format)
+# on output.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+  func_to_host_pathlist_result="$1"
+  if test -n "$1" ; then
+    case $host in
+      *mingw* )
+        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+        # Remove leading and trailing path separator characters from
+        # ARG. msys behavior is inconsistent here, cygpath turns them
+        # into '.;' and ';.', and winepath ignores them completely.
+        func_to_host_pathlist_tmp2="$1"
+        # Once set for this call, this variable should not be
+        # reassigned. It is used in tha fallback case.
+        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+          $SED -e 's|^:*||' -e 's|:*$||'`
+        case $build in
+          *mingw* ) # Actually, msys.
+            # Awkward: cmd appends spaces to result.
+            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          *cygwin* )
+            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          * )
+            # unfortunately, winepath doesn't convert pathlists
+            func_to_host_pathlist_result=""
+            func_to_host_pathlist_oldIFS=$IFS
+            IFS=:
+            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+              IFS=$func_to_host_pathlist_oldIFS
+              if test -n "$func_to_host_pathlist_f" ; then
+                func_to_host_path "$func_to_host_pathlist_f"
+                if test -n "$func_to_host_path_result" ; then
+                  if test -z "$func_to_host_pathlist_result" ; then
+                    func_to_host_pathlist_result="$func_to_host_path_result"
+                  else
+                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+                  fi
+                fi
+              fi
+              IFS=:
+            done
+            IFS=$func_to_host_pathlist_oldIFS
+            ;;
+        esac
+        if test -z "$func_to_host_pathlist_result" ; then
+          func_error "Could not determine the host path(s) corresponding to"
+          func_error "  '$1'"
+          func_error "Continuing, but uninstalled executables may not work."
+          # Fallback. This may break if $1 contains DOS-style drive
+          # specifications. The fix is not to complicate the expression
+          # below, but for the user to provide a working wine installation
+          # with winepath so that path translation in the cross-to-mingw
+          # case works properly.
+          lt_replace_pathsep_nix_to_dos="s|:|;|g"
+          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+            $SED -e "$lt_replace_pathsep_nix_to_dos"`
+        fi
+        # Now, add the leading and trailing path separators back
+        case "$1" in
+          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+            ;;
+        esac
+        case "$1" in
+          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+            ;;
+        esac
+        ;;
+    esac
+  fi
+}
+# end: func_to_host_pathlist
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+       cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "$SHELL $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+           cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+#  include <io.h>
+#  define HAVE_SETENV
+#  ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+#  endif
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+#  define intptr_t int
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+       (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+    va_list args;
+    va_start (args, fmt);
+    (void) vfprintf (stderr, fmt, args);
+    va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
+EOF
+
+           func_emit_wrapper_part1 yes |
+               $SED -e 's/\([\\"]\)/\\\1/g' \
+                    -e 's/^/  "/' -e 's/$/\\n"/'
+           echo ";"
+           cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+           func_emit_wrapper_part2 yes |
+               $SED -e 's/\([\\"]\)/\\\1/g' \
+                    -e 's/^/  "/' -e 's/$/\\n"/'
+           echo ";"
+
+           cat <<EOF
+const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+           if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+              func_to_host_pathlist "$temp_rpath"
+             cat <<EOF
+const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
+EOF
+           else
+             cat <<"EOF"
+const char * LIB_PATH_VALUE   = "";
+EOF
+           fi
+
+           if test -n "$dllsearchpath"; then
+              func_to_host_pathlist "$dllsearchpath:"
+             cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
+EOF
+           else
+             cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE   = "";
+EOF
+           fi
+
+           if test "$fast_install" = yes; then
+             cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+           else
+             cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+           fi
+
+
+           cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX         "--lt-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
+
+static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
+  /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
+  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
+  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int  newargc;
+  char *tmp_pathspec;
+  char *actual_cwrapper_path;
+  char *actual_cwrapper_name;
+  char *target_name;
+  char *lt_argv_zero;
+  intptr_t rval = 127;
+
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+  /* very simple arg parsing; don't want to rely on getopt */
+  for (i = 1; i < argc; i++)
+    {
+      if (strcmp (argv[i], dumpscript_opt) == 0)
+       {
+EOF
+           case "$host" in
+             *mingw* | *cygwin* )
+               # make stdout use "unix" line endings
+               echo "          setmode(1,_O_BINARY);"
+               ;;
+             esac
+
+           cat <<"EOF"
+         printf ("%s", script_text_part1);
+         printf ("%s", script_text_part2);
+         return 0;
+       }
+    }
+
+  newargz = XMALLOC (char *, argc + 1);
+  tmp_pathspec = find_executable (argv[0]);
+  if (tmp_pathspec == NULL)
+    lt_fatal ("Couldn't find %s", argv[0]);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+                         tmp_pathspec));
+
+  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+                         actual_cwrapper_path));
+  XFREE (tmp_pathspec);
+
+  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+  strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+  /* wrapper name transforms */
+  strendzap (actual_cwrapper_name, ".exe");
+  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+  XFREE (actual_cwrapper_name);
+  actual_cwrapper_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  /* target_name transforms -- use actual target program name; might have lt- prefix */
+  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+  strendzap (target_name, ".exe");
+  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+  XFREE (target_name);
+  target_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+                         target_name));
+EOF
+
+           cat <<EOF
+  newargz[0] =
+    XMALLOC (char, (strlen (actual_cwrapper_path) +
+                   strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+  strcpy (newargz[0], actual_cwrapper_path);
+  strcat (newargz[0], "$objdir");
+  strcat (newargz[0], "/");
+EOF
+
+           cat <<"EOF"
+  /* stop here, and copy so we don't have to do this twice */
+  tmp_pathspec = xstrdup (newargz[0]);
+
+  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+  strcat (newargz[0], actual_cwrapper_name);
+
+  /* DO want the lt- prefix here if it exists, so use target_name */
+  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+  XFREE (tmp_pathspec);
+  tmp_pathspec = NULL;
+EOF
+
+           case $host_os in
+             mingw*)
+           cat <<"EOF"
+  {
+    char* p;
+    while ((p = strchr (newargz[0], '\\')) != NULL)
+      {
+       *p = '/';
+      }
+    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+      {
+       *p = '/';
+      }
+  }
+EOF
+           ;;
+           esac
+
+           cat <<"EOF"
+  XFREE (target_name);
+  XFREE (actual_cwrapper_path);
+  XFREE (actual_cwrapper_name);
+
+  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
+  newargc=0;
+  for (i = 1; i < argc; i++)
+    {
+      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+        {
+          if (argv[i][env_set_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_set_opt_len + 1;
+              lt_opt_process_env_set (p);
+            }
+          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_set (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_set_opt);
+          continue;
+        }
+      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+        {
+          if (argv[i][env_prepend_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_prepend_opt_len + 1;
+              lt_opt_process_env_prepend (p);
+            }
+          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_prepend_opt);
+          continue;
+        }
+      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+        {
+          if (argv[i][env_append_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_append_opt_len + 1;
+              lt_opt_process_env_append (p);
+            }
+          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_append (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_append_opt);
+          continue;
+        }
+      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+        {
+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+             namespace, but it is not one of the ones we know about and
+             have already dealt with, above (inluding dump-script), then
+             report an error. Otherwise, targets might begin to believe
+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+             namespace. The first time any user complains about this, we'll
+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+             or a configure.ac-settable value.
+           */
+          lt_fatal ("Unrecognized option in %s namespace: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
+    }
+  newargz[++newargc] = NULL;
+
+  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+  for (i = 0; i < newargc; i++)
+    {
+      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+    }
+
+EOF
+
+           case $host_os in
+             mingw*)
+               cat <<"EOF"
+  /* execv doesn't actually work on mingw as expected on unix */
+  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+  if (rval == -1)
+    {
+      /* failed to start process */
+      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+      return 127;
+    }
+  return rval;
+EOF
+               ;;
+             *)
+               cat <<"EOF"
+  execv (lt_argv_zero, newargz);
+  return rval; /* =127, but avoids unused variable warning */
+EOF
+               ;;
+           esac
+
+           cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+  void *p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+                         string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable (const char *path)
+{
+  struct stat st;
+
+  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
+                         path ? (*path ? path : "EMPTY!") : "NULL!"));
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0)
+      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+    return 1;
+  else
+    return 0;
+}
+
+int
+make_executable (const char *path)
+{
+  int rval = 0;
+  struct stat st;
+
+  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
+                         path ? (*path ? path : "EMPTY!") : "NULL!"));
+  if ((!path) || (!*path))
+    return 0;
+
+  if (stat (path, &st) >= 0)
+    {
+      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+    }
+  return rval;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise
+   Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+  int has_slash = 0;
+  const char *p;
+  const char *p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char *concat_name;
+
+  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
+                         wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable (concat_name))
+       return concat_name;
+      XFREE (concat_name);
+    }
+  else
+    {
+#endif
+      if (IS_DIR_SEPARATOR (wrapper[0]))
+       {
+         concat_name = xstrdup (wrapper);
+         if (check_executable (concat_name))
+           return concat_name;
+         XFREE (concat_name);
+       }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+    }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+      {
+       has_slash = 1;
+       break;
+      }
+  if (!has_slash)
+    {
+      /* no slashes; search PATH */
+      const char *path = getenv ("PATH");
+      if (path != NULL)
+       {
+         for (p = path; *p; p = p_next)
+           {
+             const char *q;
+             size_t p_len;
+             for (q = p; *q; q++)
+               if (IS_PATH_SEPARATOR (*q))
+                 break;
+             p_len = q - p;
+             p_next = (*q == '\0' ? q : q + 1);
+             if (p_len == 0)
+               {
+                 /* empty path: current directory */
+                 if (getcwd (tmp, LT_PATHMAX) == NULL)
+                   lt_fatal ("getcwd failed");
+                 tmp_len = strlen (tmp);
+                 concat_name =
+                   XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+                 memcpy (concat_name, tmp, tmp_len);
+                 concat_name[tmp_len] = '/';
+                 strcpy (concat_name + tmp_len + 1, wrapper);
+               }
+             else
+               {
+                 concat_name =
+                   XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+                 memcpy (concat_name, p, p_len);
+                 concat_name[p_len] = '/';
+                 strcpy (concat_name + p_len + 1, wrapper);
+               }
+             if (check_executable (concat_name))
+               return concat_name;
+             XFREE (concat_name);
+           }
+       }
+      /* not found in PATH; assume curdir */
+    }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen (tmp);
+  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable (concat_name))
+    return concat_name;
+  XFREE (concat_name);
+  return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+  return xstrdup (pathspec);
+#else
+  char buf[LT_PATHMAX];
+  struct stat s;
+  char *tmp_pathspec = xstrdup (pathspec);
+  char *p;
+  int has_symlinks = 0;
+  while (strlen (tmp_pathspec) && !has_symlinks)
+    {
+      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+                             tmp_pathspec));
+      if (lstat (tmp_pathspec, &s) == 0)
+       {
+         if (S_ISLNK (s.st_mode) != 0)
+           {
+             has_symlinks = 1;
+             break;
+           }
+
+         /* search backwards for last DIR_SEPARATOR */
+         p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+         while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+           p--;
+         if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+           {
+             /* no more DIR_SEPARATORS left */
+             break;
+           }
+         *p = '\0';
+       }
+      else
+       {
+         char *errstr = strerror (errno);
+         lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+       }
+    }
+  XFREE (tmp_pathspec);
+
+  if (!has_symlinks)
+    {
+      return xstrdup (pathspec);
+    }
+
+  tmp_pathspec = realpath (pathspec, buf);
+  if (tmp_pathspec == 0)
+    {
+      lt_fatal ("Could not follow symlinks for %s", pathspec);
+    }
+  return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert (str != NULL);
+  assert (pat != NULL);
+
+  len = strlen (str);
+  patlen = strlen (pat);
+
+  if (patlen <= len)
+    {
+      str += len - patlen;
+      if (strcmp (str, pat) == 0)
+       *str = '\0';
+    }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+              const char *message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+  {
+#ifdef HAVE_SETENV
+    /* always make a copy, for consistency with !HAVE_SETENV */
+    char *str = xstrdup (value);
+    setenv (name, str, 1);
+#else
+    int len = strlen (name) + 1 + strlen (value) + 1;
+    char *str = XMALLOC (char, len);
+    sprintf (str, "%s=%s", name, value);
+    if (putenv (str) != EXIT_SUCCESS)
+      {
+        XFREE (str);
+      }
+#endif
+  }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+  char *new_value;
+  if (orig_value && *orig_value)
+    {
+      int orig_value_len = strlen (orig_value);
+      int add_len = strlen (add);
+      new_value = XMALLOC (char, add_len + orig_value_len + 1);
+      if (to_end)
+        {
+          strcpy (new_value, orig_value);
+          strcpy (new_value + orig_value_len, add);
+        }
+      else
+        {
+          strcpy (new_value, add);
+          strcpy (new_value + add_len, orig_value);
+        }
+    }
+  else
+    {
+      new_value = xstrdup (add);
+    }
+  return new_value;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+  const char *p;
+  int len;
+  if (!arg || !*arg)
+    return 1;
+
+  p = strchr (arg, (int)'=');
+
+  if (!p)
+    return 1;
+
+  *value = xstrdup (++p);
+
+  len = strlen (arg) - strlen (*value);
+  *name = XMALLOC (char, len);
+  strncpy (*name, arg, len-1);
+  (*name)[len - 1] = '\0';
+
+  return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+    }
+
+  lt_setenv (name, value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+  char *new_value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+    }
+
+  new_value = lt_extend_str (getenv (name), value, 0);
+  lt_setenv (name, new_value);
+  XFREE (new_value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+  char *new_value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+    }
+
+  new_value = lt_extend_str (getenv (name), value, 1);
+  lt_setenv (name, new_value);
+  XFREE (new_value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      /* some systems can't cope with a ':'-terminated path #' */
+      int len = strlen (new_value);
+      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+        {
+          new_value[len-1] = '\0';
+        }
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_mode_link arg...
+func_mode_link ()
+{
+    $opt_debug
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args=$nonopt
+    base_compile="$nonopt $@"
+    compile_command=$nonopt
+    finalize_command=$nonopt
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+    new_inherited_linker_flags=
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+    weak_libs=
+    single_module="${wl}-single_module"
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -shared)
+       test "$build_libtool_libs" != yes && \
+         func_fatal_configuration "can not build a shared library"
+       build_old_libs=no
+       break
+       ;;
+      -all-static | -static | -static-libtool-libs)
+       case $arg in
+       -all-static)
+         if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+           func_warning "complete static linking is impossible in this configuration"
+         fi
+         if test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+         prefer_static_libs=yes
+         ;;
+       -static)
+         if test -z "$pic_flag" && test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+         prefer_static_libs=built
+         ;;
+       -static-libtool-libs)
+         if test -z "$pic_flag" && test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+         prefer_static_libs=yes
+         ;;
+       esac
+       build_libtool_libs=no
+       build_old_libs=yes
+       break
+       ;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      func_quote_for_eval "$arg"
+      qarg=$func_quote_for_eval_unquoted_result
+      func_append libtool_args " $func_quote_for_eval_result"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+       case $prev in
+       output)
+         func_append compile_command " @OUTPUT@"
+         func_append finalize_command " @OUTPUT@"
+         ;;
+       esac
+
+       case $prev in
+       dlfiles|dlprefiles)
+         if test "$preload" = no; then
+           # Add the symbol object into the linking commands.
+           func_append compile_command " @SYMFILE@"
+           func_append finalize_command " @SYMFILE@"
+           preload=yes
+         fi
+         case $arg in
+         *.la | *.lo) ;;  # We handle these cases below.
+         force)
+           if test "$dlself" = no; then
+             dlself=needless
+             export_dynamic=yes
+           fi
+           prev=
+           continue
+           ;;
+         self)
+           if test "$prev" = dlprefiles; then
+             dlself=yes
+           elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+             dlself=yes
+           else
+             dlself=needless
+             export_dynamic=yes
+           fi
+           prev=
+           continue
+           ;;
+         *)
+           if test "$prev" = dlfiles; then
+             dlfiles="$dlfiles $arg"
+           else
+             dlprefiles="$dlprefiles $arg"
+           fi
+           prev=
+           continue
+           ;;
+         esac
+         ;;
+       expsyms)
+         export_symbols="$arg"
+         test -f "$arg" \
+           || func_fatal_error "symbol file \`$arg' does not exist"
+         prev=
+         continue
+         ;;
+       expsyms_regex)
+         export_symbols_regex="$arg"
+         prev=
+         continue
+         ;;
+       framework)
+         case $host in
+           *-*-darwin*)
+             case "$deplibs " in
+               *" $qarg.ltframework "*) ;;
+               *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+                  ;;
+             esac
+             ;;
+         esac
+         prev=
+         continue
+         ;;
+       inst_prefix)
+         inst_prefix_dir="$arg"
+         prev=
+         continue
+         ;;
+       objectlist)
+         if test -f "$arg"; then
+           save_arg=$arg
+           moreargs=
+           for fil in `cat "$save_arg"`
+           do
+#            moreargs="$moreargs $fil"
+             arg=$fil
+             # A libtool-controlled object.
+
+             # Check to see that this really is a libtool object.
+             if func_lalib_unsafe_p "$arg"; then
+               pic_object=
+               non_pic_object=
+
+               # Read the .lo file
+               func_source "$arg"
+
+               if test -z "$pic_object" ||
+                  test -z "$non_pic_object" ||
+                  test "$pic_object" = none &&
+                  test "$non_pic_object" = none; then
+                 func_fatal_error "cannot find name of object for \`$arg'"
+               fi
+
+               # Extract subdirectory from the argument.
+               func_dirname "$arg" "/" ""
+               xdir="$func_dirname_result"
+
+               if test "$pic_object" != none; then
+                 # Prepend the subdirectory the object is found in.
+                 pic_object="$xdir$pic_object"
+
+                 if test "$prev" = dlfiles; then
+                   if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+                     dlfiles="$dlfiles $pic_object"
+                     prev=
+                     continue
+                   else
+                     # If libtool objects are unsupported, then we need to preload.
+                     prev=dlprefiles
+                   fi
+                 fi
+
+                 # CHECK ME:  I think I busted this.  -Ossama
+                 if test "$prev" = dlprefiles; then
+                   # Preload the old-style object.
+                   dlprefiles="$dlprefiles $pic_object"
+                   prev=
+                 fi
+
+                 # A PIC object.
+                 func_append libobjs " $pic_object"
+                 arg="$pic_object"
+               fi
+
+               # Non-PIC object.
+               if test "$non_pic_object" != none; then
+                 # Prepend the subdirectory the object is found in.
+                 non_pic_object="$xdir$non_pic_object"
+
+                 # A standard non-PIC object
+                 func_append non_pic_objects " $non_pic_object"
+                 if test -z "$pic_object" || test "$pic_object" = none ; then
+                   arg="$non_pic_object"
+                 fi
+               else
+                 # If the PIC object exists, use it instead.
+                 # $xdir was prepended to $pic_object above.
+                 non_pic_object="$pic_object"
+                 func_append non_pic_objects " $non_pic_object"
+               fi
+             else
+               # Only an error if not doing a dry-run.
+               if $opt_dry_run; then
+                 # Extract subdirectory from the argument.
+                 func_dirname "$arg" "/" ""
+                 xdir="$func_dirname_result"
+
+                 func_lo2o "$arg"
+                 pic_object=$xdir$objdir/$func_lo2o_result
+                 non_pic_object=$xdir$func_lo2o_result
+                 func_append libobjs " $pic_object"
+                 func_append non_pic_objects " $non_pic_object"
+               else
+                 func_fatal_error "\`$arg' is not a valid libtool object"
+               fi
+             fi
+           done
+         else
+           func_fatal_error "link input file \`$arg' does not exist"
+         fi
+         arg=$save_arg
+         prev=
+         continue
+         ;;
+       precious_regex)
+         precious_files_regex="$arg"
+         prev=
+         continue
+         ;;
+       release)
+         release="-$arg"
+         prev=
+         continue
+         ;;
+       rpath | xrpath)
+         # We need an absolute path.
+         case $arg in
+         [\\/]* | [A-Za-z]:[\\/]*) ;;
+         *)
+           func_fatal_error "only absolute run-paths are allowed"
+           ;;
+         esac
+         if test "$prev" = rpath; then
+           case "$rpath " in
+           *" $arg "*) ;;
+           *) rpath="$rpath $arg" ;;
+           esac
+         else
+           case "$xrpath " in
+           *" $arg "*) ;;
+           *) xrpath="$xrpath $arg" ;;
+           esac
+         fi
+         prev=
+         continue
+         ;;
+       shrext)
+         shrext_cmds="$arg"
+         prev=
+         continue
+         ;;
+       weak)
+         weak_libs="$weak_libs $arg"
+         prev=
+         continue
+         ;;
+       xcclinker)
+         linker_flags="$linker_flags $qarg"
+         compiler_flags="$compiler_flags $qarg"
+         prev=
+         func_append compile_command " $qarg"
+         func_append finalize_command " $qarg"
+         continue
+         ;;
+       xcompiler)
+         compiler_flags="$compiler_flags $qarg"
+         prev=
+         func_append compile_command " $qarg"
+         func_append finalize_command " $qarg"
+         continue
+         ;;
+       xlinker)
+         linker_flags="$linker_flags $qarg"
+         compiler_flags="$compiler_flags $wl$qarg"
+         prev=
+         func_append compile_command " $wl$qarg"
+         func_append finalize_command " $wl$qarg"
+         continue
+         ;;
+       *)
+         eval "$prev=\"\$arg\""
+         prev=
+         continue
+         ;;
+       esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+       if test -n "$link_static_flag"; then
+         # See comment for -static flag below, for more details.
+         func_append compile_command " $link_static_flag"
+         func_append finalize_command " $link_static_flag"
+       fi
+       continue
+       ;;
+
+      -allow-undefined)
+       # FIXME: remove this flag sometime in the future.
+       func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+       ;;
+
+      -avoid-version)
+       avoid_version=yes
+       continue
+       ;;
+
+      -dlopen)
+       prev=dlfiles
+       continue
+       ;;
+
+      -dlpreopen)
+       prev=dlprefiles
+       continue
+       ;;
+
+      -export-dynamic)
+       export_dynamic=yes
+       continue
+       ;;
+
+      -export-symbols | -export-symbols-regex)
+       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+         func_fatal_error "more than one -exported-symbols argument is not allowed"
+       fi
+       if test "X$arg" = "X-export-symbols"; then
+         prev=expsyms
+       else
+         prev=expsyms_regex
+       fi
+       continue
+       ;;
+
+      -framework)
+       prev=framework
+       continue
+       ;;
+
+      -inst-prefix-dir)
+       prev=inst_prefix
+       continue
+       ;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+       case $with_gcc/$host in
+       no/*-*-irix* | /*-*-irix*)
+         func_append compile_command " $arg"
+         func_append finalize_command " $arg"
+         ;;
+       esac
+       continue
+       ;;
+
+      -L*)
+       func_stripname '-L' '' "$arg"
+       dir=$func_stripname_result
+       if test -z "$dir"; then
+         if test "$#" -gt 0; then
+           func_fatal_error "require no space between \`-L' and \`$1'"
+         else
+           func_fatal_error "need path for \`-L' option"
+         fi
+       fi
+       # We need an absolute path.
+       case $dir in
+       [\\/]* | [A-Za-z]:[\\/]*) ;;
+       *)
+         absdir=`cd "$dir" && pwd`
+         test -z "$absdir" && \
+           func_fatal_error "cannot determine absolute directory name of \`$dir'"
+         dir="$absdir"
+         ;;
+       esac
+       case "$deplibs " in
+       *" -L$dir "*) ;;
+       *)
+         deplibs="$deplibs -L$dir"
+         lib_search_path="$lib_search_path $dir"
+         ;;
+       esac
+       case $host in
+       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+         testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+         case :$dllsearchpath: in
+         *":$dir:"*) ;;
+         ::) dllsearchpath=$dir;;
+         *) dllsearchpath="$dllsearchpath:$dir";;
+         esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         ::) dllsearchpath=$testbindir;;
+         *) dllsearchpath="$dllsearchpath:$testbindir";;
+         esac
+         ;;
+       esac
+       continue
+       ;;
+
+      -l*)
+       if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+         case $host in
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+           # These systems don't actually have a C or math library (as such)
+           continue
+           ;;
+         *-*-os2*)
+           # These systems don't actually have a C library (as such)
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+           # Do not include libc due to us having libc/libc_r.
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-rhapsody* | *-*-darwin1.[012])
+           # Rhapsody C and math libraries are in the System framework
+           deplibs="$deplibs System.ltframework"
+           continue
+           ;;
+         *-*-sco3.2v5* | *-*-sco5v6*)
+           # Causes problems with __ctype
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+           # Compiler inserts libc in the correct place for threads to work
+           test "X$arg" = "X-lc" && continue
+           ;;
+         esac
+       elif test "X$arg" = "X-lc_r"; then
+        case $host in
+        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+          # Do not include libc_r directly, use -pthread flag.
+          continue
+          ;;
+        esac
+       fi
+       deplibs="$deplibs $arg"
+       continue
+       ;;
+
+      -module)
+       module=yes
+       continue
+       ;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      # Darwin uses the -arch flag to determine output architecture.
+      -model|-arch|-isysroot)
+       compiler_flags="$compiler_flags $arg"
+       func_append compile_command " $arg"
+       func_append finalize_command " $arg"
+       prev=xcompiler
+       continue
+       ;;
+
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+       compiler_flags="$compiler_flags $arg"
+       func_append compile_command " $arg"
+       func_append finalize_command " $arg"
+       case "$new_inherited_linker_flags " in
+           *" $arg "*) ;;
+           * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+       esac
+       continue
+       ;;
+
+      -multi_module)
+       single_module="${wl}-multi_module"
+       continue
+       ;;
+
+      -no-fast-install)
+       fast_install=no
+       continue
+       ;;
+
+      -no-install)
+       case $host in
+       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+         # The PATH hackery in wrapper scripts is required on Windows
+         # and Darwin in order for the loader to find any dlls it needs.
+         func_warning "\`-no-install' is ignored for $host"
+         func_warning "assuming \`-no-fast-install' instead"
+         fast_install=no
+         ;;
+       *) no_install=yes ;;
+       esac
+       continue
+       ;;
+
+      -no-undefined)
+       allow_undefined=no
+       continue
+       ;;
+
+      -objectlist)
+       prev=objectlist
+       continue
+       ;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+       prev=precious_regex
+       continue
+       ;;
+
+      -release)
+       prev=release
+       continue
+       ;;
+
+      -rpath)
+       prev=rpath
+       continue
+       ;;
+
+      -R)
+       prev=xrpath
+       continue
+       ;;
+
+      -R*)
+       func_stripname '-R' '' "$arg"
+       dir=$func_stripname_result
+       # We need an absolute path.
+       case $dir in
+       [\\/]* | [A-Za-z]:[\\/]*) ;;
+       *)
+         func_fatal_error "only absolute run-paths are allowed"
+         ;;
+       esac
+       case "$xrpath " in
+       *" $dir "*) ;;
+       *) xrpath="$xrpath $dir" ;;
+       esac
+       continue
+       ;;
+
+      -shared)
+       # The effects of -shared are defined in a previous loop.
+       continue
+       ;;
+
+      -shrext)
+       prev=shrext
+       continue
+       ;;
+
+      -static | -static-libtool-libs)
+       # The effects of -static are defined in a previous loop.
+       # We used to do the same as -all-static on platforms that
+       # didn't have a PIC flag, but the assumption that the effects
+       # would be equivalent was wrong.  It would break on at least
+       # Digital Unix and AIX.
+       continue
+       ;;
+
+      -thread-safe)
+       thread_safe=yes
+       continue
+       ;;
+
+      -version-info)
+       prev=vinfo
+       continue
+       ;;
+
+      -version-number)
+       prev=vinfo
+       vinfo_number=yes
+       continue
+       ;;
+
+      -weak)
+        prev=weak
+       continue
+       ;;
+
+      -Wc,*)
+       func_stripname '-Wc,' '' "$arg"
+       args=$func_stripname_result
+       arg=
+       save_ifs="$IFS"; IFS=','
+       for flag in $args; do
+         IFS="$save_ifs"
+          func_quote_for_eval "$flag"
+         arg="$arg $wl$func_quote_for_eval_result"
+         compiler_flags="$compiler_flags $func_quote_for_eval_result"
+       done
+       IFS="$save_ifs"
+       func_stripname ' ' '' "$arg"
+       arg=$func_stripname_result
+       ;;
+
+      -Wl,*)
+       func_stripname '-Wl,' '' "$arg"
+       args=$func_stripname_result
+       arg=
+       save_ifs="$IFS"; IFS=','
+       for flag in $args; do
+         IFS="$save_ifs"
+          func_quote_for_eval "$flag"
+         arg="$arg $wl$func_quote_for_eval_result"
+         compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+         linker_flags="$linker_flags $func_quote_for_eval_result"
+       done
+       IFS="$save_ifs"
+       func_stripname ' ' '' "$arg"
+       arg=$func_stripname_result
+       ;;
+
+      -Xcompiler)
+       prev=xcompiler
+       continue
+       ;;
+
+      -Xlinker)
+       prev=xlinker
+       continue
+       ;;
+
+      -XCClinker)
+       prev=xcclinker
+       continue
+       ;;
+
+      # -msg_* for osf cc
+      -msg_*)
+       func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+       ;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -F/path gives path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+        func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+        func_append compile_command " $arg"
+        func_append finalize_command " $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      # Some other compiler flag.
+      -* | +*)
+        func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+       ;;
+
+      *.$objext)
+       # A standard object.
+       objs="$objs $arg"
+       ;;
+
+      *.lo)
+       # A libtool-controlled object.
+
+       # Check to see that this really is a libtool object.
+       if func_lalib_unsafe_p "$arg"; then
+         pic_object=
+         non_pic_object=
+
+         # Read the .lo file
+         func_source "$arg"
+
+         if test -z "$pic_object" ||
+            test -z "$non_pic_object" ||
+            test "$pic_object" = none &&
+            test "$non_pic_object" = none; then
+           func_fatal_error "cannot find name of object for \`$arg'"
+         fi
+
+         # Extract subdirectory from the argument.
+         func_dirname "$arg" "/" ""
+         xdir="$func_dirname_result"
+
+         if test "$pic_object" != none; then
+           # Prepend the subdirectory the object is found in.
+           pic_object="$xdir$pic_object"
+
+           if test "$prev" = dlfiles; then
+             if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+               dlfiles="$dlfiles $pic_object"
+               prev=
+               continue
+             else
+               # If libtool objects are unsupported, then we need to preload.
+               prev=dlprefiles
+             fi
+           fi
+
+           # CHECK ME:  I think I busted this.  -Ossama
+           if test "$prev" = dlprefiles; then
+             # Preload the old-style object.
+             dlprefiles="$dlprefiles $pic_object"
+             prev=
+           fi
+
+           # A PIC object.
+           func_append libobjs " $pic_object"
+           arg="$pic_object"
+         fi
+
+         # Non-PIC object.
+         if test "$non_pic_object" != none; then
+           # Prepend the subdirectory the object is found in.
+           non_pic_object="$xdir$non_pic_object"
+
+           # A standard non-PIC object
+           func_append non_pic_objects " $non_pic_object"
+           if test -z "$pic_object" || test "$pic_object" = none ; then
+             arg="$non_pic_object"
+           fi
+         else
+           # If the PIC object exists, use it instead.
+           # $xdir was prepended to $pic_object above.
+           non_pic_object="$pic_object"
+           func_append non_pic_objects " $non_pic_object"
+         fi
+       else
+         # Only an error if not doing a dry-run.
+         if $opt_dry_run; then
+           # Extract subdirectory from the argument.
+           func_dirname "$arg" "/" ""
+           xdir="$func_dirname_result"
+
+           func_lo2o "$arg"
+           pic_object=$xdir$objdir/$func_lo2o_result
+           non_pic_object=$xdir$func_lo2o_result
+           func_append libobjs " $pic_object"
+           func_append non_pic_objects " $non_pic_object"
+         else
+           func_fatal_error "\`$arg' is not a valid libtool object"
+         fi
+       fi
+       ;;
+
+      *.$libext)
+       # An archive.
+       deplibs="$deplibs $arg"
+       old_deplibs="$old_deplibs $arg"
+       continue
+       ;;
+
+      *.la)
+       # A libtool-controlled library.
+
+       if test "$prev" = dlfiles; then
+         # This library was specified with -dlopen.
+         dlfiles="$dlfiles $arg"
+         prev=
+       elif test "$prev" = dlprefiles; then
+         # The library was specified with -dlpreopen.
+         dlprefiles="$dlprefiles $arg"
+         prev=
+       else
+         deplibs="$deplibs $arg"
+       fi
+       continue
+       ;;
+
+      # Some other compiler argument.
+      *)
+       # Unknown arguments in both finalize_command and compile_command need
+       # to be aesthetically quoted because they are evaled later.
+       func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+       ;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+       func_append compile_command " $arg"
+       func_append finalize_command " $arg"
+      fi
+    done # argument parsing loop
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prevarg' option requires an argument"
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      func_append compile_command " $arg"
+      func_append finalize_command " $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    func_basename "$output"
+    outputname="$func_basename_result"
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    func_dirname "$output" "/" ""
+    output_objdir="$func_dirname_result$objdir"
+    # Create the object directory.
+    func_mkdir_p "$output_objdir"
+
+    # Determine the type of output
+    case $output in
+    "")
+      func_fatal_help "you must specify an output file"
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if $opt_duplicate_deps ; then
+       case "$libs " in
+       *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+       esac
+      fi
+      libs="$libs $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if $opt_duplicate_compiler_generated_deps; then
+       for pre_post_dep in $predeps $postdeps; do
+         case "$pre_post_deps " in
+         *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+         esac
+         pre_post_deps="$pre_post_deps $pre_post_dep"
+       done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    notinst_path= # paths that contain not-installed libtool libraries
+
+    case $linkmode in
+    lib)
+       passes="conv dlpreopen link"
+       for file in $dlfiles $dlprefiles; do
+         case $file in
+         *.la) ;;
+         *)
+           func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+           ;;
+         esac
+       done
+       ;;
+    prog)
+       compile_deplibs=
+       finalize_deplibs=
+       alldeplibs=no
+       newdlfiles=
+       newdlprefiles=
+       passes="conv scan dlopen dlpreopen link"
+       ;;
+    *)  passes="conv"
+       ;;
+    esac
+
+    for pass in $passes; do
+      # The preopen pass in lib mode reverses $deplibs; put it back here
+      # so that -L comes before libs that need it for instance...
+      if test "$linkmode,$pass" = "lib,link"; then
+       ## FIXME: Find the place where the list is rebuilt in the wrong
+       ##        order, and fix it there properly
+        tmp_deplibs=
+       for deplib in $deplibs; do
+         tmp_deplibs="$deplib $tmp_deplibs"
+       done
+       deplibs="$tmp_deplibs"
+      fi
+
+      if test "$linkmode,$pass" = "lib,link" ||
+        test "$linkmode,$pass" = "prog,scan"; then
+       libs="$deplibs"
+       deplibs=
+      fi
+      if test "$linkmode" = prog; then
+       case $pass in
+       dlopen) libs="$dlfiles" ;;
+       dlpreopen) libs="$dlprefiles" ;;
+       link)
+         libs="$deplibs %DEPLIBS%"
+         test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+         ;;
+       esac
+      fi
+      if test "$linkmode,$pass" = "lib,dlpreopen"; then
+       # Collect and forward deplibs of preopened libtool libs
+       for lib in $dlprefiles; do
+         # Ignore non-libtool-libs
+         dependency_libs=
+         case $lib in
+         *.la) func_source "$lib" ;;
+         esac
+
+         # Collect preopened libtool deplibs, except any this library
+         # has declared as weak libs
+         for deplib in $dependency_libs; do
+            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+           case " $weak_libs " in
+           *" $deplib_base "*) ;;
+           *) deplibs="$deplibs $deplib" ;;
+           esac
+         done
+       done
+       libs="$dlprefiles"
+      fi
+      if test "$pass" = dlopen; then
+       # Collect dlpreopened libraries
+       save_deplibs="$deplibs"
+       deplibs=
+      fi
+
+      for deplib in $libs; do
+       lib=
+       found=no
+       case $deplib in
+       -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+         if test "$linkmode,$pass" = "prog,link"; then
+           compile_deplibs="$deplib $compile_deplibs"
+           finalize_deplibs="$deplib $finalize_deplibs"
+         else
+           compiler_flags="$compiler_flags $deplib"
+           if test "$linkmode" = lib ; then
+               case "$new_inherited_linker_flags " in
+                   *" $deplib "*) ;;
+                   * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+               esac
+           fi
+         fi
+         continue
+         ;;
+       -l*)
+         if test "$linkmode" != lib && test "$linkmode" != prog; then
+           func_warning "\`-l' is ignored for archives/objects"
+           continue
+         fi
+         func_stripname '-l' '' "$deplib"
+         name=$func_stripname_result
+         if test "$linkmode" = lib; then
+           searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+         else
+           searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+         fi
+         for searchdir in $searchdirs; do
+           for search_ext in .la $std_shrext .so .a; do
+             # Search the libtool library
+             lib="$searchdir/lib${name}${search_ext}"
+             if test -f "$lib"; then
+               if test "$search_ext" = ".la"; then
+                 found=yes
+               else
+                 found=no
+               fi
+               break 2
+             fi
+           done
+         done
+         if test "$found" != yes; then
+           # deplib doesn't seem to be a libtool library
+           if test "$linkmode,$pass" = "prog,link"; then
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           else
+             deplibs="$deplib $deplibs"
+             test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+           fi
+           continue
+         else # deplib is a libtool library
+           # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+           # We need to do some special things here, and not later.
+           if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+             case " $predeps $postdeps " in
+             *" $deplib "*)
+               if func_lalib_p "$lib"; then
+                 library_names=
+                 old_library=
+                 func_source "$lib"
+                 for l in $old_library $library_names; do
+                   ll="$l"
+                 done
+                 if test "X$ll" = "X$old_library" ; then # only static version available
+                   found=no
+                   func_dirname "$lib" "" "."
+                   ladir="$func_dirname_result"
+                   lib=$ladir/$old_library
+                   if test "$linkmode,$pass" = "prog,link"; then
+                     compile_deplibs="$deplib $compile_deplibs"
+                     finalize_deplibs="$deplib $finalize_deplibs"
+                   else
+                     deplibs="$deplib $deplibs"
+                     test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+                   fi
+                   continue
+                 fi
+               fi
+               ;;
+             *) ;;
+             esac
+           fi
+         fi
+         ;; # -l
+       *.ltframework)
+         if test "$linkmode,$pass" = "prog,link"; then
+           compile_deplibs="$deplib $compile_deplibs"
+           finalize_deplibs="$deplib $finalize_deplibs"
+         else
+           deplibs="$deplib $deplibs"
+           if test "$linkmode" = lib ; then
+               case "$new_inherited_linker_flags " in
+                   *" $deplib "*) ;;
+                   * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+               esac
+           fi
+         fi
+         continue
+         ;;
+       -L*)
+         case $linkmode in
+         lib)
+           deplibs="$deplib $deplibs"
+           test "$pass" = conv && continue
+           newdependency_libs="$deplib $newdependency_libs"
+           func_stripname '-L' '' "$deplib"
+           newlib_search_path="$newlib_search_path $func_stripname_result"
+           ;;
+         prog)
+           if test "$pass" = conv; then
+             deplibs="$deplib $deplibs"
+             continue
+           fi
+           if test "$pass" = scan; then
+             deplibs="$deplib $deplibs"
+           else
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           fi
+           func_stripname '-L' '' "$deplib"
+           newlib_search_path="$newlib_search_path $func_stripname_result"
+           ;;
+         *)
+           func_warning "\`-L' is ignored for archives/objects"
+           ;;
+         esac # linkmode
+         continue
+         ;; # -L
+       -R*)
+         if test "$pass" = link; then
+           func_stripname '-R' '' "$deplib"
+           dir=$func_stripname_result
+           # Make sure the xrpath contains only unique directories.
+           case "$xrpath " in
+           *" $dir "*) ;;
+           *) xrpath="$xrpath $dir" ;;
+           esac
+         fi
+         deplibs="$deplib $deplibs"
+         continue
+         ;;
+       *.la) lib="$deplib" ;;
+       *.$libext)
+         if test "$pass" = conv; then
+           deplibs="$deplib $deplibs"
+           continue
+         fi
+         case $linkmode in
+         lib)
+           # Linking convenience modules into shared libraries is allowed,
+           # but linking other static libraries is non-portable.
+           case " $dlpreconveniencelibs " in
+           *" $deplib "*) ;;
+           *)
+             valid_a_lib=no
+             case $deplibs_check_method in
+               match_pattern*)
+                 set dummy $deplibs_check_method; shift
+                 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+                 if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+                   | $EGREP "$match_pattern_regex" > /dev/null; then
+                   valid_a_lib=yes
+                 fi
+               ;;
+               pass_all)
+                 valid_a_lib=yes
+               ;;
+             esac
+             if test "$valid_a_lib" != yes; then
+               $ECHO
+               $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+               $ECHO "*** I have the capability to make that library automatically link in when"
+               $ECHO "*** you link to this library.  But I can only do this if you have a"
+               $ECHO "*** shared version of the library, which you do not appear to have"
+               $ECHO "*** because the file extensions .$libext of this argument makes me believe"
+               $ECHO "*** that it is just a static archive that I should not use here."
+             else
+               $ECHO
+               $ECHO "*** Warning: Linking the shared library $output against the"
+               $ECHO "*** static library $deplib is not portable!"
+               deplibs="$deplib $deplibs"
+             fi
+             ;;
+           esac
+           continue
+           ;;
+         prog)
+           if test "$pass" != link; then
+             deplibs="$deplib $deplibs"
+           else
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           fi
+           continue
+           ;;
+         esac # linkmode
+         ;; # *.$libext
+       *.lo | *.$objext)
+         if test "$pass" = conv; then
+           deplibs="$deplib $deplibs"
+         elif test "$linkmode" = prog; then
+           if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+             # If there is no dlopen support or we're linking statically,
+             # we need to preload.
+             newdlprefiles="$newdlprefiles $deplib"
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           else
+             newdlfiles="$newdlfiles $deplib"
+           fi
+         fi
+         continue
+         ;;
+       %DEPLIBS%)
+         alldeplibs=yes
+         continue
+         ;;
+       esac # case $deplib
+
+       if test "$found" = yes || test -f "$lib"; then :
+       else
+         func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+       fi
+
+       # Check to see that this really is a libtool archive.
+       func_lalib_unsafe_p "$lib" \
+         || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+       func_dirname "$lib" "" "."
+       ladir="$func_dirname_result"
+
+       dlname=
+       dlopen=
+       dlpreopen=
+       libdir=
+       library_names=
+       old_library=
+       inherited_linker_flags=
+       # If the library was installed with an old release of libtool,
+       # it will not redefine variables installed, or shouldnotlink
+       installed=yes
+       shouldnotlink=no
+       avoidtemprpath=
+
+
+       # Read the .la file
+       func_source "$lib"
+
+       # Convert "-framework foo" to "foo.ltframework"
+       if test -n "$inherited_linker_flags"; then
+         tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+         for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+           case " $new_inherited_linker_flags " in
+             *" $tmp_inherited_linker_flag "*) ;;
+             *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+           esac
+         done
+       fi
+       dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       if test "$linkmode,$pass" = "lib,link" ||
+          test "$linkmode,$pass" = "prog,scan" ||
+          { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+         test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+         test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+       fi
+
+       if test "$pass" = conv; then
+         # Only check for convenience libraries
+         deplibs="$lib $deplibs"
+         if test -z "$libdir"; then
+           if test -z "$old_library"; then
+             func_fatal_error "cannot find name of link library for \`$lib'"
+           fi
+           # It is a libtool convenience library, so add in its objects.
+           convenience="$convenience $ladir/$objdir/$old_library"
+           old_convenience="$old_convenience $ladir/$objdir/$old_library"
+           tmp_libs=
+           for deplib in $dependency_libs; do
+             deplibs="$deplib $deplibs"
+             if $opt_duplicate_deps ; then
+               case "$tmp_libs " in
+               *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+               esac
+             fi
+             tmp_libs="$tmp_libs $deplib"
+           done
+         elif test "$linkmode" != prog && test "$linkmode" != lib; then
+           func_fatal_error "\`$lib' is not a convenience library"
+         fi
+         continue
+       fi # $pass = conv
+
+
+       # Get the name of the library we link against.
+       linklib=
+       for l in $old_library $library_names; do
+         linklib="$l"
+       done
+       if test -z "$linklib"; then
+         func_fatal_error "cannot find name of link library for \`$lib'"
+       fi
+
+       # This library was specified with -dlopen.
+       if test "$pass" = dlopen; then
+         if test -z "$libdir"; then
+           func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+         fi
+         if test -z "$dlname" ||
+            test "$dlopen_support" != yes ||
+            test "$build_libtool_libs" = no; then
+           # If there is no dlname, no dlopen support or we're linking
+           # statically, we need to preload.  We also need to preload any
+           # dependent libraries so libltdl's deplib preloader doesn't
+           # bomb out in the load deplibs phase.
+           dlprefiles="$dlprefiles $lib $dependency_libs"
+         else
+           newdlfiles="$newdlfiles $lib"
+         fi
+         continue
+       fi # $pass = dlopen
+
+       # We need an absolute path.
+       case $ladir in
+       [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+       *)
+         abs_ladir=`cd "$ladir" && pwd`
+         if test -z "$abs_ladir"; then
+           func_warning "cannot determine absolute directory name of \`$ladir'"
+           func_warning "passing it literally to the linker, although it might fail"
+           abs_ladir="$ladir"
+         fi
+         ;;
+       esac
+       func_basename "$lib"
+       laname="$func_basename_result"
+
+       # Find the relevant object directory and library name.
+       if test "X$installed" = Xyes; then
+         if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+           func_warning "library \`$lib' was moved."
+           dir="$ladir"
+           absdir="$abs_ladir"
+           libdir="$abs_ladir"
+         else
+           dir="$libdir"
+           absdir="$libdir"
+         fi
+         test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+       else
+         if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+           dir="$ladir"
+           absdir="$abs_ladir"
+           # Remove this search path later
+           notinst_path="$notinst_path $abs_ladir"
+         else
+           dir="$ladir/$objdir"
+           absdir="$abs_ladir/$objdir"
+           # Remove this search path later
+           notinst_path="$notinst_path $abs_ladir"
+         fi
+       fi # $installed = yes
+       func_stripname 'lib' '.la' "$laname"
+       name=$func_stripname_result
+
+       # This library was specified with -dlpreopen.
+       if test "$pass" = dlpreopen; then
+         if test -z "$libdir" && test "$linkmode" = prog; then
+           func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+         fi
+         # Prefer using a static library (so that no silly _DYNAMIC symbols
+         # are required to link).
+         if test -n "$old_library"; then
+           newdlprefiles="$newdlprefiles $dir/$old_library"
+           # Keep a list of preopened convenience libraries to check
+           # that they are being used correctly in the link pass.
+           test -z "$libdir" && \
+               dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
+         # Otherwise, use the dlname, so that lt_dlopen finds it.
+         elif test -n "$dlname"; then
+           newdlprefiles="$newdlprefiles $dir/$dlname"
+         else
+           newdlprefiles="$newdlprefiles $dir/$linklib"
+         fi
+       fi # $pass = dlpreopen
+
+       if test -z "$libdir"; then
+         # Link the convenience library
+         if test "$linkmode" = lib; then
+           deplibs="$dir/$old_library $deplibs"
+         elif test "$linkmode,$pass" = "prog,link"; then
+           compile_deplibs="$dir/$old_library $compile_deplibs"
+           finalize_deplibs="$dir/$old_library $finalize_deplibs"
+         else
+           deplibs="$lib $deplibs" # used for prog,scan pass
+         fi
+         continue
+       fi
+
+
+       if test "$linkmode" = prog && test "$pass" != link; then
+         newlib_search_path="$newlib_search_path $ladir"
+         deplibs="$lib $deplibs"
+
+         linkalldeplibs=no
+         if test "$link_all_deplibs" != no || test -z "$library_names" ||
+            test "$build_libtool_libs" = no; then
+           linkalldeplibs=yes
+         fi
+
+         tmp_libs=
+         for deplib in $dependency_libs; do
+           case $deplib in
+           -L*) func_stripname '-L' '' "$deplib"
+                newlib_search_path="$newlib_search_path $func_stripname_result"
+                ;;
+           esac
+           # Need to link against all dependency_libs?
+           if test "$linkalldeplibs" = yes; then
+             deplibs="$deplib $deplibs"
+           else
+             # Need to hardcode shared library paths
+             # or/and link against static libraries
+             newdependency_libs="$deplib $newdependency_libs"
+           fi
+           if $opt_duplicate_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+             esac
+           fi
+           tmp_libs="$tmp_libs $deplib"
+         done # for deplib
+         continue
+       fi # $linkmode = prog...
+
+       if test "$linkmode,$pass" = "prog,link"; then
+         if test -n "$library_names" &&
+            { { test "$prefer_static_libs" = no ||
+                test "$prefer_static_libs,$installed" = "built,yes"; } ||
+              test -z "$old_library"; }; then
+           # We need to hardcode the library path
+           if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+             # Make sure the rpath contains only unique directories.
+             case "$temp_rpath:" in
+             *"$absdir:"*) ;;
+             *) temp_rpath="$temp_rpath$absdir:" ;;
+             esac
+           fi
+
+           # Hardcode the library path.
+           # Skip directories that are in the system default run-time
+           # search path.
+           case " $sys_lib_dlsearch_path " in
+           *" $absdir "*) ;;
+           *)
+             case "$compile_rpath " in
+             *" $absdir "*) ;;
+             *) compile_rpath="$compile_rpath $absdir"
+             esac
+             ;;
+           esac
+           case " $sys_lib_dlsearch_path " in
+           *" $libdir "*) ;;
+           *)
+             case "$finalize_rpath " in
+             *" $libdir "*) ;;
+             *) finalize_rpath="$finalize_rpath $libdir"
+             esac
+             ;;
+           esac
+         fi # $linkmode,$pass = prog,link...
+
+         if test "$alldeplibs" = yes &&
+            { test "$deplibs_check_method" = pass_all ||
+              { test "$build_libtool_libs" = yes &&
+                test -n "$library_names"; }; }; then
+           # We only need to search for static libraries
+           continue
+         fi
+       fi
+
+       link_static=no # Whether the deplib will be linked statically
+       use_static_libs=$prefer_static_libs
+       if test "$use_static_libs" = built && test "$installed" = yes; then
+         use_static_libs=no
+       fi
+       if test -n "$library_names" &&
+          { test "$use_static_libs" = no || test -z "$old_library"; }; then
+         case $host in
+         *cygwin* | *mingw* | *cegcc*)
+             # No point in relinking DLLs because paths are not encoded
+             notinst_deplibs="$notinst_deplibs $lib"
+             need_relink=no
+           ;;
+         *)
+           if test "$installed" = no; then
+             notinst_deplibs="$notinst_deplibs $lib"
+             need_relink=yes
+           fi
+           ;;
+         esac
+         # This is a shared library
+
+         # Warn about portability, can't link against -module's on some
+         # systems (darwin).  Don't bleat about dlopened modules though!
+         dlopenmodule=""
+         for dlpremoduletest in $dlprefiles; do
+           if test "X$dlpremoduletest" = "X$lib"; then
+             dlopenmodule="$dlpremoduletest"
+             break
+           fi
+         done
+         if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+           $ECHO
+           if test "$linkmode" = prog; then
+             $ECHO "*** Warning: Linking the executable $output against the loadable module"
+           else
+             $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+           fi
+           $ECHO "*** $linklib is not portable!"
+         fi
+         if test "$linkmode" = lib &&
+            test "$hardcode_into_libs" = yes; then
+           # Hardcode the library path.
+           # Skip directories that are in the system default run-time
+           # search path.
+           case " $sys_lib_dlsearch_path " in
+           *" $absdir "*) ;;
+           *)
+             case "$compile_rpath " in
+             *" $absdir "*) ;;
+             *) compile_rpath="$compile_rpath $absdir"
+             esac
+             ;;
+           esac
+           case " $sys_lib_dlsearch_path " in
+           *" $libdir "*) ;;
+           *)
+             case "$finalize_rpath " in
+             *" $libdir "*) ;;
+             *) finalize_rpath="$finalize_rpath $libdir"
+             esac
+             ;;
+           esac
+         fi
+
+         if test -n "$old_archive_from_expsyms_cmds"; then
+           # figure out the soname
+           set dummy $library_names
+           shift
+           realname="$1"
+           shift
+           libname=`eval "\\$ECHO \"$libname_spec\""`
+           # use dlname if we got it. it's perfectly good, no?
+           if test -n "$dlname"; then
+             soname="$dlname"
+           elif test -n "$soname_spec"; then
+             # bleh windows
+             case $host in
+             *cygwin* | mingw* | *cegcc*)
+               func_arith $current - $age
+               major=$func_arith_result
+               versuffix="-$major"
+               ;;
+             esac
+             eval soname=\"$soname_spec\"
+           else
+             soname="$realname"
+           fi
+
+           # Make a new name for the extract_expsyms_cmds to use
+           soroot="$soname"
+           func_basename "$soroot"
+           soname="$func_basename_result"
+           func_stripname 'lib' '.dll' "$soname"
+           newlib=libimp-$func_stripname_result.a
+
+           # If the library has no export list, then create one now
+           if test -f "$output_objdir/$soname-def"; then :
+           else
+             func_verbose "extracting exported symbol list from \`$soname'"
+             func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+           fi
+
+           # Create $newlib
+           if test -f "$output_objdir/$newlib"; then :; else
+             func_verbose "generating import library for \`$soname'"
+             func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+           fi
+           # make sure the library variables are pointing to the new library
+           dir=$output_objdir
+           linklib=$newlib
+         fi # test -n "$old_archive_from_expsyms_cmds"
+
+         if test "$linkmode" = prog || test "$mode" != relink; then
+           add_shlibpath=
+           add_dir=
+           add=
+           lib_linked=yes
+           case $hardcode_action in
+           immediate | unsupported)
+             if test "$hardcode_direct" = no; then
+               add="$dir/$linklib"
+               case $host in
+                 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+                 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+                 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+                   *-*-unixware7*) add_dir="-L$dir" ;;
+                 *-*-darwin* )
+                   # if the lib is a (non-dlopened) module then we can not
+                   # link against it, someone is ignoring the earlier warnings
+                   if /usr/bin/file -L $add 2> /dev/null |
+                        $GREP ": [^:]* bundle" >/dev/null ; then
+                     if test "X$dlopenmodule" != "X$lib"; then
+                       $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+                       if test -z "$old_library" ; then
+                         $ECHO
+                         $ECHO "*** And there doesn't seem to be a static archive available"
+                         $ECHO "*** The link will probably fail, sorry"
+                       else
+                         add="$dir/$old_library"
+                       fi
+                     elif test -n "$old_library"; then
+                       add="$dir/$old_library"
+                     fi
+                   fi
+               esac
+             elif test "$hardcode_minus_L" = no; then
+               case $host in
+               *-*-sunos*) add_shlibpath="$dir" ;;
+               esac
+               add_dir="-L$dir"
+               add="-l$name"
+             elif test "$hardcode_shlibpath_var" = no; then
+               add_shlibpath="$dir"
+               add="-l$name"
+             else
+               lib_linked=no
+             fi
+             ;;
+           relink)
+             if test "$hardcode_direct" = yes &&
+                test "$hardcode_direct_absolute" = no; then
+               add="$dir/$linklib"
+             elif test "$hardcode_minus_L" = yes; then
+               add_dir="-L$dir"
+               # Try looking first in the location we're being installed to.
+               if test -n "$inst_prefix_dir"; then
+                 case $libdir in
+                   [\\/]*)
+                     add_dir="$add_dir -L$inst_prefix_dir$libdir"
+                     ;;
+                 esac
+               fi
+               add="-l$name"
+             elif test "$hardcode_shlibpath_var" = yes; then
+               add_shlibpath="$dir"
+               add="-l$name"
+             else
+               lib_linked=no
+             fi
+             ;;
+           *) lib_linked=no ;;
+           esac
+
+           if test "$lib_linked" != yes; then
+             func_fatal_configuration "unsupported hardcode properties"
+           fi
+
+           if test -n "$add_shlibpath"; then
+             case :$compile_shlibpath: in
+             *":$add_shlibpath:"*) ;;
+             *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+             esac
+           fi
+           if test "$linkmode" = prog; then
+             test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+             test -n "$add" && compile_deplibs="$add $compile_deplibs"
+           else
+             test -n "$add_dir" && deplibs="$add_dir $deplibs"
+             test -n "$add" && deplibs="$add $deplibs"
+             if test "$hardcode_direct" != yes &&
+                test "$hardcode_minus_L" != yes &&
+                test "$hardcode_shlibpath_var" = yes; then
+               case :$finalize_shlibpath: in
+               *":$libdir:"*) ;;
+               *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+               esac
+             fi
+           fi
+         fi
+
+         if test "$linkmode" = prog || test "$mode" = relink; then
+           add_shlibpath=
+           add_dir=
+           add=
+           # Finalize command for both is simple: just hardcode it.
+           if test "$hardcode_direct" = yes &&
+              test "$hardcode_direct_absolute" = no; then
+             add="$libdir/$linklib"
+           elif test "$hardcode_minus_L" = yes; then
+             add_dir="-L$libdir"
+             add="-l$name"
+           elif test "$hardcode_shlibpath_var" = yes; then
+             case :$finalize_shlibpath: in
+             *":$libdir:"*) ;;
+             *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+             esac
+             add="-l$name"
+           elif test "$hardcode_automatic" = yes; then
+             if test -n "$inst_prefix_dir" &&
+                test -f "$inst_prefix_dir$libdir/$linklib" ; then
+               add="$inst_prefix_dir$libdir/$linklib"
+             else
+               add="$libdir/$linklib"
+             fi
+           else
+             # We cannot seem to hardcode it, guess we'll fake it.
+             add_dir="-L$libdir"
+             # Try looking first in the location we're being installed to.
+             if test -n "$inst_prefix_dir"; then
+               case $libdir in
+                 [\\/]*)
+                   add_dir="$add_dir -L$inst_prefix_dir$libdir"
+                   ;;
+               esac
+             fi
+             add="-l$name"
+           fi
+
+           if test "$linkmode" = prog; then
+             test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+             test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+           else
+             test -n "$add_dir" && deplibs="$add_dir $deplibs"
+             test -n "$add" && deplibs="$add $deplibs"
+           fi
+         fi
+       elif test "$linkmode" = prog; then
+         # Here we assume that one of hardcode_direct or hardcode_minus_L
+         # is not unsupported.  This is valid on all known static and
+         # shared platforms.
+         if test "$hardcode_direct" != unsupported; then
+           test -n "$old_library" && linklib="$old_library"
+           compile_deplibs="$dir/$linklib $compile_deplibs"
+           finalize_deplibs="$dir/$linklib $finalize_deplibs"
+         else
+           compile_deplibs="-l$name -L$dir $compile_deplibs"
+           finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+         fi
+       elif test "$build_libtool_libs" = yes; then
+         # Not a shared library
+         if test "$deplibs_check_method" != pass_all; then
+           # We're trying link a shared library against a static one
+           # but the system doesn't support it.
+
+           # Just print a warning and add the library to dependency_libs so
+           # that the program can be linked against the static library.
+           $ECHO
+           $ECHO "*** Warning: This system can not link to static lib archive $lib."
+           $ECHO "*** I have the capability to make that library automatically link in when"
+           $ECHO "*** you link to this library.  But I can only do this if you have a"
+           $ECHO "*** shared version of the library, which you do not appear to have."
+           if test "$module" = yes; then
+             $ECHO "*** But as you try to build a module library, libtool will still create "
+             $ECHO "*** a static module, that should work as long as the dlopening application"
+             $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+             if test -z "$global_symbol_pipe"; then
+               $ECHO
+               $ECHO "*** However, this would only work if libtool was able to extract symbol"
+               $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+               $ECHO "*** not find such a program.  So, this module is probably useless."
+               $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+             fi
+             if test "$build_old_libs" = no; then
+               build_libtool_libs=module
+               build_old_libs=yes
+             else
+               build_libtool_libs=no
+             fi
+           fi
+         else
+           deplibs="$dir/$old_library $deplibs"
+           link_static=yes
+         fi
+       fi # link shared/static library?
+
+       if test "$linkmode" = lib; then
+         if test -n "$dependency_libs" &&
+            { test "$hardcode_into_libs" != yes ||
+              test "$build_old_libs" = yes ||
+              test "$link_static" = yes; }; then
+           # Extract -R from dependency_libs
+           temp_deplibs=
+           for libdir in $dependency_libs; do
+             case $libdir in
+             -R*) func_stripname '-R' '' "$libdir"
+                  temp_xrpath=$func_stripname_result
+                  case " $xrpath " in
+                  *" $temp_xrpath "*) ;;
+                  *) xrpath="$xrpath $temp_xrpath";;
+                  esac;;
+             *) temp_deplibs="$temp_deplibs $libdir";;
+             esac
+           done
+           dependency_libs="$temp_deplibs"
+         fi
+
+         newlib_search_path="$newlib_search_path $absdir"
+         # Link against this library
+         test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+         # ... and its dependency_libs
+         tmp_libs=
+         for deplib in $dependency_libs; do
+           newdependency_libs="$deplib $newdependency_libs"
+           if $opt_duplicate_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+             esac
+           fi
+           tmp_libs="$tmp_libs $deplib"
+         done
+
+         if test "$link_all_deplibs" != no; then
+           # Add the search paths of all dependency libraries
+           for deplib in $dependency_libs; do
+             path=
+             case $deplib in
+             -L*) path="$deplib" ;;
+             *.la)
+               func_dirname "$deplib" "" "."
+               dir="$func_dirname_result"
+               # We need an absolute path.
+               case $dir in
+               [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+               *)
+                 absdir=`cd "$dir" && pwd`
+                 if test -z "$absdir"; then
+                   func_warning "cannot determine absolute directory name of \`$dir'"
+                   absdir="$dir"
+                 fi
+                 ;;
+               esac
+               if $GREP "^installed=no" $deplib > /dev/null; then
+               case $host in
+               *-*-darwin*)
+                 depdepl=
+                 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+                 if test -n "$deplibrary_names" ; then
+                   for tmp in $deplibrary_names ; do
+                     depdepl=$tmp
+                   done
+                   if test -f "$absdir/$objdir/$depdepl" ; then
+                     depdepl="$absdir/$objdir/$depdepl"
+                     darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+                      if test -z "$darwin_install_name"; then
+                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                      fi
+                     compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+                     linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+                     path=
+                   fi
+                 fi
+                 ;;
+               *)
+                 path="-L$absdir/$objdir"
+                 ;;
+               esac
+               else
+                 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+                 test -z "$libdir" && \
+                   func_fatal_error "\`$deplib' is not a valid libtool archive"
+                 test "$absdir" != "$libdir" && \
+                   func_warning "\`$deplib' seems to be moved"
+
+                 path="-L$absdir"
+               fi
+               ;;
+             esac
+             case " $deplibs " in
+             *" $path "*) ;;
+             *) deplibs="$path $deplibs" ;;
+             esac
+           done
+         fi # link_all_deplibs != no
+       fi # linkmode = lib
+      done # for deplib in $libs
+      if test "$pass" = link; then
+       if test "$linkmode" = "prog"; then
+         compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+         finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+       else
+         compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       fi
+      fi
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+       # Link the dlpreopened libraries before other libraries
+       for deplib in $save_deplibs; do
+         deplibs="$deplib $deplibs"
+       done
+      fi
+      if test "$pass" != dlopen; then
+       if test "$pass" != conv; then
+         # Make sure lib_search_path contains only unique directories.
+         lib_search_path=
+         for dir in $newlib_search_path; do
+           case "$lib_search_path " in
+           *" $dir "*) ;;
+           *) lib_search_path="$lib_search_path $dir" ;;
+           esac
+         done
+         newlib_search_path=
+       fi
+
+       if test "$linkmode,$pass" != "prog,link"; then
+         vars="deplibs"
+       else
+         vars="compile_deplibs finalize_deplibs"
+       fi
+       for var in $vars dependency_libs; do
+         # Add libraries to $var in reverse order
+         eval tmp_libs=\"\$$var\"
+         new_libs=
+         for deplib in $tmp_libs; do
+           # FIXME: Pedantically, this is the right thing to do, so
+           #        that some nasty dependency loop isn't accidentally
+           #        broken:
+           #new_libs="$deplib $new_libs"
+           # Pragmatically, this seems to cause very few problems in
+           # practice:
+           case $deplib in
+           -L*) new_libs="$deplib $new_libs" ;;
+           -R*) ;;
+           *)
+             # And here is the reason: when a library appears more
+             # than once as an explicit dependence of a library, or
+             # is implicitly linked in more than once by the
+             # compiler, it is considered special, and multiple
+             # occurrences thereof are not removed.  Compare this
+             # with having the same library being listed as a
+             # dependency of multiple other libraries: in this case,
+             # we know (pedantically, we assume) the library does not
+             # need to be listed more than once, so we keep only the
+             # last copy.  This is not always right, but it is rare
+             # enough that we require users that really mean to play
+             # such unportable linking tricks to link the library
+             # using -Wl,-lname, so that libtool does not consider it
+             # for duplicate removal.
+             case " $specialdeplibs " in
+             *" $deplib "*) new_libs="$deplib $new_libs" ;;
+             *)
+               case " $new_libs " in
+               *" $deplib "*) ;;
+               *) new_libs="$deplib $new_libs" ;;
+               esac
+               ;;
+             esac
+             ;;
+           esac
+         done
+         tmp_libs=
+         for deplib in $new_libs; do
+           case $deplib in
+           -L*)
+             case " $tmp_libs " in
+             *" $deplib "*) ;;
+             *) tmp_libs="$tmp_libs $deplib" ;;
+             esac
+             ;;
+           *) tmp_libs="$tmp_libs $deplib" ;;
+           esac
+         done
+         eval $var=\"$tmp_libs\"
+       done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+       case " $predeps $postdeps $compiler_lib_search_path " in
+       *" $i "*)
+         i=""
+         ;;
+       esac
+       if test -n "$i" ; then
+         tmp_libs="$tmp_libs $i"
+       fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+    fi
+    if test "$linkmode" = prog || test "$linkmode" = lib; then
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       func_warning "\`-dlopen' is ignored for archives"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+       func_warning "\`-l' and \`-L' are ignored for archives" ;;
+      esac
+
+      test -n "$rpath" && \
+       func_warning "\`-rpath' is ignored for archives"
+
+      test -n "$xrpath" && \
+       func_warning "\`-R' is ignored for archives"
+
+      test -n "$vinfo" && \
+       func_warning "\`-version-info/-version-number' is ignored for archives"
+
+      test -n "$release" && \
+       func_warning "\`-release' is ignored for archives"
+
+      test -n "$export_symbols$export_symbols_regex" && \
+       func_warning "\`-export-symbols' is ignored for archives"
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+       func_stripname 'lib' '.la' "$outputname"
+       name=$func_stripname_result
+       eval shared_ext=\"$shrext_cmds\"
+       eval libname=\"$libname_spec\"
+       ;;
+      *)
+       test "$module" = no && \
+         func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+       if test "$need_lib_prefix" != no; then
+         # Add the "lib" prefix for modules if required
+         func_stripname '' '.la' "$outputname"
+         name=$func_stripname_result
+         eval shared_ext=\"$shrext_cmds\"
+         eval libname=\"$libname_spec\"
+       else
+         func_stripname '' '.la' "$outputname"
+         libname=$func_stripname_result
+       fi
+       ;;
+      esac
+
+      if test -n "$objs"; then
+       if test "$deplibs_check_method" != pass_all; then
+         func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+       else
+         $ECHO
+         $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+         $ECHO "*** objects $objs is not portable!"
+         libobjs="$libobjs $objs"
+       fi
+      fi
+
+      test "$dlself" != no && \
+       func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+      set dummy $rpath
+      shift
+      test "$#" -gt 1 && \
+       func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+      install_libdir="$1"
+
+      oldlibs=
+      if test -z "$rpath"; then
+       if test "$build_libtool_libs" = yes; then
+         # Building a libtool convenience library.
+         # Some compilers have problems with a `.al' extension so
+         # convenience libraries should have the same extension an
+         # archive normally would.
+         oldlibs="$output_objdir/$libname.$libext $oldlibs"
+         build_libtool_libs=convenience
+         build_old_libs=yes
+       fi
+
+       test -n "$vinfo" && \
+         func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+       test -n "$release" && \
+         func_warning "\`-release' is ignored for convenience libraries"
+      else
+
+       # Parse the version information argument.
+       save_ifs="$IFS"; IFS=':'
+       set dummy $vinfo 0 0 0
+       shift
+       IFS="$save_ifs"
+
+       test -n "$7" && \
+         func_fatal_help "too many parameters to \`-version-info'"
+
+       # convert absolute version numbers to libtool ages
+       # this retains compatibility with .la files and attempts
+       # to make the code below a bit more comprehensible
+
+       case $vinfo_number in
+       yes)
+         number_major="$1"
+         number_minor="$2"
+         number_revision="$3"
+         #
+         # There are really only two kinds -- those that
+         # use the current revision as the major version
+         # and those that subtract age and use age as
+         # a minor version.  But, then there is irix
+         # which has an extra 1 added just for fun
+         #
+         case $version_type in
+         darwin|linux|osf|windows|none)
+           func_arith $number_major + $number_minor
+           current=$func_arith_result
+           age="$number_minor"
+           revision="$number_revision"
+           ;;
+         freebsd-aout|freebsd-elf|sunos)
+           current="$number_major"
+           revision="$number_minor"
+           age="0"
+           ;;
+         irix|nonstopux)
+           func_arith $number_major + $number_minor
+           current=$func_arith_result
+           age="$number_minor"
+           revision="$number_minor"
+           lt_irix_increment=no
+           ;;
+         *)
+           func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+           ;;
+         esac
+         ;;
+       no)
+         current="$1"
+         revision="$2"
+         age="$3"
+         ;;
+       esac
+
+       # Check that each of the things are valid numbers.
+       case $current in
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+       *)
+         func_error "CURRENT \`$current' must be a nonnegative integer"
+         func_fatal_error "\`$vinfo' is not valid version information"
+         ;;
+       esac
+
+       case $revision in
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+       *)
+         func_error "REVISION \`$revision' must be a nonnegative integer"
+         func_fatal_error "\`$vinfo' is not valid version information"
+         ;;
+       esac
+
+       case $age in
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+       *)
+         func_error "AGE \`$age' must be a nonnegative integer"
+         func_fatal_error "\`$vinfo' is not valid version information"
+         ;;
+       esac
+
+       if test "$age" -gt "$current"; then
+         func_error "AGE \`$age' is greater than the current interface number \`$current'"
+         func_fatal_error "\`$vinfo' is not valid version information"
+       fi
+
+       # Calculate the version variables.
+       major=
+       versuffix=
+       verstring=
+       case $version_type in
+       none) ;;
+
+       darwin)
+         # Like Linux, but with the current version available in
+         # verstring for coding it into the library header
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix="$major.$age.$revision"
+         # Darwin ld doesn't like 0 for these options...
+         func_arith $current + 1
+         minor_current=$func_arith_result
+         xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+         verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+         ;;
+
+       freebsd-aout)
+         major=".$current"
+         versuffix=".$current.$revision";
+         ;;
+
+       freebsd-elf)
+         major=".$current"
+         versuffix=".$current"
+         ;;
+
+       irix | nonstopux)
+         if test "X$lt_irix_increment" = "Xno"; then
+           func_arith $current - $age
+         else
+           func_arith $current - $age + 1
+         fi
+         major=$func_arith_result
+
+         case $version_type in
+           nonstopux) verstring_prefix=nonstopux ;;
+           *)         verstring_prefix=sgi ;;
+         esac
+         verstring="$verstring_prefix$major.$revision"
+
+         # Add in all the interfaces that we are compatible with.
+         loop=$revision
+         while test "$loop" -ne 0; do
+           func_arith $revision - $loop
+           iface=$func_arith_result
+           func_arith $loop - 1
+           loop=$func_arith_result
+           verstring="$verstring_prefix$major.$iface:$verstring"
+         done
+
+         # Before this point, $major must not contain `.'.
+         major=.$major
+         versuffix="$major.$revision"
+         ;;
+
+       linux)
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix="$major.$age.$revision"
+         ;;
+
+       osf)
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix=".$current.$age.$revision"
+         verstring="$current.$age.$revision"
+
+         # Add in all the interfaces that we are compatible with.
+         loop=$age
+         while test "$loop" -ne 0; do
+           func_arith $current - $loop
+           iface=$func_arith_result
+           func_arith $loop - 1
+           loop=$func_arith_result
+           verstring="$verstring:${iface}.0"
+         done
+
+         # Make executables depend on our current version.
+         verstring="$verstring:${current}.0"
+         ;;
+
+       qnx)
+         major=".$current"
+         versuffix=".$current"
+         ;;
+
+       sunos)
+         major=".$current"
+         versuffix=".$current.$revision"
+         ;;
+
+       windows)
+         # Use '-' rather than '.', since we only want one
+         # extension on DOS 8.3 filesystems.
+         func_arith $current - $age
+         major=$func_arith_result
+         versuffix="-$major"
+         ;;
+
+       *)
+         func_fatal_configuration "unknown library version type \`$version_type'"
+         ;;
+       esac
+
+       # Clear the version info if we defaulted, and they specified a release.
+       if test -z "$vinfo" && test -n "$release"; then
+         major=
+         case $version_type in
+         darwin)
+           # we can't check for "0.0" in archive_cmds due to quoting
+           # problems, so we reset it completely
+           verstring=
+           ;;
+         *)
+           verstring="0.0"
+           ;;
+         esac
+         if test "$need_version" = no; then
+           versuffix=
+         else
+           versuffix=".0.0"
+         fi
+       fi
+
+       # Remove version info from name if versioning should be avoided
+       if test "$avoid_version" = yes && test "$need_version" = no; then
+         major=
+         versuffix=
+         verstring=""
+       fi
+
+       # Check to see if the archive will have undefined symbols.
+       if test "$allow_undefined" = yes; then
+         if test "$allow_undefined_flag" = unsupported; then
+           func_warning "undefined symbols not allowed in $host shared libraries"
+           build_libtool_libs=no
+           build_old_libs=yes
+         fi
+       else
+         # Don't allow undefined symbols.
+         allow_undefined_flag="$no_undefined_flag"
+       fi
+
+      fi
+
+      func_generate_dlsyms "$libname" "$libname" "yes"
+      libobjs="$libobjs $symfileobj"
+      test "X$libobjs" = "X " && libobjs=
+
+      if test "$mode" != relink; then
+       # Remove our outputs, but don't remove object files since they
+       # may have been created when compiling PIC objects.
+       removelist=
+       tempremovelist=`$ECHO "$output_objdir/*"`
+       for p in $tempremovelist; do
+         case $p in
+           *.$objext | *.gcno)
+              ;;
+           $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+              if test "X$precious_files_regex" != "X"; then
+                if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+                then
+                  continue
+                fi
+              fi
+              removelist="$removelist $p"
+              ;;
+           *) ;;
+         esac
+       done
+       test -n "$removelist" && \
+         func_show_eval "${RM}r \$removelist"
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+       oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+       # Transform .lo files to .o files.
+       oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      #for path in $notinst_path; do
+      #        lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+      #        deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+      #        dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+      #done
+
+      if test -n "$xrpath"; then
+       # If the user specified any rpath flags, then add them.
+       temp_xrpath=
+       for libdir in $xrpath; do
+         temp_xrpath="$temp_xrpath -R$libdir"
+         case "$finalize_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_rpath="$finalize_rpath $libdir" ;;
+         esac
+       done
+       if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+         dependency_libs="$temp_xrpath $dependency_libs"
+       fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+       case " $dlprefiles $dlfiles " in
+       *" $lib "*) ;;
+       *) dlfiles="$dlfiles $lib" ;;
+       esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+       case "$dlprefiles " in
+       *" $lib "*) ;;
+       *) dlprefiles="$dlprefiles $lib" ;;
+       esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+       if test -n "$rpath"; then
+         case $host in
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+           # these systems don't actually have a c library (as such)!
+           ;;
+         *-*-rhapsody* | *-*-darwin1.[012])
+           # Rhapsody C library is in the System framework
+           deplibs="$deplibs System.ltframework"
+           ;;
+         *-*-netbsd*)
+           # Don't link with libc until the a.out ld.so is fixed.
+           ;;
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+           # Do not include libc due to us having libc/libc_r.
+           ;;
+         *-*-sco3.2v5* | *-*-sco5v6*)
+           # Causes problems with __ctype
+           ;;
+         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+           # Compiler inserts libc in the correct place for threads to work
+           ;;
+         *)
+           # Add libc to deplibs on all other systems if necessary.
+           if test "$build_libtool_need_lc" = "yes"; then
+             deplibs="$deplibs -lc"
+           fi
+           ;;
+         esac
+       fi
+
+       # Transform deplibs into only deplibs that can be linked in shared.
+       name_save=$name
+       libname_save=$libname
+       release_save=$release
+       versuffix_save=$versuffix
+       major_save=$major
+       # I'm not sure if I'm treating the release correctly.  I think
+       # release should show up in the -l (ie -lgmp5) so we don't want to
+       # add it in twice.  Is that correct?
+       release=""
+       versuffix=""
+       major=""
+       newdeplibs=
+       droppeddeps=no
+       case $deplibs_check_method in
+       pass_all)
+         # Don't check for shared/static.  Everything works.
+         # This might be a little naive.  We might want to check
+         # whether the library exists or not.  But this is on
+         # osf3 & osf4 and I'm not really sure... Just
+         # implementing what was already the behavior.
+         newdeplibs=$deplibs
+         ;;
+       test_compile)
+         # This code stresses the "libraries are programs" paradigm to its
+         # limits. Maybe even breaks it.  We compile a program, linking it
+         # against the deplibs as a proxy for the library.  Then we can check
+         # whether they linked in statically or dynamically with ldd.
+         $opt_dry_run || $RM conftest.c
+         cat > conftest.c <<EOF
+         int main() { return 0; }
+EOF
+         $opt_dry_run || $RM conftest
+         if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+           ldd_output=`ldd conftest`
+           for i in $deplibs; do
+             case $i in
+             -l*)
+               func_stripname -l '' "$i"
+               name=$func_stripname_result
+               if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+                 case " $predeps $postdeps " in
+                 *" $i "*)
+                   newdeplibs="$newdeplibs $i"
+                   i=""
+                   ;;
+                 esac
+               fi
+               if test -n "$i" ; then
+                 libname=`eval "\\$ECHO \"$libname_spec\""`
+                 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+                 set dummy $deplib_matches; shift
+                 deplib_match=$1
+                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                   newdeplibs="$newdeplibs $i"
+                 else
+                   droppeddeps=yes
+                   $ECHO
+                   $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+                   $ECHO "*** I have the capability to make that library automatically link in when"
+                   $ECHO "*** you link to this library.  But I can only do this if you have a"
+                   $ECHO "*** shared version of the library, which I believe you do not have"
+                   $ECHO "*** because a test_compile did reveal that the linker did not use it for"
+                   $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+                 fi
+               fi
+               ;;
+             *)
+               newdeplibs="$newdeplibs $i"
+               ;;
+             esac
+           done
+         else
+           # Error occurred in the first compile.  Let's try to salvage
+           # the situation: Compile a separate program for each library.
+           for i in $deplibs; do
+             case $i in
+             -l*)
+               func_stripname -l '' "$i"
+               name=$func_stripname_result
+               $opt_dry_run || $RM conftest
+               if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+                 ldd_output=`ldd conftest`
+                 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+                   case " $predeps $postdeps " in
+                   *" $i "*)
+                     newdeplibs="$newdeplibs $i"
+                     i=""
+                     ;;
+                   esac
+                 fi
+                 if test -n "$i" ; then
+                   libname=`eval "\\$ECHO \"$libname_spec\""`
+                   deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+                   set dummy $deplib_matches; shift
+                   deplib_match=$1
+                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                     newdeplibs="$newdeplibs $i"
+                   else
+                     droppeddeps=yes
+                     $ECHO
+                     $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+                     $ECHO "*** I have the capability to make that library automatically link in when"
+                     $ECHO "*** you link to this library.  But I can only do this if you have a"
+                     $ECHO "*** shared version of the library, which you do not appear to have"
+                     $ECHO "*** because a test_compile did reveal that the linker did not use this one"
+                     $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+                   fi
+                 fi
+               else
+                 droppeddeps=yes
+                 $ECHO
+                 $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
+                 $ECHO "*** make it link in!  You will probably need to install it or some"
+                 $ECHO "*** library that it depends on before this library will be fully"
+                 $ECHO "*** functional.  Installing it before continuing would be even better."
+               fi
+               ;;
+             *)
+               newdeplibs="$newdeplibs $i"
+               ;;
+             esac
+           done
+         fi
+         ;;
+       file_magic*)
+         set dummy $deplibs_check_method; shift
+         file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+         for a_deplib in $deplibs; do
+           case $a_deplib in
+           -l*)
+             func_stripname -l '' "$a_deplib"
+             name=$func_stripname_result
+             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+               case " $predeps $postdeps " in
+               *" $a_deplib "*)
+                 newdeplibs="$newdeplibs $a_deplib"
+                 a_deplib=""
+                 ;;
+               esac
+             fi
+             if test -n "$a_deplib" ; then
+               libname=`eval "\\$ECHO \"$libname_spec\""`
+               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+                 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+                 for potent_lib in $potential_libs; do
+                     # Follow soft links.
+                     if ls -lLd "$potent_lib" 2>/dev/null |
+                        $GREP " -> " >/dev/null; then
+                       continue
+                     fi
+                     # The statement above tries to avoid entering an
+                     # endless loop below, in case of cyclic links.
+                     # We might still enter an endless loop, since a link
+                     # loop can be closed while we follow links,
+                     # but so what?
+                     potlib="$potent_lib"
+                     while test -h "$potlib" 2>/dev/null; do
+                       potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+                       case $potliblink in
+                       [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+                       *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+                       esac
+                     done
+                     if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+                        $SED -e 10q |
+                        $EGREP "$file_magic_regex" > /dev/null; then
+                       newdeplibs="$newdeplibs $a_deplib"
+                       a_deplib=""
+                       break 2
+                     fi
+                 done
+               done
+             fi
+             if test -n "$a_deplib" ; then
+               droppeddeps=yes
+               $ECHO
+               $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+               $ECHO "*** I have the capability to make that library automatically link in when"
+               $ECHO "*** you link to this library.  But I can only do this if you have a"
+               $ECHO "*** shared version of the library, which you do not appear to have"
+               $ECHO "*** because I did check the linker path looking for a file starting"
+               if test -z "$potlib" ; then
+                 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+               else
+                 $ECHO "*** with $libname and none of the candidates passed a file format test"
+                 $ECHO "*** using a file magic. Last file checked: $potlib"
+               fi
+             fi
+             ;;
+           *)
+             # Add a -L argument.
+             newdeplibs="$newdeplibs $a_deplib"
+             ;;
+           esac
+         done # Gone through all deplibs.
+         ;;
+       match_pattern*)
+         set dummy $deplibs_check_method; shift
+         match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+         for a_deplib in $deplibs; do
+           case $a_deplib in
+           -l*)
+             func_stripname -l '' "$a_deplib"
+             name=$func_stripname_result
+             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+               case " $predeps $postdeps " in
+               *" $a_deplib "*)
+                 newdeplibs="$newdeplibs $a_deplib"
+                 a_deplib=""
+                 ;;
+               esac
+             fi
+             if test -n "$a_deplib" ; then
+               libname=`eval "\\$ECHO \"$libname_spec\""`
+               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+                 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+                 for potent_lib in $potential_libs; do
+                   potlib="$potent_lib" # see symlink-check above in file_magic test
+                   if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+                      $EGREP "$match_pattern_regex" > /dev/null; then
+                     newdeplibs="$newdeplibs $a_deplib"
+                     a_deplib=""
+                     break 2
+                   fi
+                 done
+               done
+             fi
+             if test -n "$a_deplib" ; then
+               droppeddeps=yes
+               $ECHO
+               $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+               $ECHO "*** I have the capability to make that library automatically link in when"
+               $ECHO "*** you link to this library.  But I can only do this if you have a"
+               $ECHO "*** shared version of the library, which you do not appear to have"
+               $ECHO "*** because I did check the linker path looking for a file starting"
+               if test -z "$potlib" ; then
+                 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+               else
+                 $ECHO "*** with $libname and none of the candidates passed a file format test"
+                 $ECHO "*** using a regex pattern. Last file checked: $potlib"
+               fi
+             fi
+             ;;
+           *)
+             # Add a -L argument.
+             newdeplibs="$newdeplibs $a_deplib"
+             ;;
+           esac
+         done # Gone through all deplibs.
+         ;;
+       none | unknown | *)
+         newdeplibs=""
+         tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+             -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+         if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+           for i in $predeps $postdeps ; do
+             # can't use Xsed below, because $i might contain '/'
+             tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+           done
+         fi
+         if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[      ]//g' |
+            $GREP . >/dev/null; then
+           $ECHO
+           if test "X$deplibs_check_method" = "Xnone"; then
+             $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+           else
+             $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+           fi
+           $ECHO "*** All declared inter-library dependencies are being dropped."
+           droppeddeps=yes
+         fi
+         ;;
+       esac
+       versuffix=$versuffix_save
+       major=$major_save
+       release=$release_save
+       libname=$libname_save
+       name=$name_save
+
+       case $host in
+       *-*-rhapsody* | *-*-darwin1.[012])
+         # On Rhapsody replace the C library with the System framework
+         newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+         ;;
+       esac
+
+       if test "$droppeddeps" = yes; then
+         if test "$module" = yes; then
+           $ECHO
+           $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+           $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
+           $ECHO "*** a static module, that should work as long as the dlopening"
+           $ECHO "*** application is linked with the -dlopen flag."
+           if test -z "$global_symbol_pipe"; then
+             $ECHO
+             $ECHO "*** However, this would only work if libtool was able to extract symbol"
+             $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+             $ECHO "*** not find such a program.  So, this module is probably useless."
+             $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+           fi
+           if test "$build_old_libs" = no; then
+             oldlibs="$output_objdir/$libname.$libext"
+             build_libtool_libs=module
+             build_old_libs=yes
+           else
+             build_libtool_libs=no
+           fi
+         else
+           $ECHO "*** The inter-library dependencies that have been dropped here will be"
+           $ECHO "*** automatically added whenever a program is linked with this library"
+           $ECHO "*** or is declared to -dlopen it."
+
+           if test "$allow_undefined" = no; then
+             $ECHO
+             $ECHO "*** Since this library must not contain undefined symbols,"
+             $ECHO "*** because either the platform does not support them or"
+             $ECHO "*** it was explicitly requested with -no-undefined,"
+             $ECHO "*** libtool will only create a static version of it."
+             if test "$build_old_libs" = no; then
+               oldlibs="$output_objdir/$libname.$libext"
+               build_libtool_libs=module
+               build_old_libs=yes
+             else
+               build_libtool_libs=no
+             fi
+           fi
+         fi
+       fi
+       # Done checking deplibs!
+       deplibs=$newdeplibs
+      fi
+      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+      case $host in
+       *-*-darwin*)
+         newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         ;;
+      esac
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+       case " $new_libs " in
+       *" -L$path/$objdir "*) ;;
+       *)
+         case " $deplibs " in
+         *" -L$path/$objdir "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      deplibs="$new_libs"
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+       if test "$hardcode_into_libs" = yes; then
+         # Hardcode the library paths
+         hardcode_libdirs=
+         dep_rpath=
+         rpath="$finalize_rpath"
+         test "$mode" != relink && rpath="$compile_rpath$rpath"
+         for libdir in $rpath; do
+           if test -n "$hardcode_libdir_flag_spec"; then
+             if test -n "$hardcode_libdir_separator"; then
+               if test -z "$hardcode_libdirs"; then
+                 hardcode_libdirs="$libdir"
+               else
+                 # Just accumulate the unique libdirs.
+                 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+                 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+                   ;;
+                 *)
+                   hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+                   ;;
+                 esac
+               fi
+             else
+               eval flag=\"$hardcode_libdir_flag_spec\"
+               dep_rpath="$dep_rpath $flag"
+             fi
+           elif test -n "$runpath_var"; then
+             case "$perm_rpath " in
+             *" $libdir "*) ;;
+             *) perm_rpath="$perm_rpath $libdir" ;;
+             esac
+           fi
+         done
+         # Substitute the hardcoded libdirs into the rpath.
+         if test -n "$hardcode_libdir_separator" &&
+            test -n "$hardcode_libdirs"; then
+           libdir="$hardcode_libdirs"
+           if test -n "$hardcode_libdir_flag_spec_ld"; then
+             eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+           else
+             eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+           fi
+         fi
+         if test -n "$runpath_var" && test -n "$perm_rpath"; then
+           # We should set the runpath_var.
+           rpath=
+           for dir in $perm_rpath; do
+             rpath="$rpath$dir:"
+           done
+           eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+         fi
+         test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+       fi
+
+       shlibpath="$finalize_shlibpath"
+       test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+       if test -n "$shlibpath"; then
+         eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+       fi
+
+       # Get the real and link names of the library.
+       eval shared_ext=\"$shrext_cmds\"
+       eval library_names=\"$library_names_spec\"
+       set dummy $library_names
+       shift
+       realname="$1"
+       shift
+
+       if test -n "$soname_spec"; then
+         eval soname=\"$soname_spec\"
+       else
+         soname="$realname"
+       fi
+       if test -z "$dlname"; then
+         dlname=$soname
+       fi
+
+       lib="$output_objdir/$realname"
+       linknames=
+       for link
+       do
+         linknames="$linknames $link"
+       done
+
+       # Use standard objects if they are pic
+       test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+       test "X$libobjs" = "X " && libobjs=
+
+       delfiles=
+       if test -n "$export_symbols" && test -n "$include_expsyms"; then
+         $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+         export_symbols="$output_objdir/$libname.uexp"
+         delfiles="$delfiles $export_symbols"
+       fi
+
+       orig_export_symbols=
+       case $host_os in
+       cygwin* | mingw* | cegcc*)
+         if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+           # exporting using user supplied symfile
+           if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+             # and it's NOT already a .def file. Must figure out
+             # which of the given symbols are data symbols and tag
+             # them as such. So, trigger use of export_symbols_cmds.
+             # export_symbols gets reassigned inside the "prepare
+             # the list of exported symbols" if statement, so the
+             # include_expsyms logic still works.
+             orig_export_symbols="$export_symbols"
+             export_symbols=
+             always_export_symbols=yes
+           fi
+         fi
+         ;;
+       esac
+
+       # Prepare the list of exported symbols
+       if test -z "$export_symbols"; then
+         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+           func_verbose "generating symbol list for \`$libname.la'"
+           export_symbols="$output_objdir/$libname.exp"
+           $opt_dry_run || $RM $export_symbols
+           cmds=$export_symbols_cmds
+           save_ifs="$IFS"; IFS='~'
+           for cmd in $cmds; do
+             IFS="$save_ifs"
+             eval cmd=\"$cmd\"
+             func_len " $cmd"
+             len=$func_len_result
+             if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+               func_show_eval "$cmd" 'exit $?'
+               skipped_export=false
+             else
+               # The command line is too long to execute in one step.
+               func_verbose "using reloadable object file for export list..."
+               skipped_export=:
+               # Break out early, otherwise skipped_export may be
+               # set to false by a later but shorter cmd.
+               break
+             fi
+           done
+           IFS="$save_ifs"
+           if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+             func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+             func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+           fi
+         fi
+       fi
+
+       if test -n "$export_symbols" && test -n "$include_expsyms"; then
+         tmp_export_symbols="$export_symbols"
+         test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+         $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+       fi
+
+       if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+         # The given exports_symbols file has to be filtered, so filter it.
+         func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+         # FIXME: $output_objdir/$libname.filter potentially contains lots of
+         # 's' commands which not all seds can handle. GNU sed should be fine
+         # though. Also, the filter scales superlinearly with the number of
+         # global variables. join(1) would be nice here, but unfortunately
+         # isn't a blessed tool.
+         $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+         delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+         export_symbols=$output_objdir/$libname.def
+         $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+       fi
+
+       tmp_deplibs=
+       for test_deplib in $deplibs; do
+         case " $convenience " in
+         *" $test_deplib "*) ;;
+         *)
+           tmp_deplibs="$tmp_deplibs $test_deplib"
+           ;;
+         esac
+       done
+       deplibs="$tmp_deplibs"
+
+       if test -n "$convenience"; then
+         if test -n "$whole_archive_flag_spec" &&
+           test "$compiler_needs_object" = yes &&
+           test -z "$libobjs"; then
+           # extract the archives, so we have objects to list.
+           # TODO: could optimize this to just extract one archive.
+           whole_archive_flag_spec=
+         fi
+         if test -n "$whole_archive_flag_spec"; then
+           save_libobjs=$libobjs
+           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+           test "X$libobjs" = "X " && libobjs=
+         else
+           gentop="$output_objdir/${outputname}x"
+           generated="$generated $gentop"
+
+           func_extract_archives $gentop $convenience
+           libobjs="$libobjs $func_extract_archives_result"
+           test "X$libobjs" = "X " && libobjs=
+         fi
+       fi
+
+       if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+         eval flag=\"$thread_safe_flag_spec\"
+         linker_flags="$linker_flags $flag"
+       fi
+
+       # Make a backup of the uninstalled library when relinking
+       if test "$mode" = relink; then
+         $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+       fi
+
+       # Do each of the archive commands.
+       if test "$module" = yes && test -n "$module_cmds" ; then
+         if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+           eval test_cmds=\"$module_expsym_cmds\"
+           cmds=$module_expsym_cmds
+         else
+           eval test_cmds=\"$module_cmds\"
+           cmds=$module_cmds
+         fi
+       else
+         if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+           eval test_cmds=\"$archive_expsym_cmds\"
+           cmds=$archive_expsym_cmds
+         else
+           eval test_cmds=\"$archive_cmds\"
+           cmds=$archive_cmds
+         fi
+       fi
+
+       if test "X$skipped_export" != "X:" &&
+          func_len " $test_cmds" &&
+          len=$func_len_result &&
+          test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+         :
+       else
+         # The command line is too long to link in one step, link piecewise
+         # or, if using GNU ld and skipped_export is not :, use a linker
+         # script.
+
+         # Save the value of $output and $libobjs because we want to
+         # use them later.  If we have whole_archive_flag_spec, we
+         # want to use save_libobjs as it was before
+         # whole_archive_flag_spec was expanded, because we can't
+         # assume the linker understands whole_archive_flag_spec.
+         # This may have to be revisited, in case too many
+         # convenience libraries get linked in and end up exceeding
+         # the spec.
+         if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+           save_libobjs=$libobjs
+         fi
+         save_output=$output
+         output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+
+         # Clear the reloadable object creation command queue and
+         # initialize k to one.
+         test_cmds=
+         concat_cmds=
+         objlist=
+         last_robj=
+         k=1
+
+         if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+           output=${output_objdir}/${output_la}.lnkscript
+           func_verbose "creating GNU ld script: $output"
+           $ECHO 'INPUT (' > $output
+           for obj in $save_libobjs
+           do
+             $ECHO "$obj" >> $output
+           done
+           $ECHO ')' >> $output
+           delfiles="$delfiles $output"
+         elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+           output=${output_objdir}/${output_la}.lnk
+           func_verbose "creating linker input file list: $output"
+           : > $output
+           set x $save_libobjs
+           shift
+           firstobj=
+           if test "$compiler_needs_object" = yes; then
+             firstobj="$1 "
+             shift
+           fi
+           for obj
+           do
+             $ECHO "$obj" >> $output
+           done
+           delfiles="$delfiles $output"
+           output=$firstobj\"$file_list_spec$output\"
+         else
+           if test -n "$save_libobjs"; then
+             func_verbose "creating reloadable object files..."
+             output=$output_objdir/$output_la-${k}.$objext
+             eval test_cmds=\"$reload_cmds\"
+             func_len " $test_cmds"
+             len0=$func_len_result
+             len=$len0
+
+             # Loop over the list of objects to be linked.
+             for obj in $save_libobjs
+             do
+               func_len " $obj"
+               func_arith $len + $func_len_result
+               len=$func_arith_result
+               if test "X$objlist" = X ||
+                  test "$len" -lt "$max_cmd_len"; then
+                 func_append objlist " $obj"
+               else
+                 # The command $test_cmds is almost too long, add a
+                 # command to the queue.
+                 if test "$k" -eq 1 ; then
+                   # The first file doesn't have a previous command to add.
+                   eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+                 else
+                   # All subsequent reloadable object files will link in
+                   # the last one created.
+                   eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+                 fi
+                 last_robj=$output_objdir/$output_la-${k}.$objext
+                 func_arith $k + 1
+                 k=$func_arith_result
+                 output=$output_objdir/$output_la-${k}.$objext
+                 objlist=$obj
+                 func_len " $last_robj"
+                 func_arith $len0 + $func_len_result
+                 len=$func_arith_result
+               fi
+             done
+             # Handle the remaining objects by creating one last
+             # reloadable object file.  All subsequent reloadable object
+             # files will link in the last one created.
+             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+             eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+             if test -n "$last_robj"; then
+               eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+             fi
+             delfiles="$delfiles $output"
+
+           else
+             output=
+           fi
+
+           if ${skipped_export-false}; then
+             func_verbose "generating symbol list for \`$libname.la'"
+             export_symbols="$output_objdir/$libname.exp"
+             $opt_dry_run || $RM $export_symbols
+             libobjs=$output
+             # Append the command to create the export file.
+             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+             eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+             if test -n "$last_robj"; then
+               eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+             fi
+           fi
+
+           test -n "$save_libobjs" &&
+             func_verbose "creating a temporary reloadable object file: $output"
+
+           # Loop through the commands generated above and execute them.
+           save_ifs="$IFS"; IFS='~'
+           for cmd in $concat_cmds; do
+             IFS="$save_ifs"
+             $opt_silent || {
+                 func_quote_for_expand "$cmd"
+                 eval "func_echo $func_quote_for_expand_result"
+             }
+             $opt_dry_run || eval "$cmd" || {
+               lt_exit=$?
+
+               # Restore the uninstalled library and exit
+               if test "$mode" = relink; then
+                 ( cd "$output_objdir" && \
+                   $RM "${realname}T" && \
+                   $MV "${realname}U" "$realname" )
+               fi
+
+               exit $lt_exit
+             }
+           done
+           IFS="$save_ifs"
+
+           if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+             func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+             func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+           fi
+         fi
+
+          if ${skipped_export-false}; then
+           if test -n "$export_symbols" && test -n "$include_expsyms"; then
+             tmp_export_symbols="$export_symbols"
+             test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+             $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+           fi
+
+           if test -n "$orig_export_symbols"; then
+             # The given exports_symbols file has to be filtered, so filter it.
+             func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+             # FIXME: $output_objdir/$libname.filter potentially contains lots of
+             # 's' commands which not all seds can handle. GNU sed should be fine
+             # though. Also, the filter scales superlinearly with the number of
+             # global variables. join(1) would be nice here, but unfortunately
+             # isn't a blessed tool.
+             $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+             delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+             export_symbols=$output_objdir/$libname.def
+             $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+           fi
+         fi
+
+         libobjs=$output
+         # Restore the value of output.
+         output=$save_output
+
+         if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+           test "X$libobjs" = "X " && libobjs=
+         fi
+         # Expand the library linking commands again to reset the
+         # value of $libobjs for piecewise linking.
+
+         # Do each of the archive commands.
+         if test "$module" = yes && test -n "$module_cmds" ; then
+           if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+             cmds=$module_expsym_cmds
+           else
+             cmds=$module_cmds
+           fi
+         else
+           if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+             cmds=$archive_expsym_cmds
+           else
+             cmds=$archive_cmds
+           fi
+         fi
+       fi
+
+       if test -n "$delfiles"; then
+         # Append the command to remove temporary files to $cmds.
+         eval cmds=\"\$cmds~\$RM $delfiles\"
+       fi
+
+       # Add any objects from preloaded convenience libraries
+       if test -n "$dlprefiles"; then
+         gentop="$output_objdir/${outputname}x"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $dlprefiles
+         libobjs="$libobjs $func_extract_archives_result"
+         test "X$libobjs" = "X " && libobjs=
+       fi
+
+       save_ifs="$IFS"; IFS='~'
+       for cmd in $cmds; do
+         IFS="$save_ifs"
+         eval cmd=\"$cmd\"
+         $opt_silent || {
+           func_quote_for_expand "$cmd"
+           eval "func_echo $func_quote_for_expand_result"
+         }
+         $opt_dry_run || eval "$cmd" || {
+           lt_exit=$?
+
+           # Restore the uninstalled library and exit
+           if test "$mode" = relink; then
+             ( cd "$output_objdir" && \
+               $RM "${realname}T" && \
+               $MV "${realname}U" "$realname" )
+           fi
+
+           exit $lt_exit
+         }
+       done
+       IFS="$save_ifs"
+
+       # Restore the uninstalled library and exit
+       if test "$mode" = relink; then
+         $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+         if test -n "$convenience"; then
+           if test -z "$whole_archive_flag_spec"; then
+             func_show_eval '${RM}r "$gentop"'
+           fi
+         fi
+
+         exit $EXIT_SUCCESS
+       fi
+
+       # Create links to the real library.
+       for linkname in $linknames; do
+         if test "$realname" != "$linkname"; then
+           func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+         fi
+       done
+
+       # If -module or -export-dynamic was specified, set the dlname.
+       if test "$module" = yes || test "$export_dynamic" = yes; then
+         # On all known operating systems, these are identical.
+         dlname="$soname"
+       fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       func_warning "\`-dlopen' is ignored for objects"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+       func_warning "\`-l' and \`-L' are ignored for objects" ;;
+      esac
+
+      test -n "$rpath" && \
+       func_warning "\`-rpath' is ignored for objects"
+
+      test -n "$xrpath" && \
+       func_warning "\`-R' is ignored for objects"
+
+      test -n "$vinfo" && \
+       func_warning "\`-version-info' is ignored for objects"
+
+      test -n "$release" && \
+       func_warning "\`-release' is ignored for objects"
+
+      case $output in
+      *.lo)
+       test -n "$objs$old_deplibs" && \
+         func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+       libobj=$output
+       func_lo2o "$libobj"
+       obj=$func_lo2o_result
+       ;;
+      *)
+       libobj=
+       obj="$output"
+       ;;
+      esac
+
+      # Delete the old objects.
+      $opt_dry_run || $RM $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec and hope we can get by with
+      # turning comma into space..
+      wl=
+
+      if test -n "$convenience"; then
+       if test -n "$whole_archive_flag_spec"; then
+         eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+         reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+       else
+         gentop="$output_objdir/${obj}x"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $convenience
+         reload_conv_objs="$reload_objs $func_extract_archives_result"
+       fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      func_execute_cmds "$reload_cmds" 'exit $?'
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+       if test -n "$gentop"; then
+         func_show_eval '${RM}r "$gentop"'
+       fi
+
+       exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+       if test -n "$gentop"; then
+         func_show_eval '${RM}r "$gentop"'
+       fi
+
+       # Create an invalid libtool object if no PIC, so that we don't
+       # accidentally link it into a program.
+       # $show "echo timestamp > $libobj"
+       # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+       exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+       # Only do commands if we really have different PIC objects.
+       reload_objs="$libobjs $reload_conv_objs"
+       output="$libobj"
+       func_execute_cmds "$reload_cmds" 'exit $?'
+      fi
+
+      if test -n "$gentop"; then
+       func_show_eval '${RM}r "$gentop"'
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+       *cygwin*) func_stripname '' '.exe' "$output"
+                 output=$func_stripname_result.exe;;
+      esac
+      test -n "$vinfo" && \
+       func_warning "\`-version-info' is ignored for programs"
+
+      test -n "$release" && \
+       func_warning "\`-release' is ignored for programs"
+
+      test "$preload" = yes \
+        && test "$dlopen_support" = unknown \
+       && test "$dlopen_self" = unknown \
+       && test "$dlopen_self_static" = unknown && \
+         func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+       # On Rhapsody replace the C library is the System framework
+       compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+       finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+       ;;
+      esac
+
+      case $host in
+      *-*-darwin*)
+       # Don't allow lazy linking, it breaks C++ global constructors
+       # But is supposedly fixed on 10.4 or later (yay!).
+       if test "$tagname" = CXX ; then
+         case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+           10.[0123])
+             compile_command="$compile_command ${wl}-bind_at_load"
+             finalize_command="$finalize_command ${wl}-bind_at_load"
+           ;;
+         esac
+       fi
+       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+       compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       ;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+       case " $new_libs " in
+       *" -L$path/$objdir "*) ;;
+       *)
+         case " $compile_deplibs " in
+         *" -L$path/$objdir "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $compile_deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+       # If the user specified any rpath flags, then add them.
+       for libdir in $rpath $xrpath; do
+         # This is the magic to use -rpath.
+         case "$finalize_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_rpath="$finalize_rpath $libdir" ;;
+         esac
+       done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+       if test -n "$hardcode_libdir_flag_spec"; then
+         if test -n "$hardcode_libdir_separator"; then
+           if test -z "$hardcode_libdirs"; then
+             hardcode_libdirs="$libdir"
+           else
+             # Just accumulate the unique libdirs.
+             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+               ;;
+             *)
+               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+               ;;
+             esac
+           fi
+         else
+           eval flag=\"$hardcode_libdir_flag_spec\"
+           rpath="$rpath $flag"
+         fi
+       elif test -n "$runpath_var"; then
+         case "$perm_rpath " in
+         *" $libdir "*) ;;
+         *) perm_rpath="$perm_rpath $libdir" ;;
+         esac
+       fi
+       case $host in
+       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+         testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+         case :$dllsearchpath: in
+         *":$libdir:"*) ;;
+         ::) dllsearchpath=$libdir;;
+         *) dllsearchpath="$dllsearchpath:$libdir";;
+         esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         ::) dllsearchpath=$testbindir;;
+         *) dllsearchpath="$dllsearchpath:$testbindir";;
+         esac
+         ;;
+       esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+        test -n "$hardcode_libdirs"; then
+       libdir="$hardcode_libdirs"
+       eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+       if test -n "$hardcode_libdir_flag_spec"; then
+         if test -n "$hardcode_libdir_separator"; then
+           if test -z "$hardcode_libdirs"; then
+             hardcode_libdirs="$libdir"
+           else
+             # Just accumulate the unique libdirs.
+             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+               ;;
+             *)
+               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+               ;;
+             esac
+           fi
+         else
+           eval flag=\"$hardcode_libdir_flag_spec\"
+           rpath="$rpath $flag"
+         fi
+       elif test -n "$runpath_var"; then
+         case "$finalize_perm_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+         esac
+       fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+        test -n "$hardcode_libdirs"; then
+       libdir="$hardcode_libdirs"
+       eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+       # Transform all the library objects into standard objects.
+       compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+       finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+      # template prelinking step
+      if test -n "$prelink_cmds"; then
+       func_execute_cmds "$prelink_cmds" 'exit $?'
+      fi
+
+      wrappers_required=yes
+      case $host in
+      *cygwin* | *mingw* )
+        if test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      *cegcc)
+        # Disable wrappers for cegcc, we are cross compiling anyway.
+        wrappers_required=no
+        ;;
+      *)
+        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      esac
+      if test "$wrappers_required" = no; then
+       # Replace the output file specification.
+       compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+       link_command="$compile_command$compile_rpath"
+
+       # We have no uninstalled library dependencies, so finalize right now.
+       exit_status=0
+       func_show_eval "$link_command" 'exit_status=$?'
+
+       # Delete the generated files.
+       if test -f "$output_objdir/${outputname}S.${objext}"; then
+         func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+       fi
+
+       exit $exit_status
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+       compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+       finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+       if test -n "$perm_rpath"; then
+         # We should set the runpath_var.
+         rpath=
+         for dir in $perm_rpath; do
+           rpath="$rpath$dir:"
+         done
+         compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+       fi
+       if test -n "$finalize_perm_rpath"; then
+         # We should set the runpath_var.
+         rpath=
+         for dir in $finalize_perm_rpath; do
+           rpath="$rpath$dir:"
+         done
+         finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+       fi
+      fi
+
+      if test "$no_install" = yes; then
+       # We don't need to create a wrapper script.
+       link_command="$compile_var$compile_command$compile_rpath"
+       # Replace the output file specification.
+       link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+       # Delete the old output file.
+       $opt_dry_run || $RM $output
+       # Link the executable and exit
+       func_show_eval "$link_command" 'exit $?'
+       exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+       # Fast installation is not supported
+       link_command="$compile_var$compile_command$compile_rpath"
+       relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+       func_warning "this platform does not like uninstalled shared libraries"
+       func_warning "\`$output' will be relinked during installation"
+      else
+       if test "$fast_install" != no; then
+         link_command="$finalize_var$compile_command$finalize_rpath"
+         if test "$fast_install" = yes; then
+           relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+         else
+           # fast_install is set to needless
+           relink_command=
+         fi
+       else
+         link_command="$compile_var$compile_command$compile_rpath"
+         relink_command="$finalize_var$finalize_command$finalize_rpath"
+       fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      func_show_eval "$link_command" 'exit $?'
+
+      # Now create the wrapper script.
+      func_verbose "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+       # Preserve any variables that may affect compiler behavior
+       for var in $variables_saved_for_relink; do
+         if eval test -z \"\${$var+set}\"; then
+           relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+         elif eval var_value=\$$var; test -z "$var_value"; then
+           relink_command="$var=; export $var; $relink_command"
+         else
+           func_quote_for_eval "$var_value"
+           relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+         fi
+       done
+       relink_command="(cd `pwd`; $relink_command)"
+       relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $ECHO for shipping.
+      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
+       case $progpath in
+       [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+       *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+       esac
+       qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+       qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if not in dry run mode.
+      $opt_dry_run || {
+       # win32 will think the script is a binary if it has
+       # a .exe suffix, so we strip it off here.
+       case $output in
+         *.exe) func_stripname '' '.exe' "$output"
+                output=$func_stripname_result ;;
+       esac
+       # test for cygwin because mv fails w/o .exe extensions
+       case $host in
+         *cygwin*)
+           exeext=.exe
+           func_stripname '' '.exe' "$outputname"
+           outputname=$func_stripname_result ;;
+         *) exeext= ;;
+       esac
+       case $host in
+         *cygwin* | *mingw* )
+           func_dirname_and_basename "$output" "" "."
+           output_name=$func_basename_result
+           output_path=$func_dirname_result
+           cwrappersource="$output_path/$objdir/lt-$output_name.c"
+           cwrapper="$output_path/$output_name.exe"
+           $RM $cwrappersource $cwrapper
+           trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+           func_emit_cwrapperexe_src > $cwrappersource
+
+           # The wrapper executable is built using the $host compiler,
+           # because it contains $host paths and files. If cross-
+           # compiling, it, like the target executable, must be
+           # executed on the $host or under an emulation environment.
+           $opt_dry_run || {
+             $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+             $STRIP $cwrapper
+           }
+
+           # Now, create the wrapper script for func_source use:
+           func_ltwrapper_scriptname $cwrapper
+           $RM $func_ltwrapper_scriptname_result
+           trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+           $opt_dry_run || {
+             # note: this script will not be executed, so do not chmod.
+             if test "x$build" = "x$host" ; then
+               $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+             else
+               func_emit_wrapper no > $func_ltwrapper_scriptname_result
+             fi
+           }
+         ;;
+         * )
+           $RM $output
+           trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+           func_emit_wrapper no > $output
+           chmod +x $output
+         ;;
+       esac
+      }
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+       oldobjs="$libobjs_save $symfileobj"
+       addlibs="$convenience"
+       build_libtool_libs=no
+      else
+       if test "$build_libtool_libs" = module; then
+         oldobjs="$libobjs_save"
+         build_libtool_libs=no
+       else
+         oldobjs="$old_deplibs $non_pic_objects"
+         if test "$preload" = yes && test -f "$symfileobj"; then
+           oldobjs="$oldobjs $symfileobj"
+         fi
+       fi
+       addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+       gentop="$output_objdir/${outputname}x"
+       generated="$generated $gentop"
+
+       func_extract_archives $gentop $addlibs
+       oldobjs="$oldobjs $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       cmds=$old_archive_from_new_cmds
+      else
+
+       # Add any objects from preloaded convenience libraries
+       if test -n "$dlprefiles"; then
+         gentop="$output_objdir/${outputname}x"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $dlprefiles
+         oldobjs="$oldobjs $func_extract_archives_result"
+       fi
+
+       # POSIX demands no paths to be encoded in archives.  We have
+       # to avoid creating archives with duplicate basenames if we
+       # might have to extract them afterwards, e.g., when creating a
+       # static archive out of a convenience library, or when linking
+       # the entirety of a libtool archive into another (currently
+       # not supported by libtool).
+       if (for obj in $oldobjs
+           do
+             func_basename "$obj"
+             $ECHO "$func_basename_result"
+           done | sort | sort -uc >/dev/null 2>&1); then
+         :
+       else
+         $ECHO "copying selected object files to avoid basename conflicts..."
+         gentop="$output_objdir/${outputname}x"
+         generated="$generated $gentop"
+         func_mkdir_p "$gentop"
+         save_oldobjs=$oldobjs
+         oldobjs=
+         counter=1
+         for obj in $save_oldobjs
+         do
+           func_basename "$obj"
+           objbase="$func_basename_result"
+           case " $oldobjs " in
+           " ") oldobjs=$obj ;;
+           *[\ /]"$objbase "*)
+             while :; do
+               # Make sure we don't pick an alternate name that also
+               # overlaps.
+               newobj=lt$counter-$objbase
+               func_arith $counter + 1
+               counter=$func_arith_result
+               case " $oldobjs " in
+               *[\ /]"$newobj "*) ;;
+               *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+               esac
+             done
+             func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+             oldobjs="$oldobjs $gentop/$newobj"
+             ;;
+           *) oldobjs="$oldobjs $obj" ;;
+           esac
+         done
+       fi
+       eval cmds=\"$old_archive_cmds\"
+
+       func_len " $cmds"
+       len=$func_len_result
+       if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+         cmds=$old_archive_cmds
+       else
+         # the command line is too long to link in one step, link in parts
+         func_verbose "using piecewise archive linking..."
+         save_RANLIB=$RANLIB
+         RANLIB=:
+         objlist=
+         concat_cmds=
+         save_oldobjs=$oldobjs
+         oldobjs=
+         # Is there a better way of finding the last object in the list?
+         for obj in $save_oldobjs
+         do
+           last_oldobj=$obj
+         done
+         eval test_cmds=\"$old_archive_cmds\"
+         func_len " $test_cmds"
+         len0=$func_len_result
+         len=$len0
+         for obj in $save_oldobjs
+         do
+           func_len " $obj"
+           func_arith $len + $func_len_result
+           len=$func_arith_result
+           func_append objlist " $obj"
+           if test "$len" -lt "$max_cmd_len"; then
+             :
+           else
+             # the above command should be used before it gets too long
+             oldobjs=$objlist
+             if test "$obj" = "$last_oldobj" ; then
+               RANLIB=$save_RANLIB
+             fi
+             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+             eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+             objlist=
+             len=$len0
+           fi
+         done
+         RANLIB=$save_RANLIB
+         oldobjs=$objlist
+         if test "X$oldobjs" = "X" ; then
+           eval cmds=\"\$concat_cmds\"
+         else
+           eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+         fi
+       fi
+      fi
+      func_execute_cmds "$cmds" 'exit $?'
+    done
+
+    test -n "$generated" && \
+      func_show_eval "${RM}r$generated"
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      func_verbose "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+       if eval test -z \"\${$var+set}\"; then
+         relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+       elif eval var_value=\$$var; test -z "$var_value"; then
+         relink_command="$var=; export $var; $relink_command"
+       else
+         func_quote_for_eval "$var_value"
+         relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+       fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+       relink_command=
+      fi
+
+      # Only create the output if not a dry run.
+      $opt_dry_run || {
+       for installed in no yes; do
+         if test "$installed" = yes; then
+           if test -z "$install_libdir"; then
+             break
+           fi
+           output="$output_objdir/$outputname"i
+           # Replace all uninstalled libtool libraries with the installed ones
+           newdependency_libs=
+           for deplib in $dependency_libs; do
+             case $deplib in
+             *.la)
+               func_basename "$deplib"
+               name="$func_basename_result"
+               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+               test -z "$libdir" && \
+                 func_fatal_error "\`$deplib' is not a valid libtool archive"
+               newdependency_libs="$newdependency_libs $libdir/$name"
+               ;;
+             *) newdependency_libs="$newdependency_libs $deplib" ;;
+             esac
+           done
+           dependency_libs="$newdependency_libs"
+           newdlfiles=
+
+           for lib in $dlfiles; do
+             case $lib in
+             *.la)
+               func_basename "$lib"
+               name="$func_basename_result"
+               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+               test -z "$libdir" && \
+                 func_fatal_error "\`$lib' is not a valid libtool archive"
+               newdlfiles="$newdlfiles $libdir/$name"
+               ;;
+             *) newdlfiles="$newdlfiles $lib" ;;
+             esac
+           done
+           dlfiles="$newdlfiles"
+           newdlprefiles=
+           for lib in $dlprefiles; do
+             case $lib in
+             *.la)
+               # Only pass preopened files to the pseudo-archive (for
+               # eventual linking with the app. that links it) if we
+               # didn't already link the preopened objects directly into
+               # the library:
+               func_basename "$lib"
+               name="$func_basename_result"
+               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+               test -z "$libdir" && \
+                 func_fatal_error "\`$lib' is not a valid libtool archive"
+               newdlprefiles="$newdlprefiles $libdir/$name"
+               ;;
+             esac
+           done
+           dlprefiles="$newdlprefiles"
+         else
+           newdlfiles=
+           for lib in $dlfiles; do
+             case $lib in
+               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               *) abs=`pwd`"/$lib" ;;
+             esac
+             newdlfiles="$newdlfiles $abs"
+           done
+           dlfiles="$newdlfiles"
+           newdlprefiles=
+           for lib in $dlprefiles; do
+             case $lib in
+               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               *) abs=`pwd`"/$lib" ;;
+             esac
+             newdlprefiles="$newdlprefiles $abs"
+           done
+           dlprefiles="$newdlprefiles"
+         fi
+         $RM $output
+         # place dlname in correct position for cygwin
+         tdlname=$dlname
+         case $host,$output,$installed,$module,$dlname in
+           *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+         esac
+         $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+         if test "$installed" = no && test "$need_relink" = yes; then
+           $ECHO >> $output "\
+relink_command=\"$relink_command\""
+         fi
+       done
+      }
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+}
+
+{ test "$mode" = link || test "$mode" = relink; } &&
+    func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+    $opt_debug
+    RM="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) RM="$RM $arg"; rmforce=yes ;;
+      -*) RM="$RM $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    test -z "$RM" && \
+      func_fatal_help "you must specify an RM program"
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      func_dirname "$file" "" "."
+      dir="$func_dirname_result"
+      if test "X$dir" = X.; then
+       objdir="$origobjdir"
+      else
+       objdir="$dir/$origobjdir"
+      fi
+      func_basename "$file"
+      name="$func_basename_result"
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+       case " $rmdirs " in
+         *" $objdir "*) ;;
+         *) rmdirs="$rmdirs $objdir" ;;
+       esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if { test -L "$file"; } >/dev/null 2>&1 ||
+        { test -h "$file"; } >/dev/null 2>&1 ||
+        test -f "$file"; then
+       :
+      elif test -d "$file"; then
+       exit_status=1
+       continue
+      elif test "$rmforce" = yes; then
+       continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+       # Possibly a libtool archive, so verify it.
+       if func_lalib_p "$file"; then
+         func_source $dir/$name
+
+         # Delete the libtool libraries and symlinks.
+         for n in $library_names; do
+           rmfiles="$rmfiles $objdir/$n"
+         done
+         test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+         case "$mode" in
+         clean)
+           case "  $library_names " in
+           # "  " in the beginning catches empty $dlname
+           *" $dlname "*) ;;
+           *) rmfiles="$rmfiles $objdir/$dlname" ;;
+           esac
+           test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+           ;;
+         uninstall)
+           if test -n "$library_names"; then
+             # Do each command in the postuninstall commands.
+             func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+           fi
+
+           if test -n "$old_library"; then
+             # Do each command in the old_postuninstall commands.
+             func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+           fi
+           # FIXME: should reinstall the best remaining shared library.
+           ;;
+         esac
+       fi
+       ;;
+
+      *.lo)
+       # Possibly a libtool object, so verify it.
+       if func_lalib_p "$file"; then
+
+         # Read the .lo file
+         func_source $dir/$name
+
+         # Add PIC object to the list of files to remove.
+         if test -n "$pic_object" &&
+            test "$pic_object" != none; then
+           rmfiles="$rmfiles $dir/$pic_object"
+         fi
+
+         # Add non-PIC object to the list of files to remove.
+         if test -n "$non_pic_object" &&
+            test "$non_pic_object" != none; then
+           rmfiles="$rmfiles $dir/$non_pic_object"
+         fi
+       fi
+       ;;
+
+      *)
+       if test "$mode" = clean ; then
+         noexename=$name
+         case $file in
+         *.exe)
+           func_stripname '' '.exe' "$file"
+           file=$func_stripname_result
+           func_stripname '' '.exe' "$name"
+           noexename=$func_stripname_result
+           # $file with .exe has already been added to rmfiles,
+           # add $file without .exe
+           rmfiles="$rmfiles $file"
+           ;;
+         esac
+         # Do a test to see if this is a libtool program.
+         if func_ltwrapper_p "$file"; then
+           if func_ltwrapper_executable_p "$file"; then
+             func_ltwrapper_scriptname "$file"
+             relink_command=
+             func_source $func_ltwrapper_scriptname_result
+             rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+           else
+             relink_command=
+             func_source $dir/$noexename
+           fi
+
+           # note $name still contains .exe if it was in $file originally
+           # as does the version of $file that was added into $rmfiles
+           rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+           if test "$fast_install" = yes && test -n "$relink_command"; then
+             rmfiles="$rmfiles $objdir/lt-$name"
+           fi
+           if test "X$noexename" != "X$name" ; then
+             rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+           fi
+         fi
+       fi
+       ;;
+      esac
+      func_show_eval "$RM $rmfiles" 'exit_status=1'
+    done
+    objdir="$origobjdir"
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+       func_show_eval "rmdir $dir >/dev/null 2>&1"
+      fi
+    done
+
+    exit $exit_status
+}
+
+{ test "$mode" = uninstall || test "$mode" = clean; } &&
+    func_mode_uninstall ${1+"$@"}
+
+test -z "$mode" && {
+  help="$generic_help"
+  func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+  func_fatal_help "invalid operation mode \`$mode'"
+
+if test -n "$exec_cmd"; then
+  eval exec "$exec_cmd"
+  exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
+
+# ### BEGIN LIBTOOL TAG CONFIG: CXX
+
+# The linker used to build libraries.
+LD="/usr/arm-linux-gnueabi/bin/ld"
+
+# Commands used to build an old-style archive.
+old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib"
+
+# A language specific compiler.
+CC="g++"
+
+# Is the compiler the GNU compiler?
+with_gcc=yes
+
+# Compiler flag to turn off builtin functions.
+no_builtin_flag=" -fno-builtin"
+
+# How to pass a linker flag through the compiler.
+wl="-Wl,"
+
+# Additional compiler flags for building library objects.
+pic_flag=" -fPIC -DPIC"
+
+# Compiler flag to prevent dynamic linking.
+link_static_flag="-static"
+
+# Does compiler simultaneously support -c and -o options?
+compiler_c_o="yes"
+
+# Whether or not to add -lc for building shared libraries.
+build_libtool_need_lc=no
+
+# Whether or not to disallow shared libs when runtime libs are static.
+allow_libtool_libs_with_static_runtimes=no
+
+# Compiler flag to allow reflexive dlopens.
+export_dynamic_flag_spec="\${wl}--export-dynamic"
+
+# Compiler flag to generate shared objects directly from archives.
+whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive"
+
+# Whether the compiler copes with passing no objects directly.
+compiler_needs_object="no"
+
+# Create an old-style archive from a shared archive.
+old_archive_from_new_cmds=""
+
+# Create a temporary old-style archive to link instead of a shared archive.
+old_archive_from_expsyms_cmds=""
+
+# Commands used to build a shared archive.
+archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib"
+archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib"
+
+# Commands used to build a loadable module if different from building
+# a shared archive.
+module_cmds=""
+module_expsym_cmds=""
+
+# Whether we are building with GNU ld or not.
+with_gnu_ld="yes"
+
+# Flag that allows shared libraries with undefined symbols to be built.
+allow_undefined_flag=""
+
+# Flag that enforces no undefined symbols.
+no_undefined_flag=""
+
+# Flag to hardcode $libdir into a binary during linking.
+# This must work even if $libdir does not exist
+hardcode_libdir_flag_spec="\${wl}-rpath \${wl}\$libdir"
+
+# If ld is used when linking, flag to hardcode $libdir into a binary
+# during linking.  This must work even if $libdir does not exist.
+hardcode_libdir_flag_spec_ld=""
+
+# Whether we need a single "-rpath" flag with a separated argument.
+hardcode_libdir_separator=""
+
+# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+# DIR into the resulting binary.
+hardcode_direct=no
+
+# Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+# DIR into the resulting binary and the resulting library dependency is
+# "absolute",i.e impossible to change by setting ${shlibpath_var} if the
+# library is relocated.
+hardcode_direct_absolute=no
+
+# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+# into the resulting binary.
+hardcode_minus_L=no
+
+# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+# into the resulting binary.
+hardcode_shlibpath_var=unsupported
+
+# Set to "yes" if building a shared library automatically hardcodes DIR
+# into the library and all subsequent libraries and executables linked
+# against it.
+hardcode_automatic=no
+
+# Set to yes if linker adds runtime paths of dependent libraries
+# to runtime path list.
+inherit_rpath=no
+
+# Whether libtool must link a program against all its dependency libraries.
+link_all_deplibs=no
+
+# Fix the shell variable $srcfile for the compiler.
+fix_srcfile_path=""
+
+# Set to "yes" if exported symbols are required.
+always_export_symbols=no
+
+# The commands to list exported symbols.
+export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols"
+
+# Symbols that should not be listed in the preloaded symbols.
+exclude_expsyms="_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*"
+
+# Symbols that must always be exported.
+include_expsyms=""
+
+# Commands necessary for linking programs (against libraries) with templates.
+prelink_cmds=""
+
+# Specify filename containing input files.
+file_list_spec=""
+
+# How to hardcode a shared library path into an executable.
+hardcode_action=immediate
+
+# The directories searched by this compiler when creating a shared library.
+compiler_lib_search_dirs="/home/jaehwan/sbs/target-armel/usr/lib /home/jaehwan/sbs/target-armel/lib /usr/lib/gcc/arm-linux-gnueabi/4.5.2 /usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/lib"
+
+# Dependencies to place before and after the objects being linked to
+# create a shared library.
+predep_objects="/usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/lib/crti.o /usr/lib/gcc/arm-linux-gnueabi/4.5.2/crtbeginS.o"
+postdep_objects="/usr/lib/gcc/arm-linux-gnueabi/4.5.2/crtendS.o /usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/lib/crtn.o"
+predeps=""
+postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s"
+
+# The library search path used internally by the compiler when linking
+# a shared library.
+compiler_lib_search_path="-L/home/jaehwan/sbs/target-armel/usr/lib -L/home/jaehwan/sbs/target-armel/lib -L/usr/lib/gcc/arm-linux-gnueabi/4.5.2 -L/usr/lib/gcc/arm-linux-gnueabi/4.5.2/../../../../arm-linux-gnueabi/lib"
+
+# ### END LIBTOOL TAG CONFIG: CXX
diff --git a/ltmain.sh b/ltmain.sh
new file mode 100755 (executable)
index 0000000..d88da2c
--- /dev/null
+++ b/ltmain.sh
@@ -0,0 +1,8413 @@
+# Generated from ltmain.m4sh.
+
+# ltmain.sh (GNU libtool) 2.2.6b
+# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
+# This is free software; see the source for copying conditions.  There is NO
+# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+# GNU Libtool is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Usage: $progname [OPTION]... [MODE-ARG]...
+#
+# Provide generalized library-building support services.
+#
+#     --config             show all configuration variables
+#     --debug              enable verbose shell tracing
+# -n, --dry-run            display commands without modifying any files
+#     --features           display basic configuration information and exit
+#     --mode=MODE          use operation mode MODE
+#     --preserve-dup-deps  don't remove duplicate dependency libraries
+#     --quiet, --silent    don't print informational messages
+#     --tag=TAG            use configuration variables from tag TAG
+# -v, --verbose            print informational messages (default)
+#     --version            print version information
+# -h, --help               print short or long help message
+#
+# MODE must be one of the following:
+#
+#       clean              remove files from the build directory
+#       compile            compile a source file into a libtool object
+#       execute            automatically set library path, then run a program
+#       finish             complete the installation of libtool libraries
+#       install            install libraries or executables
+#       link               create a library or an executable
+#       uninstall          remove libraries from an installed directory
+#
+# MODE-ARGS vary depending on the MODE.
+# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
+#
+# When reporting a bug, please describe a test case to reproduce it and
+# include the following information:
+#
+#       host-triplet:  $host
+#       shell:         $SHELL
+#       compiler:              $LTCC
+#       compiler flags:                $LTCFLAGS
+#       linker:                $LD (gnu? $with_gnu_ld)
+#       $progname:             (GNU libtool) 2.2.6b Debian-2.2.6b-2
+#       automake:              $automake_version
+#       autoconf:              $autoconf_version
+#
+# Report bugs to <bug-libtool@gnu.org>.
+
+PROGRAM=ltmain.sh
+PACKAGE=libtool
+VERSION="2.2.6b Debian-2.2.6b-2"
+TIMESTAMP=""
+package_revision=1.3017
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# NLS nuisances: We save the old values to restore during execute mode.
+# Only set LANG and LC_ALL to C if already set.
+# These must not be set unconditionally because not all systems understand
+# e.g. LANG=C (notably SCO).
+lt_user_locale=
+lt_safe_locale=
+for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+do
+  eval "if test \"\${$lt_var+set}\" = set; then
+          save_$lt_var=\$$lt_var
+          $lt_var=C
+         export $lt_var
+         lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\"
+         lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\"
+       fi"
+done
+
+$lt_unset CDPATH
+
+
+
+
+
+: ${CP="cp -f"}
+: ${ECHO="echo"}
+: ${EGREP="/bin/grep -E"}
+: ${FGREP="/bin/grep -F"}
+: ${GREP="/bin/grep"}
+: ${LN_S="ln -s"}
+: ${MAKE="make"}
+: ${MKDIR="mkdir"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+: ${SED="/bin/sed"}
+: ${SHELL="${CONFIG_SHELL-/bin/sh}"}
+: ${Xsed="$SED -e 1s/^X//"}
+
+# Global variables:
+EXIT_SUCCESS=0
+EXIT_FAILURE=1
+EXIT_MISMATCH=63  # $? = 63 is used to indicate version mismatch to missing.
+EXIT_SKIP=77     # $? = 77 is used to indicate a skipped test to automake.
+
+exit_status=$EXIT_SUCCESS
+
+# Make sure IFS has a sensible default
+lt_nl='
+'
+IFS="  $lt_nl"
+
+dirname="s,/[^/]*$,,"
+basename="s,^.*/,,"
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+# Generated shell functions inserted here.
+
+# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh
+# is ksh but when the shell is invoked as "sh" and the current value of
+# the _XPG environment variable is not equal to 1 (one), the special
+# positional parameter $0, within a function call, is the name of the
+# function.
+progpath="$0"
+
+# The name of this program:
+# In the unlikely event $progname began with a '-', it would play havoc with
+# func_echo (imagine progname=-n), so we prepend ./ in that case:
+func_dirname_and_basename "$progpath"
+progname=$func_basename_result
+case $progname in
+  -*) progname=./$progname ;;
+esac
+
+# Make sure we have an absolute path for reexecution:
+case $progpath in
+  [\\/]*|[A-Za-z]:\\*) ;;
+  *[\\/]*)
+     progdir=$func_dirname_result
+     progdir=`cd "$progdir" && pwd`
+     progpath="$progdir/$progname"
+     ;;
+  *)
+     save_IFS="$IFS"
+     IFS=:
+     for progdir in $PATH; do
+       IFS="$save_IFS"
+       test -x "$progdir/$progname" && break
+     done
+     IFS="$save_IFS"
+     test -n "$progdir" || progdir=`pwd`
+     progpath="$progdir/$progname"
+     ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed="${SED}"' -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\(["`\\]\)/\\\1/g'
+
+# Re-`\' parameter expansions in output of double_quote_subst that were
+# `\'-ed in input to the same.  If an odd number of `\' preceded a '$'
+# in input to double_quote_subst, that '$' was protected from expansion.
+# Since each input `\' is now two `\'s, look for any number of runs of
+# four `\'s followed by two `\'s and then a '$'.  `\' that '$'.
+bs='\\'
+bs2='\\\\'
+bs4='\\\\\\\\'
+dollar='\$'
+sed_double_backslash="\
+  s/$bs4/&\\
+/g
+  s/^$bs2$dollar/$bs&/
+  s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g
+  s/\n//g"
+
+# Standard options:
+opt_dry_run=false
+opt_help=false
+opt_quiet=false
+opt_verbose=false
+opt_warning=:
+
+# func_echo arg...
+# Echo program name prefixed message, along with the current mode
+# name if it has been set yet.
+func_echo ()
+{
+    $ECHO "$progname${mode+: }$mode: $*"
+}
+
+# func_verbose arg...
+# Echo program name prefixed message in verbose mode only.
+func_verbose ()
+{
+    $opt_verbose && func_echo ${1+"$@"}
+
+    # A bug in bash halts the script if the last line of a function
+    # fails when set -e is in force, so we need another command to
+    # work around that:
+    :
+}
+
+# func_error arg...
+# Echo program name prefixed message to standard error.
+func_error ()
+{
+    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+}
+
+# func_warning arg...
+# Echo program name prefixed warning message to standard error.
+func_warning ()
+{
+    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+    # bash bug again:
+    :
+}
+
+# func_fatal_error arg...
+# Echo program name prefixed message to standard error, and exit.
+func_fatal_error ()
+{
+    func_error ${1+"$@"}
+    exit $EXIT_FAILURE
+}
+
+# func_fatal_help arg...
+# Echo program name prefixed message to standard error, followed by
+# a help hint, and exit.
+func_fatal_help ()
+{
+    func_error ${1+"$@"}
+    func_fatal_error "$help"
+}
+help="Try \`$progname --help' for more information."  ## default
+
+
+# func_grep expression filename
+# Check whether EXPRESSION matches any line of FILENAME, without output.
+func_grep ()
+{
+    $GREP "$1" "$2" >/dev/null 2>&1
+}
+
+
+# func_mkdir_p directory-path
+# Make sure the entire path to DIRECTORY-PATH is available.
+func_mkdir_p ()
+{
+    my_directory_path="$1"
+    my_dir_list=
+
+    if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then
+
+      # Protect directory names starting with `-'
+      case $my_directory_path in
+        -*) my_directory_path="./$my_directory_path" ;;
+      esac
+
+      # While some portion of DIR does not yet exist...
+      while test ! -d "$my_directory_path"; do
+        # ...make a list in topmost first order.  Use a colon delimited
+       # list incase some portion of path contains whitespace.
+        my_dir_list="$my_directory_path:$my_dir_list"
+
+        # If the last portion added has no slash in it, the list is done
+        case $my_directory_path in */*) ;; *) break ;; esac
+
+        # ...otherwise throw away the child directory and loop
+        my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"`
+      done
+      my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'`
+
+      save_mkdir_p_IFS="$IFS"; IFS=':'
+      for my_dir in $my_dir_list; do
+       IFS="$save_mkdir_p_IFS"
+        # mkdir can fail with a `File exist' error if two processes
+        # try to create one of the directories concurrently.  Don't
+        # stop in that case!
+        $MKDIR "$my_dir" 2>/dev/null || :
+      done
+      IFS="$save_mkdir_p_IFS"
+
+      # Bail out if we (or some other process) failed to create a directory.
+      test -d "$my_directory_path" || \
+        func_fatal_error "Failed to create \`$1'"
+    fi
+}
+
+
+# func_mktempdir [string]
+# Make a temporary directory that won't clash with other running
+# libtool processes, and avoids race conditions if possible.  If
+# given, STRING is the basename for that directory.
+func_mktempdir ()
+{
+    my_template="${TMPDIR-/tmp}/${1-$progname}"
+
+    if test "$opt_dry_run" = ":"; then
+      # Return a directory name, but don't create it in dry-run mode
+      my_tmpdir="${my_template}-$$"
+    else
+
+      # If mktemp works, use that first and foremost
+      my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null`
+
+      if test ! -d "$my_tmpdir"; then
+        # Failing that, at least try and use $RANDOM to avoid a race
+        my_tmpdir="${my_template}-${RANDOM-0}$$"
+
+        save_mktempdir_umask=`umask`
+        umask 0077
+        $MKDIR "$my_tmpdir"
+        umask $save_mktempdir_umask
+      fi
+
+      # If we're not in dry-run mode, bomb out on failure
+      test -d "$my_tmpdir" || \
+        func_fatal_error "cannot create temporary directory \`$my_tmpdir'"
+    fi
+
+    $ECHO "X$my_tmpdir" | $Xsed
+}
+
+
+# func_quote_for_eval arg
+# Aesthetically quote ARG to be evaled later.
+# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT
+# is double-quoted, suitable for a subsequent eval, whereas
+# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters
+# which are still active within double quotes backslashified.
+func_quote_for_eval ()
+{
+    case $1 in
+      *[\\\`\"\$]*)
+       func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;;
+      *)
+        func_quote_for_eval_unquoted_result="$1" ;;
+    esac
+
+    case $func_quote_for_eval_unquoted_result in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting, command substitution and and variable
+      # expansion for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+        func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\""
+        ;;
+      *)
+        func_quote_for_eval_result="$func_quote_for_eval_unquoted_result"
+    esac
+}
+
+
+# func_quote_for_expand arg
+# Aesthetically quote ARG to be evaled later; same as above,
+# but do not quote variable references.
+func_quote_for_expand ()
+{
+    case $1 in
+      *[\\\`\"]*)
+       my_arg=`$ECHO "X$1" | $Xsed \
+           -e "$double_quote_subst" -e "$sed_double_backslash"` ;;
+      *)
+        my_arg="$1" ;;
+    esac
+
+    case $my_arg in
+      # Double-quote args containing shell metacharacters to delay
+      # word splitting and command substitution for a subsequent eval.
+      # Many Bourne shells cannot handle close brackets correctly
+      # in scan sets, so we specify it separately.
+      *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \    ]*|*]*|"")
+        my_arg="\"$my_arg\""
+        ;;
+    esac
+
+    func_quote_for_expand_result="$my_arg"
+}
+
+
+# func_show_eval cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.
+func_show_eval ()
+{
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$my_cmd"
+      my_status=$?
+      if test "$my_status" -eq 0; then :; else
+       eval "(exit $my_status); $my_fail_exp"
+      fi
+    fi
+}
+
+
+# func_show_eval_locale cmd [fail_exp]
+# Unless opt_silent is true, then output CMD.  Then, if opt_dryrun is
+# not true, evaluate CMD.  If the evaluation of CMD fails, and FAIL_EXP
+# is given, then evaluate it.  Use the saved locale for evaluation.
+func_show_eval_locale ()
+{
+    my_cmd="$1"
+    my_fail_exp="${2-:}"
+
+    ${opt_silent-false} || {
+      func_quote_for_expand "$my_cmd"
+      eval "func_echo $func_quote_for_expand_result"
+    }
+
+    if ${opt_dry_run-false}; then :; else
+      eval "$lt_user_locale
+           $my_cmd"
+      my_status=$?
+      eval "$lt_safe_locale"
+      if test "$my_status" -eq 0; then :; else
+       eval "(exit $my_status); $my_fail_exp"
+      fi
+    fi
+}
+
+
+
+
+
+# func_version
+# Echo version message to standard output and exit.
+func_version ()
+{
+    $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / {
+        s/^# //
+       s/^# *$//
+        s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/
+        p
+     }' < "$progpath"
+     exit $?
+}
+
+# func_usage
+# Echo short help message to standard output and exit.
+func_usage ()
+{
+    $SED -n '/^# Usage:/,/# -h/ {
+        s/^# //
+       s/^# *$//
+       s/\$progname/'$progname'/
+       p
+    }' < "$progpath"
+    $ECHO
+    $ECHO "run \`$progname --help | more' for full usage"
+    exit $?
+}
+
+# func_help
+# Echo long help message to standard output and exit.
+func_help ()
+{
+    $SED -n '/^# Usage:/,/# Report bugs to/ {
+        s/^# //
+       s/^# *$//
+       s*\$progname*'$progname'*
+       s*\$host*'"$host"'*
+       s*\$SHELL*'"$SHELL"'*
+       s*\$LTCC*'"$LTCC"'*
+       s*\$LTCFLAGS*'"$LTCFLAGS"'*
+       s*\$LD*'"$LD"'*
+       s/\$with_gnu_ld/'"$with_gnu_ld"'/
+       s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
+       s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+       p
+     }' < "$progpath"
+    exit $?
+}
+
+# func_missing_arg argname
+# Echo program name prefixed message to standard error and set global
+# exit_cmd.
+func_missing_arg ()
+{
+    func_error "missing argument for $1"
+    exit_cmd=exit
+}
+
+exit_cmd=:
+
+
+
+
+
+# Check that we have a working $ECHO.
+if test "X$1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X$1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell, and then maybe $ECHO will work.
+  exec $SHELL "$progpath" --no-reexec ${1+"$@"}
+fi
+
+if test "X$1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<EOF
+$*
+EOF
+  exit $EXIT_SUCCESS
+fi
+
+magic="%%%MAGIC variable%%%"
+magic_exe="%%%MAGIC EXE variable%%%"
+
+# Global variables.
+# $mode is unset
+nonopt=
+execute_dlfiles=
+preserve_args=
+lo2o="s/\\.lo\$/.${objext}/"
+o2lo="s/\\.${objext}\$/.lo/"
+extracted_archives=
+extracted_serial=0
+
+opt_dry_run=false
+opt_duplicate_deps=false
+opt_silent=false
+opt_debug=:
+
+# If this variable is set in any of the actions, the command in it
+# will be execed at the end.  This prevents here-documents from being
+# left over by shells.
+exec_cmd=
+
+# func_fatal_configuration arg...
+# Echo program name prefixed message to standard error, followed by
+# a configuration failure hint, and exit.
+func_fatal_configuration ()
+{
+    func_error ${1+"$@"}
+    func_error "See the $PACKAGE documentation for more information."
+    func_fatal_error "Fatal configuration error."
+}
+
+
+# func_config
+# Display the configuration for all the tags in this script.
+func_config ()
+{
+    re_begincf='^# ### BEGIN LIBTOOL'
+    re_endcf='^# ### END LIBTOOL'
+
+    # Default configuration.
+    $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath"
+
+    # Now print the configurations for the tags.
+    for tagname in $taglist; do
+      $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath"
+    done
+
+    exit $?
+}
+
+# func_features
+# Display the features supported by this script.
+func_features ()
+{
+    $ECHO "host: $host"
+    if test "$build_libtool_libs" = yes; then
+      $ECHO "enable shared libraries"
+    else
+      $ECHO "disable shared libraries"
+    fi
+    if test "$build_old_libs" = yes; then
+      $ECHO "enable static libraries"
+    else
+      $ECHO "disable static libraries"
+    fi
+
+    exit $?
+}
+
+# func_enable_tag tagname
+# Verify that TAGNAME is valid, and either flag an error and exit, or
+# enable the TAGNAME tag.  We also add TAGNAME to the global $taglist
+# variable here.
+func_enable_tag ()
+{
+  # Global variable:
+  tagname="$1"
+
+  re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$"
+  re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$"
+  sed_extractcf="/$re_begincf/,/$re_endcf/p"
+
+  # Validate tagname.
+  case $tagname in
+    *[!-_A-Za-z0-9,/]*)
+      func_fatal_error "invalid tag name: $tagname"
+      ;;
+  esac
+
+  # Don't test for the "default" C tag, as we know it's
+  # there but not specially marked.
+  case $tagname in
+    CC) ;;
+    *)
+      if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then
+       taglist="$taglist $tagname"
+
+       # Evaluate the configuration.  Be careful to quote the path
+       # and the sed script, to avoid splitting on whitespace, but
+       # also don't use non-portable quotes within backquotes within
+       # quotes we have to do it in 2 steps:
+       extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"`
+       eval "$extractedcf"
+      else
+       func_error "ignoring unknown tag $tagname"
+      fi
+      ;;
+  esac
+}
+
+# Parse options once, thoroughly.  This comes as soon as possible in
+# the script to make things like `libtool --version' happen quickly.
+{
+
+  # Shorthand for --mode=foo, only valid as the first argument
+  case $1 in
+  clean|clea|cle|cl)
+    shift; set dummy --mode clean ${1+"$@"}; shift
+    ;;
+  compile|compil|compi|comp|com|co|c)
+    shift; set dummy --mode compile ${1+"$@"}; shift
+    ;;
+  execute|execut|execu|exec|exe|ex|e)
+    shift; set dummy --mode execute ${1+"$@"}; shift
+    ;;
+  finish|finis|fini|fin|fi|f)
+    shift; set dummy --mode finish ${1+"$@"}; shift
+    ;;
+  install|instal|insta|inst|ins|in|i)
+    shift; set dummy --mode install ${1+"$@"}; shift
+    ;;
+  link|lin|li|l)
+    shift; set dummy --mode link ${1+"$@"}; shift
+    ;;
+  uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
+    shift; set dummy --mode uninstall ${1+"$@"}; shift
+    ;;
+  esac
+
+  # Parse non-mode specific arguments:
+  while test "$#" -gt 0; do
+    opt="$1"
+    shift
+
+    case $opt in
+      --config)                func_config                                     ;;
+
+      --debug)         preserve_args="$preserve_args $opt"
+                       func_echo "enabling shell trace mode"
+                       opt_debug='set -x'
+                       $opt_debug
+                       ;;
+
+      -dlopen)         test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       execute_dlfiles="$execute_dlfiles $1"
+                       shift
+                       ;;
+
+      --dry-run | -n)  opt_dry_run=:                                   ;;
+      --features)       func_features                                  ;;
+      --finish)                mode="finish"                                   ;;
+
+      --mode)          test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       case $1 in
+                         # Valid mode arguments:
+                         clean)        ;;
+                         compile)      ;;
+                         execute)      ;;
+                         finish)       ;;
+                         install)      ;;
+                         link)         ;;
+                         relink)       ;;
+                         uninstall)    ;;
+
+                         # Catch anything else as an error
+                         *) func_error "invalid argument for $opt"
+                            exit_cmd=exit
+                            break
+                            ;;
+                       esac
+
+                       mode="$1"
+                       shift
+                       ;;
+
+      --preserve-dup-deps)
+                       opt_duplicate_deps=:                            ;;
+
+      --quiet|--silent)        preserve_args="$preserve_args $opt"
+                       opt_silent=:
+                       ;;
+
+      --verbose| -v)   preserve_args="$preserve_args $opt"
+                       opt_silent=false
+                       ;;
+
+      --tag)           test "$#" -eq 0 && func_missing_arg "$opt" && break
+                       preserve_args="$preserve_args $opt $1"
+                       func_enable_tag "$1"    # tagname is set here
+                       shift
+                       ;;
+
+      # Separate optargs to long options:
+      -dlopen=*|--mode=*|--tag=*)
+                       func_opt_split "$opt"
+                       set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"}
+                       shift
+                       ;;
+
+      -\?|-h)          func_usage                                      ;;
+      --help)          opt_help=:                                      ;;
+      --version)       func_version                                    ;;
+
+      -*)              func_fatal_help "unrecognized option \`$opt'"   ;;
+
+      *)               nonopt="$opt"
+                       break
+                       ;;
+    esac
+  done
+
+
+  case $host in
+    *cygwin* | *mingw* | *pw32* | *cegcc*)
+      # don't eliminate duplications in $postdeps and $predeps
+      opt_duplicate_compiler_generated_deps=:
+      ;;
+    *)
+      opt_duplicate_compiler_generated_deps=$opt_duplicate_deps
+      ;;
+  esac
+
+  # Having warned about all mis-specified options, bail out if
+  # anything was wrong.
+  $exit_cmd $EXIT_FAILURE
+}
+
+# func_check_version_match
+# Ensure that we are using m4 macros, and libtool script from the same
+# release of libtool.
+func_check_version_match ()
+{
+  if test "$package_revision" != "$macro_revision"; then
+    if test "$VERSION" != "$macro_version"; then
+      if test -z "$macro_version"; then
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from an older release.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      else
+        cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, but the
+$progname: definition of this LT_INIT comes from $PACKAGE $macro_version.
+$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION
+$progname: and run autoconf again.
+_LT_EOF
+      fi
+    else
+      cat >&2 <<_LT_EOF
+$progname: Version mismatch error.  This is $PACKAGE $VERSION, revision $package_revision,
+$progname: but the definition of this LT_INIT comes from revision $macro_revision.
+$progname: You should recreate aclocal.m4 with macros from revision $package_revision
+$progname: of $PACKAGE $VERSION and run autoconf again.
+_LT_EOF
+    fi
+
+    exit $EXIT_MISMATCH
+  fi
+}
+
+
+## ----------- ##
+##    Main.    ##
+## ----------- ##
+
+$opt_help || {
+  # Sanity checks first:
+  func_check_version_match
+
+  if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then
+    func_fatal_configuration "not configured to build any kind of library"
+  fi
+
+  test -z "$mode" && func_fatal_error "error: you must specify a MODE."
+
+
+  # Darwin sucks
+  eval std_shrext=\"$shrext_cmds\"
+
+
+  # Only execute mode is allowed to have -dlopen flags.
+  if test -n "$execute_dlfiles" && test "$mode" != execute; then
+    func_error "unrecognized option \`-dlopen'"
+    $ECHO "$help" 1>&2
+    exit $EXIT_FAILURE
+  fi
+
+  # Change the help message to a mode-specific one.
+  generic_help="$help"
+  help="Try \`$progname --help --mode=$mode' for more information."
+}
+
+
+# func_lalib_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_lalib_p ()
+{
+    test -f "$1" &&
+      $SED -e 4q "$1" 2>/dev/null \
+        | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1
+}
+
+# func_lalib_unsafe_p file
+# True iff FILE is a libtool `.la' library or `.lo' object file.
+# This function implements the same check as func_lalib_p without
+# resorting to external programs.  To this end, it redirects stdin and
+# closes it afterwards, without saving the original file descriptor.
+# As a safety measure, use it only where a negative result would be
+# fatal anyway.  Works if `file' does not exist.
+func_lalib_unsafe_p ()
+{
+    lalib_p=no
+    if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then
+       for lalib_p_l in 1 2 3 4
+       do
+           read lalib_p_line
+           case "$lalib_p_line" in
+               \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;;
+           esac
+       done
+       exec 0<&5 5<&-
+    fi
+    test "$lalib_p" = yes
+}
+
+# func_ltwrapper_script_p file
+# True iff FILE is a libtool wrapper script
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_script_p ()
+{
+    func_lalib_p "$1"
+}
+
+# func_ltwrapper_executable_p file
+# True iff FILE is a libtool wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_executable_p ()
+{
+    func_ltwrapper_exec_suffix=
+    case $1 in
+    *.exe) ;;
+    *) func_ltwrapper_exec_suffix=.exe ;;
+    esac
+    $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1
+}
+
+# func_ltwrapper_scriptname file
+# Assumes file is an ltwrapper_executable
+# uses $file to determine the appropriate filename for a
+# temporary ltwrapper_script.
+func_ltwrapper_scriptname ()
+{
+    func_ltwrapper_scriptname_result=""
+    if func_ltwrapper_executable_p "$1"; then
+       func_dirname_and_basename "$1" "" "."
+       func_stripname '' '.exe' "$func_basename_result"
+       func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper"
+    fi
+}
+
+# func_ltwrapper_p file
+# True iff FILE is a libtool wrapper script or wrapper executable
+# This function is only a basic sanity check; it will hardly flush out
+# determined imposters.
+func_ltwrapper_p ()
+{
+    func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1"
+}
+
+
+# func_execute_cmds commands fail_cmd
+# Execute tilde-delimited COMMANDS.
+# If FAIL_CMD is given, eval that upon failure.
+# FAIL_CMD may read-access the current command in variable CMD!
+func_execute_cmds ()
+{
+    $opt_debug
+    save_ifs=$IFS; IFS='~'
+    for cmd in $1; do
+      IFS=$save_ifs
+      eval cmd=\"$cmd\"
+      func_show_eval "$cmd" "${2-:}"
+    done
+    IFS=$save_ifs
+}
+
+
+# func_source file
+# Source FILE, adding directory component if necessary.
+# Note that it is not necessary on cygwin/mingw to append a dot to
+# FILE even if both FILE and FILE.exe exist: automatic-append-.exe
+# behavior happens only for exec(3), not for open(2)!  Also, sourcing
+# `FILE.' does not work on cygwin managed mounts.
+func_source ()
+{
+    $opt_debug
+    case $1 in
+    */* | *\\*)        . "$1" ;;
+    *)         . "./$1" ;;
+    esac
+}
+
+
+# func_infer_tag arg
+# Infer tagged configuration to use if any are available and
+# if one wasn't chosen via the "--tag" command line option.
+# Only attempt this if the compiler in the base compile
+# command doesn't match the default compiler.
+# arg is usually of the form 'gcc ...'
+func_infer_tag ()
+{
+    $opt_debug
+    if test -n "$available_tags" && test -z "$tagname"; then
+      CC_quoted=
+      for arg in $CC; do
+        func_quote_for_eval "$arg"
+       CC_quoted="$CC_quoted $func_quote_for_eval_result"
+      done
+      case $@ in
+      # Blanks in the command may have been stripped by the calling shell,
+      # but not from the CC environment variable when configure was run.
+      " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*) ;;
+      # Blanks at the start of $base_compile will cause this to fail
+      # if we don't check for them as well.
+      *)
+       for z in $available_tags; do
+         if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then
+           # Evaluate the configuration.
+           eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`"
+           CC_quoted=
+           for arg in $CC; do
+             # Double-quote args containing other shell metacharacters.
+             func_quote_for_eval "$arg"
+             CC_quoted="$CC_quoted $func_quote_for_eval_result"
+           done
+           case "$@ " in
+             " $CC "* | "$CC "* | " `$ECHO $CC` "* | "`$ECHO $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$ECHO $CC_quoted` "* | "`$ECHO $CC_quoted` "*)
+             # The compiler in the base compile command matches
+             # the one in the tagged configuration.
+             # Assume this is the tagged configuration we want.
+             tagname=$z
+             break
+             ;;
+           esac
+         fi
+       done
+       # If $tagname still isn't set, then no tagged configuration
+       # was found and let the user know that the "--tag" command
+       # line option must be used.
+       if test -z "$tagname"; then
+         func_echo "unable to infer tagged configuration"
+         func_fatal_error "specify a tag with \`--tag'"
+#      else
+#        func_verbose "using $tagname tagged configuration"
+       fi
+       ;;
+      esac
+    fi
+}
+
+
+
+# func_write_libtool_object output_name pic_name nonpic_name
+# Create a libtool object file (analogous to a ".la" file),
+# but don't create it if we're doing a dry run.
+func_write_libtool_object ()
+{
+    write_libobj=${1}
+    if test "$build_libtool_libs" = yes; then
+      write_lobj=\'${2}\'
+    else
+      write_lobj=none
+    fi
+
+    if test "$build_old_libs" = yes; then
+      write_oldobj=\'${3}\'
+    else
+      write_oldobj=none
+    fi
+
+    $opt_dry_run || {
+      cat >${write_libobj}T <<EOF
+# $write_libobj - a libtool object file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
+pic_object=$write_lobj
+
+# Name of the non-PIC object
+non_pic_object=$write_oldobj
+
+EOF
+      $MV "${write_libobj}T" "${write_libobj}"
+    }
+}
+
+# func_mode_compile arg...
+func_mode_compile ()
+{
+    $opt_debug
+    # Get the compilation command and the source file.
+    base_compile=
+    srcfile="$nonopt"  #  always keep a non-empty value in "srcfile"
+    suppress_opt=yes
+    suppress_output=
+    arg_mode=normal
+    libobj=
+    later=
+    pie_flag=
+
+    for arg
+    do
+      case $arg_mode in
+      arg  )
+       # do not "continue".  Instead, add this to base_compile
+       lastarg="$arg"
+       arg_mode=normal
+       ;;
+
+      target )
+       libobj="$arg"
+       arg_mode=normal
+       continue
+       ;;
+
+      normal )
+       # Accept any command-line options.
+       case $arg in
+       -o)
+         test -n "$libobj" && \
+           func_fatal_error "you cannot specify \`-o' more than once"
+         arg_mode=target
+         continue
+         ;;
+
+       -pie | -fpie | -fPIE)
+          pie_flag="$pie_flag $arg"
+         continue
+         ;;
+
+       -shared | -static | -prefer-pic | -prefer-non-pic)
+         later="$later $arg"
+         continue
+         ;;
+
+       -no-suppress)
+         suppress_opt=no
+         continue
+         ;;
+
+       -Xcompiler)
+         arg_mode=arg  #  the next one goes into the "base_compile" arg list
+         continue      #  The current "srcfile" will either be retained or
+         ;;            #  replaced later.  I would guess that would be a bug.
+
+       -Wc,*)
+         func_stripname '-Wc,' '' "$arg"
+         args=$func_stripname_result
+         lastarg=
+         save_ifs="$IFS"; IFS=','
+         for arg in $args; do
+           IFS="$save_ifs"
+           func_quote_for_eval "$arg"
+           lastarg="$lastarg $func_quote_for_eval_result"
+         done
+         IFS="$save_ifs"
+         func_stripname ' ' '' "$lastarg"
+         lastarg=$func_stripname_result
+
+         # Add the arguments to base_compile.
+         base_compile="$base_compile $lastarg"
+         continue
+         ;;
+
+       *)
+         # Accept the current argument as the source file.
+         # The previous "srcfile" becomes the current argument.
+         #
+         lastarg="$srcfile"
+         srcfile="$arg"
+         ;;
+       esac  #  case $arg
+       ;;
+      esac    #  case $arg_mode
+
+      # Aesthetically quote the previous argument.
+      func_quote_for_eval "$lastarg"
+      base_compile="$base_compile $func_quote_for_eval_result"
+    done # for arg
+
+    case $arg_mode in
+    arg)
+      func_fatal_error "you must specify an argument for -Xcompile"
+      ;;
+    target)
+      func_fatal_error "you must specify a target with \`-o'"
+      ;;
+    *)
+      # Get the name of the library object.
+      test -z "$libobj" && {
+       func_basename "$srcfile"
+       libobj="$func_basename_result"
+      }
+      ;;
+    esac
+
+    # Recognize several different file suffixes.
+    # If the user specifies -o file.o, it is replaced with file.lo
+    case $libobj in
+    *.[cCFSifmso] | \
+    *.ada | *.adb | *.ads | *.asm | \
+    *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
+    *.[fF][09]? | *.for | *.java | *.obj | *.sx)
+      func_xform "$libobj"
+      libobj=$func_xform_result
+      ;;
+    esac
+
+    case $libobj in
+    *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;;
+    *)
+      func_fatal_error "cannot determine name of library object from \`$libobj'"
+      ;;
+    esac
+
+    func_infer_tag $base_compile
+
+    for arg in $later; do
+      case $arg in
+      -shared)
+       test "$build_libtool_libs" != yes && \
+         func_fatal_configuration "can not build a shared library"
+       build_old_libs=no
+       continue
+       ;;
+
+      -static)
+       build_libtool_libs=no
+       build_old_libs=yes
+       continue
+       ;;
+
+      -prefer-pic)
+       pic_mode=yes
+       continue
+       ;;
+
+      -prefer-non-pic)
+       pic_mode=no
+       continue
+       ;;
+      esac
+    done
+
+    func_quote_for_eval "$libobj"
+    test "X$libobj" != "X$func_quote_for_eval_result" \
+      && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"'   &()|`$[]' \
+      && func_warning "libobj name \`$libobj' may not contain shell special characters."
+    func_dirname_and_basename "$obj" "/" ""
+    objname="$func_basename_result"
+    xdir="$func_dirname_result"
+    lobj=${xdir}$objdir/$objname
+
+    test -z "$base_compile" && \
+      func_fatal_help "you must specify a compilation command"
+
+    # Delete any leftover library objects.
+    if test "$build_old_libs" = yes; then
+      removelist="$obj $lobj $libobj ${libobj}T"
+    else
+      removelist="$lobj $libobj ${libobj}T"
+    fi
+
+    # On Cygwin there's no "real" PIC flag so we must build both object types
+    case $host_os in
+    cygwin* | mingw* | pw32* | os2* | cegcc*)
+      pic_mode=default
+      ;;
+    esac
+    if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then
+      # non-PIC code in shared libraries is not supported
+      pic_mode=default
+    fi
+
+    # Calculate the filename of the output object if compiler does
+    # not support -o with -c
+    if test "$compiler_c_o" = no; then
+      output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext}
+      lockfile="$output_obj.lock"
+    else
+      output_obj=
+      need_locks=no
+      lockfile=
+    fi
+
+    # Lock this critical section if it is needed
+    # We use this script file to make the link, it avoids creating a new file
+    if test "$need_locks" = yes; then
+      until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do
+       func_echo "Waiting for $lockfile to be removed"
+       sleep 2
+      done
+    elif test "$need_locks" = warn; then
+      if test -f "$lockfile"; then
+       $ECHO "\
+*** ERROR, $lockfile exists and contains:
+`cat $lockfile 2>/dev/null`
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $opt_dry_run || $RM $removelist
+       exit $EXIT_FAILURE
+      fi
+      removelist="$removelist $output_obj"
+      $ECHO "$srcfile" > "$lockfile"
+    fi
+
+    $opt_dry_run || $RM $removelist
+    removelist="$removelist $lockfile"
+    trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15
+
+    if test -n "$fix_srcfile_path"; then
+      eval srcfile=\"$fix_srcfile_path\"
+    fi
+    func_quote_for_eval "$srcfile"
+    qsrcfile=$func_quote_for_eval_result
+
+    # Only build a PIC object if we are building libtool libraries.
+    if test "$build_libtool_libs" = yes; then
+      # Without this assignment, base_compile gets emptied.
+      fbsd_hideous_sh_bug=$base_compile
+
+      if test "$pic_mode" != no; then
+       command="$base_compile $qsrcfile $pic_flag"
+      else
+       # Don't build PIC code
+       command="$base_compile $qsrcfile"
+      fi
+
+      func_mkdir_p "$xdir$objdir"
+
+      if test -z "$output_obj"; then
+       # Place PIC objects in $objdir
+       command="$command -o $lobj"
+      fi
+
+      func_show_eval_locale "$command" \
+          'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE'
+
+      if test "$need_locks" = warn &&
+        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+       $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $opt_dry_run || $RM $removelist
+       exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed, then go on to compile the next one
+      if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then
+       func_show_eval '$MV "$output_obj" "$lobj"' \
+         'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+
+      # Allow error messages only from the first compilation.
+      if test "$suppress_opt" = yes; then
+       suppress_output=' >/dev/null 2>&1'
+      fi
+    fi
+
+    # Only build a position-dependent object if we build old libraries.
+    if test "$build_old_libs" = yes; then
+      if test "$pic_mode" != yes; then
+       # Don't build PIC code
+       command="$base_compile $qsrcfile$pie_flag"
+      else
+       command="$base_compile $qsrcfile $pic_flag"
+      fi
+      if test "$compiler_c_o" = yes; then
+       command="$command -o $obj"
+      fi
+
+      # Suppress compiler output if we already did a PIC compilation.
+      command="$command$suppress_output"
+      func_show_eval_locale "$command" \
+        '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE'
+
+      if test "$need_locks" = warn &&
+        test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then
+       $ECHO "\
+*** ERROR, $lockfile contains:
+`cat $lockfile 2>/dev/null`
+
+but it should contain:
+$srcfile
+
+This indicates that another process is trying to use the same
+temporary object file, and libtool could not work around it because
+your compiler does not support \`-c' and \`-o' together.  If you
+repeat this compilation, it may succeed, by chance, but you had better
+avoid parallel builds (make -j) in this platform, or get a better
+compiler."
+
+       $opt_dry_run || $RM $removelist
+       exit $EXIT_FAILURE
+      fi
+
+      # Just move the object if needed
+      if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then
+       func_show_eval '$MV "$output_obj" "$obj"' \
+         'error=$?; $opt_dry_run || $RM $removelist; exit $error'
+      fi
+    fi
+
+    $opt_dry_run || {
+      func_write_libtool_object "$libobj" "$objdir/$objname" "$objname"
+
+      # Unlock the critical section if it was locked
+      if test "$need_locks" != no; then
+       removelist=$lockfile
+        $RM "$lockfile"
+      fi
+    }
+
+    exit $EXIT_SUCCESS
+}
+
+$opt_help || {
+test "$mode" = compile && func_mode_compile ${1+"$@"}
+}
+
+func_mode_help ()
+{
+    # We need to display help for each of the modes.
+    case $mode in
+      "")
+        # Generic help is extracted from the usage comments
+        # at the start of this file.
+        func_help
+        ;;
+
+      clean)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE...
+
+Remove files from the build directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, object or program, all the files associated
+with it are deleted. Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      compile)
+      $ECHO \
+"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE
+
+Compile a source file into a libtool library object.
+
+This mode accepts the following additional options:
+
+  -o OUTPUT-FILE    set the output file name to OUTPUT-FILE
+  -no-suppress      do not suppress compiler output for multiple passes
+  -prefer-pic       try to building PIC objects only
+  -prefer-non-pic   try to building non-PIC objects only
+  -shared           do not build a \`.o' file suitable for static linking
+  -static           only build a \`.o' file suitable for static linking
+
+COMPILE-COMMAND is a command to be used in creating a \`standard' object file
+from the given SOURCEFILE.
+
+The output file name is determined by removing the directory component from
+SOURCEFILE, then substituting the C source code suffix \`.c' with the
+library object suffix, \`.lo'."
+        ;;
+
+      execute)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]...
+
+Automatically set library path, then run a program.
+
+This mode accepts the following additional options:
+
+  -dlopen FILE      add the directory containing FILE to the library path
+
+This mode sets the library path environment variable according to \`-dlopen'
+flags.
+
+If any of the ARGS are libtool executable wrappers, then they are translated
+into their corresponding uninstalled binary, and any of their required library
+directories are added to the library path.
+
+Then, COMMAND is executed, with ARGS as arguments."
+        ;;
+
+      finish)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=finish [LIBDIR]...
+
+Complete the installation of libtool libraries.
+
+Each LIBDIR is a directory that contains libtool libraries.
+
+The commands that this mode executes may require superuser privileges.  Use
+the \`--dry-run' option if you just want to see what would be executed."
+        ;;
+
+      install)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND...
+
+Install executables or libraries.
+
+INSTALL-COMMAND is the installation command.  The first component should be
+either the \`install' or \`cp' program.
+
+The following components of INSTALL-COMMAND are treated specially:
+
+  -inst-prefix PREFIX-DIR  Use PREFIX-DIR as a staging area for installation
+
+The rest of the components are interpreted as arguments to that command (only
+BSD-compatible install options are recognized)."
+        ;;
+
+      link)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=link LINK-COMMAND...
+
+Link object files or libraries together to form another library, or to
+create an executable program.
+
+LINK-COMMAND is a command using the C compiler that you would use to create
+a program from several object files.
+
+The following components of LINK-COMMAND are treated specially:
+
+  -all-static       do not do any dynamic linking at all
+  -avoid-version    do not add a version suffix if possible
+  -dlopen FILE      \`-dlpreopen' FILE if it cannot be dlopened at runtime
+  -dlpreopen FILE   link in FILE and add its symbols to lt_preloaded_symbols
+  -export-dynamic   allow symbols from OUTPUT-FILE to be resolved with dlsym(3)
+  -export-symbols SYMFILE
+                    try to export only the symbols listed in SYMFILE
+  -export-symbols-regex REGEX
+                    try to export only the symbols matching REGEX
+  -LLIBDIR          search LIBDIR for required installed libraries
+  -lNAME            OUTPUT-FILE requires the installed library libNAME
+  -module           build a library that can dlopened
+  -no-fast-install  disable the fast-install mode
+  -no-install       link a not-installable executable
+  -no-undefined     declare that a library does not refer to external symbols
+  -o OUTPUT-FILE    create OUTPUT-FILE from the specified objects
+  -objectlist FILE  Use a list of object files found in FILE to specify objects
+  -precious-files-regex REGEX
+                    don't remove output files matching REGEX
+  -release RELEASE  specify package release information
+  -rpath LIBDIR     the created library will eventually be installed in LIBDIR
+  -R[ ]LIBDIR       add LIBDIR to the runtime path of programs and libraries
+  -shared           only do dynamic linking of libtool libraries
+  -shrext SUFFIX    override the standard shared library file extension
+  -static           do not do any dynamic linking of uninstalled libtool libraries
+  -static-libtool-libs
+                    do not do any dynamic linking of libtool libraries
+  -version-info CURRENT[:REVISION[:AGE]]
+                    specify library version info [each variable defaults to 0]
+  -weak LIBNAME     declare that the target provides the LIBNAME interface
+
+All other options (arguments beginning with \`-') are ignored.
+
+Every other argument is treated as a filename.  Files ending in \`.la' are
+treated as uninstalled libtool libraries, other files are standard or library
+object files.
+
+If the OUTPUT-FILE ends in \`.la', then a libtool library is created,
+only library objects (\`.lo' files) may be specified, and \`-rpath' is
+required, except when creating a convenience library.
+
+If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created
+using \`ar' and \`ranlib', or on Windows using \`lib'.
+
+If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file
+is created, otherwise an executable program is created."
+        ;;
+
+      uninstall)
+        $ECHO \
+"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE...
+
+Remove libraries from an installation directory.
+
+RM is the name of the program to use to delete files associated with each FILE
+(typically \`/bin/rm').  RM-OPTIONS are options (such as \`-f') to be passed
+to RM.
+
+If FILE is a libtool library, all the files associated with it are deleted.
+Otherwise, only FILE itself is deleted using RM."
+        ;;
+
+      *)
+        func_fatal_help "invalid operation mode \`$mode'"
+        ;;
+    esac
+
+    $ECHO
+    $ECHO "Try \`$progname --help' for more information about other modes."
+
+    exit $?
+}
+
+  # Now that we've collected a possible --mode arg, show help if necessary
+  $opt_help && func_mode_help
+
+
+# func_mode_execute arg...
+func_mode_execute ()
+{
+    $opt_debug
+    # The first argument is the command name.
+    cmd="$nonopt"
+    test -z "$cmd" && \
+      func_fatal_help "you must specify a COMMAND"
+
+    # Handle -dlopen flags immediately.
+    for file in $execute_dlfiles; do
+      test -f "$file" \
+       || func_fatal_help "\`$file' is not a file"
+
+      dir=
+      case $file in
+      *.la)
+       # Check to see that this really is a libtool archive.
+       func_lalib_unsafe_p "$file" \
+         || func_fatal_help "\`$lib' is not a valid libtool archive"
+
+       # Read the libtool library.
+       dlname=
+       library_names=
+       func_source "$file"
+
+       # Skip this library if it cannot be dlopened.
+       if test -z "$dlname"; then
+         # Warn if it was a shared library.
+         test -n "$library_names" && \
+           func_warning "\`$file' was not linked with \`-export-dynamic'"
+         continue
+       fi
+
+       func_dirname "$file" "" "."
+       dir="$func_dirname_result"
+
+       if test -f "$dir/$objdir/$dlname"; then
+         dir="$dir/$objdir"
+       else
+         if test ! -f "$dir/$dlname"; then
+           func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'"
+         fi
+       fi
+       ;;
+
+      *.lo)
+       # Just add the directory containing the .lo file.
+       func_dirname "$file" "" "."
+       dir="$func_dirname_result"
+       ;;
+
+      *)
+       func_warning "\`-dlopen' is ignored for non-libtool libraries and objects"
+       continue
+       ;;
+      esac
+
+      # Get the absolute pathname.
+      absdir=`cd "$dir" && pwd`
+      test -n "$absdir" && dir="$absdir"
+
+      # Now add the directory to shlibpath_var.
+      if eval "test -z \"\$$shlibpath_var\""; then
+       eval "$shlibpath_var=\"\$dir\""
+      else
+       eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\""
+      fi
+    done
+
+    # This variable tells wrapper scripts just to set shlibpath_var
+    # rather than running their programs.
+    libtool_execute_magic="$magic"
+
+    # Check if any of the arguments is a wrapper script.
+    args=
+    for file
+    do
+      case $file in
+      -*) ;;
+      *)
+       # Do a test to see if this is really a libtool program.
+       if func_ltwrapper_script_p "$file"; then
+         func_source "$file"
+         # Transform arg to wrapped name.
+         file="$progdir/$program"
+       elif func_ltwrapper_executable_p "$file"; then
+         func_ltwrapper_scriptname "$file"
+         func_source "$func_ltwrapper_scriptname_result"
+         # Transform arg to wrapped name.
+         file="$progdir/$program"
+       fi
+       ;;
+      esac
+      # Quote arguments (to preserve shell metacharacters).
+      func_quote_for_eval "$file"
+      args="$args $func_quote_for_eval_result"
+    done
+
+    if test "X$opt_dry_run" = Xfalse; then
+      if test -n "$shlibpath_var"; then
+       # Export the shlibpath_var.
+       eval "export $shlibpath_var"
+      fi
+
+      # Restore saved environment variables
+      for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES
+      do
+       eval "if test \"\${save_$lt_var+set}\" = set; then
+                $lt_var=\$save_$lt_var; export $lt_var
+             else
+               $lt_unset $lt_var
+             fi"
+      done
+
+      # Now prepare to actually exec the command.
+      exec_cmd="\$cmd$args"
+    else
+      # Display what would be done.
+      if test -n "$shlibpath_var"; then
+       eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\""
+       $ECHO "export $shlibpath_var"
+      fi
+      $ECHO "$cmd$args"
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$mode" = execute && func_mode_execute ${1+"$@"}
+
+
+# func_mode_finish arg...
+func_mode_finish ()
+{
+    $opt_debug
+    libdirs="$nonopt"
+    admincmds=
+
+    if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+      for dir
+      do
+       libdirs="$libdirs $dir"
+      done
+
+      for libdir in $libdirs; do
+       if test -n "$finish_cmds"; then
+         # Do each command in the finish commands.
+         func_execute_cmds "$finish_cmds" 'admincmds="$admincmds
+'"$cmd"'"'
+       fi
+       if test -n "$finish_eval"; then
+         # Do the single finish_eval.
+         eval cmds=\"$finish_eval\"
+         $opt_dry_run || eval "$cmds" || admincmds="$admincmds
+       $cmds"
+       fi
+      done
+    fi
+
+    # Exit here if they wanted silent mode.
+    $opt_silent && exit $EXIT_SUCCESS
+
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    $ECHO "Libraries have been installed in:"
+    for libdir in $libdirs; do
+      $ECHO "   $libdir"
+    done
+    $ECHO
+    $ECHO "If you ever happen to want to link against installed libraries"
+    $ECHO "in a given directory, LIBDIR, you must either use libtool, and"
+    $ECHO "specify the full pathname of the library, or use the \`-LLIBDIR'"
+    $ECHO "flag during linking and do at least one of the following:"
+    if test -n "$shlibpath_var"; then
+      $ECHO "   - add LIBDIR to the \`$shlibpath_var' environment variable"
+      $ECHO "     during execution"
+    fi
+    if test -n "$runpath_var"; then
+      $ECHO "   - add LIBDIR to the \`$runpath_var' environment variable"
+      $ECHO "     during linking"
+    fi
+    if test -n "$hardcode_libdir_flag_spec"; then
+      libdir=LIBDIR
+      eval flag=\"$hardcode_libdir_flag_spec\"
+
+      $ECHO "   - use the \`$flag' linker flag"
+    fi
+    if test -n "$admincmds"; then
+      $ECHO "   - have your system administrator run these commands:$admincmds"
+    fi
+    if test -f /etc/ld.so.conf; then
+      $ECHO "   - have your system administrator add LIBDIR to \`/etc/ld.so.conf'"
+    fi
+    $ECHO
+
+    $ECHO "See any operating system documentation about shared libraries for"
+    case $host in
+      solaris2.[6789]|solaris2.1[0-9])
+        $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual"
+       $ECHO "pages."
+       ;;
+      *)
+        $ECHO "more information, such as the ld(1) and ld.so(8) manual pages."
+        ;;
+    esac
+    $ECHO "X----------------------------------------------------------------------" | $Xsed
+    exit $EXIT_SUCCESS
+}
+
+test "$mode" = finish && func_mode_finish ${1+"$@"}
+
+
+# func_mode_install arg...
+func_mode_install ()
+{
+    $opt_debug
+    # There may be an optional sh(1) argument at the beginning of
+    # install_prog (especially on Windows NT).
+    if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh ||
+       # Allow the use of GNU shtool's install command.
+       $ECHO "X$nonopt" | $GREP shtool >/dev/null; then
+      # Aesthetically quote it.
+      func_quote_for_eval "$nonopt"
+      install_prog="$func_quote_for_eval_result "
+      arg=$1
+      shift
+    else
+      install_prog=
+      arg=$nonopt
+    fi
+
+    # The real first argument should be the name of the installation program.
+    # Aesthetically quote it.
+    func_quote_for_eval "$arg"
+    install_prog="$install_prog$func_quote_for_eval_result"
+
+    # We need to accept at least all the BSD install flags.
+    dest=
+    files=
+    opts=
+    prev=
+    install_type=
+    isdir=no
+    stripme=
+    for arg
+    do
+      if test -n "$dest"; then
+       files="$files $dest"
+       dest=$arg
+       continue
+      fi
+
+      case $arg in
+      -d) isdir=yes ;;
+      -f)
+       case " $install_prog " in
+       *[\\\ /]cp\ *) ;;
+       *) prev=$arg ;;
+       esac
+       ;;
+      -g | -m | -o)
+       prev=$arg
+       ;;
+      -s)
+       stripme=" -s"
+       continue
+       ;;
+      -*)
+       ;;
+      *)
+       # If the previous option needed an argument, then skip it.
+       if test -n "$prev"; then
+         prev=
+       else
+         dest=$arg
+         continue
+       fi
+       ;;
+      esac
+
+      # Aesthetically quote the argument.
+      func_quote_for_eval "$arg"
+      install_prog="$install_prog $func_quote_for_eval_result"
+    done
+
+    test -z "$install_prog" && \
+      func_fatal_help "you must specify an install program"
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prev' option requires an argument"
+
+    if test -z "$files"; then
+      if test -z "$dest"; then
+       func_fatal_help "no file or destination specified"
+      else
+       func_fatal_help "you must specify a destination"
+      fi
+    fi
+
+    # Strip any trailing slash from the destination.
+    func_stripname '' '/' "$dest"
+    dest=$func_stripname_result
+
+    # Check to see that the destination is a directory.
+    test -d "$dest" && isdir=yes
+    if test "$isdir" = yes; then
+      destdir="$dest"
+      destname=
+    else
+      func_dirname_and_basename "$dest" "" "."
+      destdir="$func_dirname_result"
+      destname="$func_basename_result"
+
+      # Not a directory, so check to see that there is only one file specified.
+      set dummy $files; shift
+      test "$#" -gt 1 && \
+       func_fatal_help "\`$dest' is not a directory"
+    fi
+    case $destdir in
+    [\\/]* | [A-Za-z]:[\\/]*) ;;
+    *)
+      for file in $files; do
+       case $file in
+       *.lo) ;;
+       *)
+         func_fatal_help "\`$destdir' must be an absolute directory name"
+         ;;
+       esac
+      done
+      ;;
+    esac
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    staticlibs=
+    future_libdirs=
+    current_libdirs=
+    for file in $files; do
+
+      # Do each installation.
+      case $file in
+      *.$libext)
+       # Do the static libraries later.
+       staticlibs="$staticlibs $file"
+       ;;
+
+      *.la)
+       # Check to see that this really is a libtool archive.
+       func_lalib_unsafe_p "$file" \
+         || func_fatal_help "\`$file' is not a valid libtool archive"
+
+       library_names=
+       old_library=
+       relink_command=
+       func_source "$file"
+
+       # Add the libdir to current_libdirs if it is the destination.
+       if test "X$destdir" = "X$libdir"; then
+         case "$current_libdirs " in
+         *" $libdir "*) ;;
+         *) current_libdirs="$current_libdirs $libdir" ;;
+         esac
+       else
+         # Note the libdir as a future libdir.
+         case "$future_libdirs " in
+         *" $libdir "*) ;;
+         *) future_libdirs="$future_libdirs $libdir" ;;
+         esac
+       fi
+
+       func_dirname "$file" "/" ""
+       dir="$func_dirname_result"
+       dir="$dir$objdir"
+
+       if test -n "$relink_command"; then
+         # Determine the prefix the user has applied to our future dir.
+         inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+
+         # Don't allow the user to place us outside of our expected
+         # location b/c this prevents finding dependent libraries that
+         # are installed to the same prefix.
+         # At present, this check doesn't affect windows .dll's that
+         # are installed into $libdir/../bin (currently, that works fine)
+         # but it's something to keep an eye on.
+         test "$inst_prefix_dir" = "$destdir" && \
+           func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir"
+
+         if test -n "$inst_prefix_dir"; then
+           # Stick the inst_prefix_dir data into the link command.
+           relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"`
+         else
+           relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"`
+         fi
+
+         func_warning "relinking \`$file'"
+         func_show_eval "$relink_command" \
+           'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"'
+       fi
+
+       # See the names of the shared library.
+       set dummy $library_names; shift
+       if test -n "$1"; then
+         realname="$1"
+         shift
+
+         srcname="$realname"
+         test -n "$relink_command" && srcname="$realname"T
+
+         # Install the shared library and build the symlinks.
+         func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \
+             'exit $?'
+         tstripme="$stripme"
+         case $host_os in
+         cygwin* | mingw* | pw32* | cegcc*)
+           case $realname in
+           *.dll.a)
+             tstripme=""
+             ;;
+           esac
+           ;;
+         esac
+         if test -n "$tstripme" && test -n "$striplib"; then
+           func_show_eval "$striplib $destdir/$realname" 'exit $?'
+         fi
+
+         if test "$#" -gt 0; then
+           # Delete the old symlinks, and create new ones.
+           # Try `ln -sf' first, because the `ln' binary might depend on
+           # the symlink we replace!  Solaris /bin/ln does not understand -f,
+           # so we also need to try rm && ln -s.
+           for linkname
+           do
+             test "$linkname" != "$realname" \
+               && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })"
+           done
+         fi
+
+         # Do each command in the postinstall commands.
+         lib="$destdir/$realname"
+         func_execute_cmds "$postinstall_cmds" 'exit $?'
+       fi
+
+       # Install the pseudo-library for information purposes.
+       func_basename "$file"
+       name="$func_basename_result"
+       instname="$dir/$name"i
+       func_show_eval "$install_prog $instname $destdir/$name" 'exit $?'
+
+       # Maybe install the static library, too.
+       test -n "$old_library" && staticlibs="$staticlibs $dir/$old_library"
+       ;;
+
+      *.lo)
+       # Install (i.e. copy) a libtool object.
+
+       # Figure out destination file name, if it wasn't already specified.
+       if test -n "$destname"; then
+         destfile="$destdir/$destname"
+       else
+         func_basename "$file"
+         destfile="$func_basename_result"
+         destfile="$destdir/$destfile"
+       fi
+
+       # Deduce the name of the destination old-style object file.
+       case $destfile in
+       *.lo)
+         func_lo2o "$destfile"
+         staticdest=$func_lo2o_result
+         ;;
+       *.$objext)
+         staticdest="$destfile"
+         destfile=
+         ;;
+       *)
+         func_fatal_help "cannot copy a libtool object to \`$destfile'"
+         ;;
+       esac
+
+       # Install the libtool object if requested.
+       test -n "$destfile" && \
+         func_show_eval "$install_prog $file $destfile" 'exit $?'
+
+       # Install the old object if enabled.
+       if test "$build_old_libs" = yes; then
+         # Deduce the name of the old-style object file.
+         func_lo2o "$file"
+         staticobj=$func_lo2o_result
+         func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?'
+       fi
+       exit $EXIT_SUCCESS
+       ;;
+
+      *)
+       # Figure out destination file name, if it wasn't already specified.
+       if test -n "$destname"; then
+         destfile="$destdir/$destname"
+       else
+         func_basename "$file"
+         destfile="$func_basename_result"
+         destfile="$destdir/$destfile"
+       fi
+
+       # If the file is missing, and there is a .exe on the end, strip it
+       # because it is most likely a libtool script we actually want to
+       # install
+       stripped_ext=""
+       case $file in
+         *.exe)
+           if test ! -f "$file"; then
+             func_stripname '' '.exe' "$file"
+             file=$func_stripname_result
+             stripped_ext=".exe"
+           fi
+           ;;
+       esac
+
+       # Do a test to see if this is really a libtool program.
+       case $host in
+       *cygwin* | *mingw*)
+           if func_ltwrapper_executable_p "$file"; then
+             func_ltwrapper_scriptname "$file"
+             wrapper=$func_ltwrapper_scriptname_result
+           else
+             func_stripname '' '.exe' "$file"
+             wrapper=$func_stripname_result
+           fi
+           ;;
+       *)
+           wrapper=$file
+           ;;
+       esac
+       if func_ltwrapper_script_p "$wrapper"; then
+         notinst_deplibs=
+         relink_command=
+
+         func_source "$wrapper"
+
+         # Check the variables that should have been set.
+         test -z "$generated_by_libtool_version" && \
+           func_fatal_error "invalid libtool wrapper script \`$wrapper'"
+
+         finalize=yes
+         for lib in $notinst_deplibs; do
+           # Check to see that each library is installed.
+           libdir=
+           if test -f "$lib"; then
+             func_source "$lib"
+           fi
+           libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test
+           if test -n "$libdir" && test ! -f "$libfile"; then
+             func_warning "\`$lib' has not been installed in \`$libdir'"
+             finalize=no
+           fi
+         done
+
+         relink_command=
+         func_source "$wrapper"
+
+         outputname=
+         if test "$fast_install" = no && test -n "$relink_command"; then
+           $opt_dry_run || {
+             if test "$finalize" = yes; then
+               tmpdir=`func_mktempdir`
+               func_basename "$file$stripped_ext"
+               file="$func_basename_result"
+               outputname="$tmpdir/$file"
+               # Replace the output file specification.
+               relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'`
+
+               $opt_silent || {
+                 func_quote_for_expand "$relink_command"
+                 eval "func_echo $func_quote_for_expand_result"
+               }
+               if eval "$relink_command"; then :
+                 else
+                 func_error "error: relink \`$file' with the above command before installing it"
+                 $opt_dry_run || ${RM}r "$tmpdir"
+                 continue
+               fi
+               file="$outputname"
+             else
+               func_warning "cannot relink \`$file'"
+             fi
+           }
+         else
+           # Install the binary that we compiled earlier.
+           file=`$ECHO "X$file$stripped_ext" | $Xsed -e "s%\([^/]*\)$%$objdir/\1%"`
+         fi
+       fi
+
+       # remove .exe since cygwin /usr/bin/install will append another
+       # one anyway
+       case $install_prog,$host in
+       */usr/bin/install*,*cygwin*)
+         case $file:$destfile in
+         *.exe:*.exe)
+           # this is ok
+           ;;
+         *.exe:*)
+           destfile=$destfile.exe
+           ;;
+         *:*.exe)
+           func_stripname '' '.exe' "$destfile"
+           destfile=$func_stripname_result
+           ;;
+         esac
+         ;;
+       esac
+       func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?'
+       $opt_dry_run || if test -n "$outputname"; then
+         ${RM}r "$tmpdir"
+       fi
+       ;;
+      esac
+    done
+
+    for file in $staticlibs; do
+      func_basename "$file"
+      name="$func_basename_result"
+
+      # Set up the ranlib parameters.
+      oldlib="$destdir/$name"
+
+      func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
+
+      if test -n "$stripme" && test -n "$old_striplib"; then
+       func_show_eval "$old_striplib $oldlib" 'exit $?'
+      fi
+
+      # Do each command in the postinstall commands.
+      func_execute_cmds "$old_postinstall_cmds" 'exit $?'
+    done
+
+    test -n "$future_libdirs" && \
+      func_warning "remember to run \`$progname --finish$future_libdirs'"
+
+    if test -n "$current_libdirs"; then
+      # Maybe just do a dry run.
+      $opt_dry_run && current_libdirs=" -n$current_libdirs"
+      exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs'
+    else
+      exit $EXIT_SUCCESS
+    fi
+}
+
+test "$mode" = install && func_mode_install ${1+"$@"}
+
+
+# func_generate_dlsyms outputname originator pic_p
+# Extract symbols from dlprefiles and create ${outputname}S.o with
+# a dlpreopen symbol table.
+func_generate_dlsyms ()
+{
+    $opt_debug
+    my_outputname="$1"
+    my_originator="$2"
+    my_pic_p="${3-no}"
+    my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'`
+    my_dlsyms=
+
+    if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+      if test -n "$NM" && test -n "$global_symbol_pipe"; then
+       my_dlsyms="${my_outputname}S.c"
+      else
+       func_error "not configured to extract global symbols from dlpreopened files"
+      fi
+    fi
+
+    if test -n "$my_dlsyms"; then
+      case $my_dlsyms in
+      "") ;;
+      *.c)
+       # Discover the nlist of each of the dlfiles.
+       nlist="$output_objdir/${my_outputname}.nm"
+
+       func_show_eval "$RM $nlist ${nlist}S ${nlist}T"
+
+       # Parse the name list into a source file.
+       func_verbose "creating $output_objdir/$my_dlsyms"
+
+       $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\
+/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */
+/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */
+
+#ifdef __cplusplus
+extern \"C\" {
+#endif
+
+/* External symbol declarations for the compiler. */\
+"
+
+       if test "$dlself" = yes; then
+         func_verbose "generating symbol list for \`$output'"
+
+         $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist"
+
+         # Add our own program objects to the symbol list.
+         progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+         for progfile in $progfiles; do
+           func_verbose "extracting global C symbols from \`$progfile'"
+           $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'"
+         done
+
+         if test -n "$exclude_expsyms"; then
+           $opt_dry_run || {
+             eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T'
+             eval '$MV "$nlist"T "$nlist"'
+           }
+         fi
+
+         if test -n "$export_symbols_regex"; then
+           $opt_dry_run || {
+             eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T'
+             eval '$MV "$nlist"T "$nlist"'
+           }
+         fi
+
+         # Prepare the list of exported symbols
+         if test -z "$export_symbols"; then
+           export_symbols="$output_objdir/$outputname.exp"
+           $opt_dry_run || {
+             $RM $export_symbols
+             eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"'
+             case $host in
+             *cygwin* | *mingw* | *cegcc* )
+                eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"'
+               ;;
+             esac
+           }
+         else
+           $opt_dry_run || {
+             eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"'
+             eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T'
+             eval '$MV "$nlist"T "$nlist"'
+             case $host in
+               *cygwin | *mingw* | *cegcc* )
+                 eval "echo EXPORTS "'> "$output_objdir/$outputname.def"'
+                 eval 'cat "$nlist" >> "$output_objdir/$outputname.def"'
+                 ;;
+             esac
+           }
+         fi
+       fi
+
+       for dlprefile in $dlprefiles; do
+         func_verbose "extracting global C symbols from \`$dlprefile'"
+         func_basename "$dlprefile"
+         name="$func_basename_result"
+         $opt_dry_run || {
+           eval '$ECHO ": $name " >> "$nlist"'
+           eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'"
+         }
+       done
+
+       $opt_dry_run || {
+         # Make sure we have at least an empty file.
+         test -f "$nlist" || : > "$nlist"
+
+         if test -n "$exclude_expsyms"; then
+           $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T
+           $MV "$nlist"T "$nlist"
+         fi
+
+         # Try sorting and uniquifying the output.
+         if $GREP -v "^: " < "$nlist" |
+             if sort -k 3 </dev/null >/dev/null 2>&1; then
+               sort -k 3
+             else
+               sort +2
+             fi |
+             uniq > "$nlist"S; then
+           :
+         else
+           $GREP -v "^: " < "$nlist" > "$nlist"S
+         fi
+
+         if test -f "$nlist"S; then
+           eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"'
+         else
+           $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms"
+         fi
+
+         $ECHO >> "$output_objdir/$my_dlsyms" "\
+
+/* The mapping between symbol names and symbols.  */
+typedef struct {
+  const char *name;
+  void *address;
+} lt_dlsymlist;
+"
+         case $host in
+         *cygwin* | *mingw* | *cegcc* )
+           $ECHO >> "$output_objdir/$my_dlsyms" "\
+/* DATA imports from DLLs on WIN32 con't be const, because
+   runtime relocations are performed -- see ld's documentation
+   on pseudo-relocs.  */"
+           lt_dlsym_const= ;;
+         *osf5*)
+           echo >> "$output_objdir/$my_dlsyms" "\
+/* This system does not cope well with relocations in const data */"
+           lt_dlsym_const= ;;
+         *)
+           lt_dlsym_const=const ;;
+         esac
+
+         $ECHO >> "$output_objdir/$my_dlsyms" "\
+extern $lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[];
+$lt_dlsym_const lt_dlsymlist
+lt_${my_prefix}_LTX_preloaded_symbols[] =
+{\
+  { \"$my_originator\", (void *) 0 },"
+
+         case $need_lib_prefix in
+         no)
+           eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms"
+           ;;
+         *)
+           eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms"
+           ;;
+         esac
+         $ECHO >> "$output_objdir/$my_dlsyms" "\
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt_${my_prefix}_LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif\
+"
+       } # !$opt_dry_run
+
+       pic_flag_for_symtable=
+       case "$compile_command " in
+       *" -static "*) ;;
+       *)
+         case $host in
+         # compiling the symbol table file with pic_flag works around
+         # a FreeBSD bug that causes programs to crash when -lm is
+         # linked before any other PIC object.  But we must not use
+         # pic_flag when linking with -static.  The problem exists in
+         # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
+         *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+           pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
+         *-*-hpux*)
+           pic_flag_for_symtable=" $pic_flag"  ;;
+         *)
+           if test "X$my_pic_p" != Xno; then
+             pic_flag_for_symtable=" $pic_flag"
+           fi
+           ;;
+         esac
+         ;;
+       esac
+       symtab_cflags=
+       for arg in $LTCFLAGS; do
+         case $arg in
+         -pie | -fpie | -fPIE) ;;
+         *) symtab_cflags="$symtab_cflags $arg" ;;
+         esac
+       done
+
+       # Now compile the dynamic symbol file.
+       func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?'
+
+       # Clean up the generated files.
+       func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"'
+
+       # Transform the symbol file into the correct name.
+       symfileobj="$output_objdir/${my_outputname}S.$objext"
+       case $host in
+       *cygwin* | *mingw* | *cegcc* )
+         if test -f "$output_objdir/$my_outputname.def"; then
+           compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+           finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"`
+         else
+           compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+           finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         fi
+         ;;
+       *)
+         compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"`
+         ;;
+       esac
+       ;;
+      *)
+       func_fatal_error "unknown suffix for \`$my_dlsyms'"
+       ;;
+      esac
+    else
+      # We keep going just in case the user didn't refer to
+      # lt_preloaded_symbols.  The linker will fail if global_symbol_pipe
+      # really was required.
+
+      # Nullify the symbol file.
+      compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"`
+      finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"`
+    fi
+}
+
+# func_win32_libid arg
+# return the library type of file 'arg'
+#
+# Need a lot of goo to handle *both* DLLs and import libs
+# Has to be a shell function in order to 'eat' the argument
+# that is supplied when $file_magic_command is called.
+func_win32_libid ()
+{
+  $opt_debug
+  win32_libid_type="unknown"
+  win32_fileres=`file -L $1 2>/dev/null`
+  case $win32_fileres in
+  *ar\ archive\ import\ library*) # definitely import
+    win32_libid_type="x86 archive import"
+    ;;
+  *ar\ archive*) # could be an import, or static
+    if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null |
+       $EGREP 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then
+      win32_nmres=`eval $NM -f posix -A $1 |
+       $SED -n -e '
+           1,100{
+               / I /{
+                   s,.*,import,
+                   p
+                   q
+               }
+           }'`
+      case $win32_nmres in
+      import*)  win32_libid_type="x86 archive import";;
+      *)        win32_libid_type="x86 archive static";;
+      esac
+    fi
+    ;;
+  *DLL*)
+    win32_libid_type="x86 DLL"
+    ;;
+  *executable*) # but shell scripts are "executable" too...
+    case $win32_fileres in
+    *MS\ Windows\ PE\ Intel*)
+      win32_libid_type="x86 DLL"
+      ;;
+    esac
+    ;;
+  esac
+  $ECHO "$win32_libid_type"
+}
+
+
+
+# func_extract_an_archive dir oldlib
+func_extract_an_archive ()
+{
+    $opt_debug
+    f_ex_an_ar_dir="$1"; shift
+    f_ex_an_ar_oldlib="$1"
+    func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" 'exit $?'
+    if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then
+     :
+    else
+      func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib"
+    fi
+}
+
+
+# func_extract_archives gentop oldlib ...
+func_extract_archives ()
+{
+    $opt_debug
+    my_gentop="$1"; shift
+    my_oldlibs=${1+"$@"}
+    my_oldobjs=""
+    my_xlib=""
+    my_xabs=""
+    my_xdir=""
+
+    for my_xlib in $my_oldlibs; do
+      # Extract the objects.
+      case $my_xlib in
+       [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;;
+       *) my_xabs=`pwd`"/$my_xlib" ;;
+      esac
+      func_basename "$my_xlib"
+      my_xlib="$func_basename_result"
+      my_xlib_u=$my_xlib
+      while :; do
+        case " $extracted_archives " in
+       *" $my_xlib_u "*)
+         func_arith $extracted_serial + 1
+         extracted_serial=$func_arith_result
+         my_xlib_u=lt$extracted_serial-$my_xlib ;;
+       *) break ;;
+       esac
+      done
+      extracted_archives="$extracted_archives $my_xlib_u"
+      my_xdir="$my_gentop/$my_xlib_u"
+
+      func_mkdir_p "$my_xdir"
+
+      case $host in
+      *-darwin*)
+       func_verbose "Extracting $my_xabs"
+       # Do not bother doing anything if just a dry run
+       $opt_dry_run || {
+         darwin_orig_dir=`pwd`
+         cd $my_xdir || exit $?
+         darwin_archive=$my_xabs
+         darwin_curdir=`pwd`
+         darwin_base_archive=`basename "$darwin_archive"`
+         darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true`
+         if test -n "$darwin_arches"; then
+           darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'`
+           darwin_arch=
+           func_verbose "$darwin_base_archive has multiple architectures $darwin_arches"
+           for darwin_arch in  $darwin_arches ; do
+             func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+             $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}"
+             cd "unfat-$$/${darwin_base_archive}-${darwin_arch}"
+             func_extract_an_archive "`pwd`" "${darwin_base_archive}"
+             cd "$darwin_curdir"
+             $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}"
+           done # $darwin_arches
+            ## Okay now we've a bunch of thin objects, gotta fatten them up :)
+           darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u`
+           darwin_file=
+           darwin_files=
+           for darwin_file in $darwin_filelist; do
+             darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP`
+             $LIPO -create -output "$darwin_file" $darwin_files
+           done # $darwin_filelist
+           $RM -rf unfat-$$
+           cd "$darwin_orig_dir"
+         else
+           cd $darwin_orig_dir
+           func_extract_an_archive "$my_xdir" "$my_xabs"
+         fi # $darwin_arches
+       } # !$opt_dry_run
+       ;;
+      *)
+        func_extract_an_archive "$my_xdir" "$my_xabs"
+       ;;
+      esac
+      my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP`
+    done
+
+    func_extract_archives_result="$my_oldobjs"
+}
+
+
+
+# func_emit_wrapper_part1 [arg=no]
+#
+# Emit the first part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part1 ()
+{
+       func_emit_wrapper_part1_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_part1_arg1=$1
+       fi
+
+       $ECHO "\
+#! $SHELL
+
+# $output - temporary wrapper script for $objdir/$outputname
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# The $output program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='${SED} -e 1s/^X//'
+sed_quote_subst='$sed_quote_subst'
+
+# Be Bourne compatible
+if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command=\"$relink_command\"
+
+# This environment variable determines our operation mode.
+if test \"\$libtool_install_magic\" = \"$magic\"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='$macro_version'
+  notinst_deplibs='$notinst_deplibs'
+else
+  # When we are sourced in execute mode, \$file and \$ECHO are already set.
+  if test \"\$libtool_execute_magic\" != \"$magic\"; then
+    ECHO=\"$qecho\"
+    file=\"\$0\"
+    # Make sure echo works.
+    if test \"X\$1\" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test \"X\`{ \$ECHO '\t'; } 2>/dev/null\`\" = 'X\t'; then
+      # Yippee, \$ECHO works!
+      :
+    else
+      # Restart under the correct shell, and then maybe \$ECHO will work.
+      exec $SHELL \"\$0\" --no-reexec \${1+\"\$@\"}
+    fi
+  fi\
+"
+       $ECHO "\
+
+  # Find the directory that this script lives in.
+  thisdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*$%%'\`
+  test \"x\$thisdir\" = \"x\$file\" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=\`ls -ld \"\$file\" | ${SED} -n 's/.*-> //p'\`
+  while test -n \"\$file\"; do
+    destdir=\`\$ECHO \"X\$file\" | \$Xsed -e 's%/[^/]*\$%%'\`
+
+    # If there was a directory component, then change thisdir.
+    if test \"x\$destdir\" != \"x\$file\"; then
+      case \"\$destdir\" in
+      [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;;
+      *) thisdir=\"\$thisdir/\$destdir\" ;;
+      esac
+    fi
+
+    file=\`\$ECHO \"X\$file\" | \$Xsed -e 's%^.*/%%'\`
+    file=\`ls -ld \"\$thisdir/\$file\" | ${SED} -n 's/.*-> //p'\`
+  done
+"
+}
+# end: func_emit_wrapper_part1
+
+# func_emit_wrapper_part2 [arg=no]
+#
+# Emit the second part of a libtool wrapper script on stdout.
+# For more information, see the description associated with
+# func_emit_wrapper(), below.
+func_emit_wrapper_part2 ()
+{
+       func_emit_wrapper_part2_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_part2_arg1=$1
+       fi
+
+       $ECHO "\
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1
+  if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then
+    # special case for '.'
+    if test \"\$thisdir\" = \".\"; then
+      thisdir=\`pwd\`
+    fi
+    # remove .libs from thisdir
+    case \"\$thisdir\" in
+    *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;;
+    $objdir )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=\`cd \"\$thisdir\" && pwd\`
+  test -n \"\$absdir\" && thisdir=\"\$absdir\"
+"
+
+       if test "$fast_install" = yes; then
+         $ECHO "\
+  program=lt-'$outputname'$exeext
+  progdir=\"\$thisdir/$objdir\"
+
+  if test ! -f \"\$progdir/\$program\" ||
+     { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\
+       test \"X\$file\" != \"X\$progdir/\$program\"; }; then
+
+    file=\"\$\$-\$program\"
+
+    if test ! -d \"\$progdir\"; then
+      $MKDIR \"\$progdir\"
+    else
+      $RM \"\$progdir/\$file\"
+    fi"
+
+         $ECHO "\
+
+    # relink executable if necessary
+    if test -n \"\$relink_command\"; then
+      if relink_command_output=\`eval \$relink_command 2>&1\`; then :
+      else
+       $ECHO \"\$relink_command_output\" >&2
+       $RM \"\$progdir/\$file\"
+       exit 1
+      fi
+    fi
+
+    $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null ||
+    { $RM \"\$progdir/\$program\";
+      $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; }
+    $RM \"\$progdir/\$file\"
+  fi"
+       else
+         $ECHO "\
+  program='$outputname'
+  progdir=\"\$thisdir/$objdir\"
+"
+       fi
+
+       $ECHO "\
+
+  if test -f \"\$progdir/\$program\"; then"
+
+       # Export our shlibpath_var if we have one.
+       if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+         $ECHO "\
+    # Add our own library path to $shlibpath_var
+    $shlibpath_var=\"$temp_rpath\$$shlibpath_var\"
+
+    # Some systems cannot cope with colon-terminated $shlibpath_var
+    # The second colon is a workaround for a bug in BeOS R4 sed
+    $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\`
+
+    export $shlibpath_var
+"
+       fi
+
+       # fixup the dll searchpath if we need to.
+       if test -n "$dllsearchpath"; then
+         $ECHO "\
+    # Add the dll search path components to the executable PATH
+    PATH=$dllsearchpath:\$PATH
+"
+       fi
+
+       $ECHO "\
+    if test \"\$libtool_execute_magic\" != \"$magic\"; then
+      # Run the actual program with our arguments.
+"
+       case $host in
+       # Backslashes separate directories on plain windows
+       *-*-mingw | *-*-os2* | *-cegcc*)
+         $ECHO "\
+      exec \"\$progdir\\\\\$program\" \${1+\"\$@\"}
+"
+         ;;
+
+       *)
+         $ECHO "\
+      exec \"\$progdir/\$program\" \${1+\"\$@\"}
+"
+         ;;
+       esac
+       $ECHO "\
+      \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2
+      exit 1
+    fi
+  else
+    # The program doesn't exist.
+    \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2
+    \$ECHO \"This script is just a wrapper for \$program.\" 1>&2
+    $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2
+    exit 1
+  fi
+fi\
+"
+}
+# end: func_emit_wrapper_part2
+
+
+# func_emit_wrapper [arg=no]
+#
+# Emit a libtool wrapper script on stdout.
+# Don't directly open a file because we may want to
+# incorporate the script contents within a cygwin/mingw
+# wrapper executable.  Must ONLY be called from within
+# func_mode_link because it depends on a number of variables
+# set therein.
+#
+# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR
+# variable will take.  If 'yes', then the emitted script
+# will assume that the directory in which it is stored is
+# the $objdir directory.  This is a cygwin/mingw-specific
+# behavior.
+func_emit_wrapper ()
+{
+       func_emit_wrapper_arg1=no
+       if test -n "$1" ; then
+         func_emit_wrapper_arg1=$1
+       fi
+
+       # split this up so that func_emit_cwrapperexe_src
+       # can call each part independently.
+       func_emit_wrapper_part1 "${func_emit_wrapper_arg1}"
+       func_emit_wrapper_part2 "${func_emit_wrapper_arg1}"
+}
+
+
+# func_to_host_path arg
+#
+# Convert paths to host format when used with build tools.
+# Intended for use with "native" mingw (where libtool itself
+# is running under the msys shell), or in the following cross-
+# build environments:
+#    $build          $host
+#    mingw (msys)    mingw  [e.g. native]
+#    cygwin          mingw
+#    *nix + wine     mingw
+# where wine is equipped with the `winepath' executable.
+# In the native mingw case, the (msys) shell automatically
+# converts paths for any non-msys applications it launches,
+# but that facility isn't available from inside the cwrapper.
+# Similar accommodations are necessary for $host mingw and
+# $build cygwin.  Calling this function does no harm for other
+# $host/$build combinations not listed above.
+#
+# ARG is the path (on $build) that should be converted to
+# the proper representation for $host. The result is stored
+# in $func_to_host_path_result.
+func_to_host_path ()
+{
+  func_to_host_path_result="$1"
+  if test -n "$1" ; then
+    case $host in
+      *mingw* )
+        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+        case $build in
+          *mingw* ) # actually, msys
+            # awkward: cmd appends spaces to result
+            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+            func_to_host_path_tmp1=`( cmd //c echo "$1" |\
+              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          *cygwin* )
+            func_to_host_path_tmp1=`cygpath -w "$1"`
+            func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          * )
+            # Unfortunately, winepath does not exit with a non-zero
+            # error code, so we are forced to check the contents of
+            # stdout. On the other hand, if the command is not
+            # found, the shell will set an exit code of 127 and print
+            # *an error message* to stdout. So we must check for both
+            # error code of zero AND non-empty stdout, which explains
+            # the odd construction:
+            func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null`
+            if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then
+              func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\
+                $SED -e "$lt_sed_naive_backslashify"`
+            else
+              # Allow warning below.
+              func_to_host_path_result=""
+            fi
+            ;;
+        esac
+        if test -z "$func_to_host_path_result" ; then
+          func_error "Could not determine host path corresponding to"
+          func_error "  '$1'"
+          func_error "Continuing, but uninstalled executables may not work."
+          # Fallback:
+          func_to_host_path_result="$1"
+        fi
+        ;;
+    esac
+  fi
+}
+# end: func_to_host_path
+
+# func_to_host_pathlist arg
+#
+# Convert pathlists to host format when used with build tools.
+# See func_to_host_path(), above. This function supports the
+# following $build/$host combinations (but does no harm for
+# combinations not listed here):
+#    $build          $host
+#    mingw (msys)    mingw  [e.g. native]
+#    cygwin          mingw
+#    *nix + wine     mingw
+#
+# Path separators are also converted from $build format to
+# $host format. If ARG begins or ends with a path separator
+# character, it is preserved (but converted to $host format)
+# on output.
+#
+# ARG is a pathlist (on $build) that should be converted to
+# the proper representation on $host. The result is stored
+# in $func_to_host_pathlist_result.
+func_to_host_pathlist ()
+{
+  func_to_host_pathlist_result="$1"
+  if test -n "$1" ; then
+    case $host in
+      *mingw* )
+        lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'
+        # Remove leading and trailing path separator characters from
+        # ARG. msys behavior is inconsistent here, cygpath turns them
+        # into '.;' and ';.', and winepath ignores them completely.
+        func_to_host_pathlist_tmp2="$1"
+        # Once set for this call, this variable should not be
+        # reassigned. It is used in tha fallback case.
+        func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\
+          $SED -e 's|^:*||' -e 's|:*$||'`
+        case $build in
+          *mingw* ) # Actually, msys.
+            # Awkward: cmd appends spaces to result.
+            lt_sed_strip_trailing_spaces="s/[ ]*\$//"
+            func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\
+              $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""`
+            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          *cygwin* )
+            func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"`
+            func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\
+              $SED -e "$lt_sed_naive_backslashify"`
+            ;;
+          * )
+            # unfortunately, winepath doesn't convert pathlists
+            func_to_host_pathlist_result=""
+            func_to_host_pathlist_oldIFS=$IFS
+            IFS=:
+            for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do
+              IFS=$func_to_host_pathlist_oldIFS
+              if test -n "$func_to_host_pathlist_f" ; then
+                func_to_host_path "$func_to_host_pathlist_f"
+                if test -n "$func_to_host_path_result" ; then
+                  if test -z "$func_to_host_pathlist_result" ; then
+                    func_to_host_pathlist_result="$func_to_host_path_result"
+                  else
+                    func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result"
+                  fi
+                fi
+              fi
+              IFS=:
+            done
+            IFS=$func_to_host_pathlist_oldIFS
+            ;;
+        esac
+        if test -z "$func_to_host_pathlist_result" ; then
+          func_error "Could not determine the host path(s) corresponding to"
+          func_error "  '$1'"
+          func_error "Continuing, but uninstalled executables may not work."
+          # Fallback. This may break if $1 contains DOS-style drive
+          # specifications. The fix is not to complicate the expression
+          # below, but for the user to provide a working wine installation
+          # with winepath so that path translation in the cross-to-mingw
+          # case works properly.
+          lt_replace_pathsep_nix_to_dos="s|:|;|g"
+          func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\
+            $SED -e "$lt_replace_pathsep_nix_to_dos"`
+        fi
+        # Now, add the leading and trailing path separators back
+        case "$1" in
+          :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result"
+            ;;
+        esac
+        case "$1" in
+          *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;"
+            ;;
+        esac
+        ;;
+    esac
+  fi
+}
+# end: func_to_host_pathlist
+
+# func_emit_cwrapperexe_src
+# emit the source code for a wrapper executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_cwrapperexe_src ()
+{
+       cat <<EOF
+
+/* $cwrappersource - temporary wrapper executable for $objdir/$outputname
+   Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+
+   The $output program cannot be directly executed until all the libtool
+   libraries that it depends on are installed.
+
+   This wrapper executable should never be moved out of the build directory.
+   If it is, it will not operate correctly.
+
+   Currently, it simply execs the wrapper *script* "$SHELL $output",
+   but could eventually absorb all of the scripts functionality and
+   exec $objdir/$outputname directly.
+*/
+EOF
+           cat <<"EOF"
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef _MSC_VER
+# include <direct.h>
+# include <process.h>
+# include <io.h>
+# define setmode _setmode
+#else
+# include <unistd.h>
+# include <stdint.h>
+# ifdef __CYGWIN__
+#  include <io.h>
+#  define HAVE_SETENV
+#  ifdef __STRICT_ANSI__
+char *realpath (const char *, char *);
+int putenv (char *);
+int setenv (const char *, const char *, int);
+#  endif
+# endif
+#endif
+#include <malloc.h>
+#include <stdarg.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <sys/stat.h>
+
+#if defined(PATH_MAX)
+# define LT_PATHMAX PATH_MAX
+#elif defined(MAXPATHLEN)
+# define LT_PATHMAX MAXPATHLEN
+#else
+# define LT_PATHMAX 1024
+#endif
+
+#ifndef S_IXOTH
+# define S_IXOTH 0
+#endif
+#ifndef S_IXGRP
+# define S_IXGRP 0
+#endif
+
+#ifdef _MSC_VER
+# define S_IXUSR _S_IEXEC
+# define stat _stat
+# ifndef _INTPTR_T_DEFINED
+#  define intptr_t int
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR
+# define DIR_SEPARATOR '/'
+# define PATH_SEPARATOR ':'
+#endif
+
+#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
+  defined (__OS2__)
+# define HAVE_DOS_BASED_FILE_SYSTEM
+# define FOPEN_WB "wb"
+# ifndef DIR_SEPARATOR_2
+#  define DIR_SEPARATOR_2 '\\'
+# endif
+# ifndef PATH_SEPARATOR_2
+#  define PATH_SEPARATOR_2 ';'
+# endif
+#endif
+
+#ifndef DIR_SEPARATOR_2
+# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR)
+#else /* DIR_SEPARATOR_2 */
+# define IS_DIR_SEPARATOR(ch) \
+       (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2))
+#endif /* DIR_SEPARATOR_2 */
+
+#ifndef PATH_SEPARATOR_2
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR)
+#else /* PATH_SEPARATOR_2 */
+# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2)
+#endif /* PATH_SEPARATOR_2 */
+
+#ifdef __CYGWIN__
+# define FOPEN_WB "wb"
+#endif
+
+#ifndef FOPEN_WB
+# define FOPEN_WB "w"
+#endif
+#ifndef _O_BINARY
+# define _O_BINARY 0
+#endif
+
+#define XMALLOC(type, num)      ((type *) xmalloc ((num) * sizeof(type)))
+#define XFREE(stale) do { \
+  if (stale) { free ((void *) stale); stale = 0; } \
+} while (0)
+
+#undef LTWRAPPER_DEBUGPRINTF
+#if defined DEBUGWRAPPER
+# define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args
+static void
+ltwrapper_debugprintf (const char *fmt, ...)
+{
+    va_list args;
+    va_start (args, fmt);
+    (void) vfprintf (stderr, fmt, args);
+    va_end (args);
+}
+#else
+# define LTWRAPPER_DEBUGPRINTF(args)
+#endif
+
+const char *program_name = NULL;
+
+void *xmalloc (size_t num);
+char *xstrdup (const char *string);
+const char *base_name (const char *name);
+char *find_executable (const char *wrapper);
+char *chase_symlinks (const char *pathspec);
+int make_executable (const char *path);
+int check_executable (const char *path);
+char *strendzap (char *str, const char *pat);
+void lt_fatal (const char *message, ...);
+void lt_setenv (const char *name, const char *value);
+char *lt_extend_str (const char *orig_value, const char *add, int to_end);
+void lt_opt_process_env_set (const char *arg);
+void lt_opt_process_env_prepend (const char *arg);
+void lt_opt_process_env_append (const char *arg);
+int lt_split_name_value (const char *arg, char** name, char** value);
+void lt_update_exe_path (const char *name, const char *value);
+void lt_update_lib_path (const char *name, const char *value);
+
+static const char *script_text_part1 =
+EOF
+
+           func_emit_wrapper_part1 yes |
+               $SED -e 's/\([\\"]\)/\\\1/g' \
+                    -e 's/^/  "/' -e 's/$/\\n"/'
+           echo ";"
+           cat <<EOF
+
+static const char *script_text_part2 =
+EOF
+           func_emit_wrapper_part2 yes |
+               $SED -e 's/\([\\"]\)/\\\1/g' \
+                    -e 's/^/  "/' -e 's/$/\\n"/'
+           echo ";"
+
+           cat <<EOF
+const char * MAGIC_EXE = "$magic_exe";
+const char * LIB_PATH_VARNAME = "$shlibpath_var";
+EOF
+
+           if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then
+              func_to_host_pathlist "$temp_rpath"
+             cat <<EOF
+const char * LIB_PATH_VALUE   = "$func_to_host_pathlist_result";
+EOF
+           else
+             cat <<"EOF"
+const char * LIB_PATH_VALUE   = "";
+EOF
+           fi
+
+           if test -n "$dllsearchpath"; then
+              func_to_host_pathlist "$dllsearchpath:"
+             cat <<EOF
+const char * EXE_PATH_VARNAME = "PATH";
+const char * EXE_PATH_VALUE   = "$func_to_host_pathlist_result";
+EOF
+           else
+             cat <<"EOF"
+const char * EXE_PATH_VARNAME = "";
+const char * EXE_PATH_VALUE   = "";
+EOF
+           fi
+
+           if test "$fast_install" = yes; then
+             cat <<EOF
+const char * TARGET_PROGRAM_NAME = "lt-$outputname"; /* hopefully, no .exe */
+EOF
+           else
+             cat <<EOF
+const char * TARGET_PROGRAM_NAME = "$outputname"; /* hopefully, no .exe */
+EOF
+           fi
+
+
+           cat <<"EOF"
+
+#define LTWRAPPER_OPTION_PREFIX         "--lt-"
+#define LTWRAPPER_OPTION_PREFIX_LENGTH  5
+
+static const size_t opt_prefix_len         = LTWRAPPER_OPTION_PREFIX_LENGTH;
+static const char *ltwrapper_option_prefix = LTWRAPPER_OPTION_PREFIX;
+
+static const char *dumpscript_opt       = LTWRAPPER_OPTION_PREFIX "dump-script";
+
+static const size_t env_set_opt_len     = LTWRAPPER_OPTION_PREFIX_LENGTH + 7;
+static const char *env_set_opt          = LTWRAPPER_OPTION_PREFIX "env-set";
+  /* argument is putenv-style "foo=bar", value of foo is set to bar */
+
+static const size_t env_prepend_opt_len = LTWRAPPER_OPTION_PREFIX_LENGTH + 11;
+static const char *env_prepend_opt      = LTWRAPPER_OPTION_PREFIX "env-prepend";
+  /* argument is putenv-style "foo=bar", new value of foo is bar${foo} */
+
+static const size_t env_append_opt_len  = LTWRAPPER_OPTION_PREFIX_LENGTH + 10;
+static const char *env_append_opt       = LTWRAPPER_OPTION_PREFIX "env-append";
+  /* argument is putenv-style "foo=bar", new value of foo is ${foo}bar */
+
+int
+main (int argc, char *argv[])
+{
+  char **newargz;
+  int  newargc;
+  char *tmp_pathspec;
+  char *actual_cwrapper_path;
+  char *actual_cwrapper_name;
+  char *target_name;
+  char *lt_argv_zero;
+  intptr_t rval = 127;
+
+  int i;
+
+  program_name = (char *) xstrdup (base_name (argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) argv[0]      : %s\n", argv[0]));
+  LTWRAPPER_DEBUGPRINTF (("(main) program_name : %s\n", program_name));
+
+  /* very simple arg parsing; don't want to rely on getopt */
+  for (i = 1; i < argc; i++)
+    {
+      if (strcmp (argv[i], dumpscript_opt) == 0)
+       {
+EOF
+           case "$host" in
+             *mingw* | *cygwin* )
+               # make stdout use "unix" line endings
+               echo "          setmode(1,_O_BINARY);"
+               ;;
+             esac
+
+           cat <<"EOF"
+         printf ("%s", script_text_part1);
+         printf ("%s", script_text_part2);
+         return 0;
+       }
+    }
+
+  newargz = XMALLOC (char *, argc + 1);
+  tmp_pathspec = find_executable (argv[0]);
+  if (tmp_pathspec == NULL)
+    lt_fatal ("Couldn't find %s", argv[0]);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (before symlink chase) at : %s\n",
+                         tmp_pathspec));
+
+  actual_cwrapper_path = chase_symlinks (tmp_pathspec);
+  LTWRAPPER_DEBUGPRINTF (("(main) found exe (after symlink chase) at : %s\n",
+                         actual_cwrapper_path));
+  XFREE (tmp_pathspec);
+
+  actual_cwrapper_name = xstrdup( base_name (actual_cwrapper_path));
+  strendzap (actual_cwrapper_path, actual_cwrapper_name);
+
+  /* wrapper name transforms */
+  strendzap (actual_cwrapper_name, ".exe");
+  tmp_pathspec = lt_extend_str (actual_cwrapper_name, ".exe", 1);
+  XFREE (actual_cwrapper_name);
+  actual_cwrapper_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  /* target_name transforms -- use actual target program name; might have lt- prefix */
+  target_name = xstrdup (base_name (TARGET_PROGRAM_NAME));
+  strendzap (target_name, ".exe");
+  tmp_pathspec = lt_extend_str (target_name, ".exe", 1);
+  XFREE (target_name);
+  target_name = tmp_pathspec;
+  tmp_pathspec = 0;
+
+  LTWRAPPER_DEBUGPRINTF (("(main) libtool target name: %s\n",
+                         target_name));
+EOF
+
+           cat <<EOF
+  newargz[0] =
+    XMALLOC (char, (strlen (actual_cwrapper_path) +
+                   strlen ("$objdir") + 1 + strlen (actual_cwrapper_name) + 1));
+  strcpy (newargz[0], actual_cwrapper_path);
+  strcat (newargz[0], "$objdir");
+  strcat (newargz[0], "/");
+EOF
+
+           cat <<"EOF"
+  /* stop here, and copy so we don't have to do this twice */
+  tmp_pathspec = xstrdup (newargz[0]);
+
+  /* do NOT want the lt- prefix here, so use actual_cwrapper_name */
+  strcat (newargz[0], actual_cwrapper_name);
+
+  /* DO want the lt- prefix here if it exists, so use target_name */
+  lt_argv_zero = lt_extend_str (tmp_pathspec, target_name, 1);
+  XFREE (tmp_pathspec);
+  tmp_pathspec = NULL;
+EOF
+
+           case $host_os in
+             mingw*)
+           cat <<"EOF"
+  {
+    char* p;
+    while ((p = strchr (newargz[0], '\\')) != NULL)
+      {
+       *p = '/';
+      }
+    while ((p = strchr (lt_argv_zero, '\\')) != NULL)
+      {
+       *p = '/';
+      }
+  }
+EOF
+           ;;
+           esac
+
+           cat <<"EOF"
+  XFREE (target_name);
+  XFREE (actual_cwrapper_path);
+  XFREE (actual_cwrapper_name);
+
+  lt_setenv ("BIN_SH", "xpg4"); /* for Tru64 */
+  lt_setenv ("DUALCASE", "1");  /* for MSK sh */
+  lt_update_lib_path (LIB_PATH_VARNAME, LIB_PATH_VALUE);
+  lt_update_exe_path (EXE_PATH_VARNAME, EXE_PATH_VALUE);
+
+  newargc=0;
+  for (i = 1; i < argc; i++)
+    {
+      if (strncmp (argv[i], env_set_opt, env_set_opt_len) == 0)
+        {
+          if (argv[i][env_set_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_set_opt_len + 1;
+              lt_opt_process_env_set (p);
+            }
+          else if (argv[i][env_set_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_set (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_set_opt);
+          continue;
+        }
+      if (strncmp (argv[i], env_prepend_opt, env_prepend_opt_len) == 0)
+        {
+          if (argv[i][env_prepend_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_prepend_opt_len + 1;
+              lt_opt_process_env_prepend (p);
+            }
+          else if (argv[i][env_prepend_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_prepend (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_prepend_opt);
+          continue;
+        }
+      if (strncmp (argv[i], env_append_opt, env_append_opt_len) == 0)
+        {
+          if (argv[i][env_append_opt_len] == '=')
+            {
+              const char *p = argv[i] + env_append_opt_len + 1;
+              lt_opt_process_env_append (p);
+            }
+          else if (argv[i][env_append_opt_len] == '\0' && i + 1 < argc)
+            {
+              lt_opt_process_env_append (argv[++i]); /* don't copy */
+            }
+          else
+            lt_fatal ("%s missing required argument", env_append_opt);
+          continue;
+        }
+      if (strncmp (argv[i], ltwrapper_option_prefix, opt_prefix_len) == 0)
+        {
+          /* however, if there is an option in the LTWRAPPER_OPTION_PREFIX
+             namespace, but it is not one of the ones we know about and
+             have already dealt with, above (inluding dump-script), then
+             report an error. Otherwise, targets might begin to believe
+             they are allowed to use options in the LTWRAPPER_OPTION_PREFIX
+             namespace. The first time any user complains about this, we'll
+             need to make LTWRAPPER_OPTION_PREFIX a configure-time option
+             or a configure.ac-settable value.
+           */
+          lt_fatal ("Unrecognized option in %s namespace: '%s'",
+                    ltwrapper_option_prefix, argv[i]);
+        }
+      /* otherwise ... */
+      newargz[++newargc] = xstrdup (argv[i]);
+    }
+  newargz[++newargc] = NULL;
+
+  LTWRAPPER_DEBUGPRINTF     (("(main) lt_argv_zero : %s\n", (lt_argv_zero ? lt_argv_zero : "<NULL>")));
+  for (i = 0; i < newargc; i++)
+    {
+      LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d]   : %s\n", i, (newargz[i] ? newargz[i] : "<NULL>")));
+    }
+
+EOF
+
+           case $host_os in
+             mingw*)
+               cat <<"EOF"
+  /* execv doesn't actually work on mingw as expected on unix */
+  rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz);
+  if (rval == -1)
+    {
+      /* failed to start process */
+      LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno));
+      return 127;
+    }
+  return rval;
+EOF
+               ;;
+             *)
+               cat <<"EOF"
+  execv (lt_argv_zero, newargz);
+  return rval; /* =127, but avoids unused variable warning */
+EOF
+               ;;
+           esac
+
+           cat <<"EOF"
+}
+
+void *
+xmalloc (size_t num)
+{
+  void *p = (void *) malloc (num);
+  if (!p)
+    lt_fatal ("Memory exhausted");
+
+  return p;
+}
+
+char *
+xstrdup (const char *string)
+{
+  return string ? strcpy ((char *) xmalloc (strlen (string) + 1),
+                         string) : NULL;
+}
+
+const char *
+base_name (const char *name)
+{
+  const char *base;
+
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  /* Skip over the disk name in MSDOS pathnames. */
+  if (isalpha ((unsigned char) name[0]) && name[1] == ':')
+    name += 2;
+#endif
+
+  for (base = name; *name; name++)
+    if (IS_DIR_SEPARATOR (*name))
+      base = name + 1;
+  return base;
+}
+
+int
+check_executable (const char *path)
+{
+  struct stat st;
+
+  LTWRAPPER_DEBUGPRINTF (("(check_executable)  : %s\n",
+                         path ? (*path ? path : "EMPTY!") : "NULL!"));
+  if ((!path) || (!*path))
+    return 0;
+
+  if ((stat (path, &st) >= 0)
+      && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)))
+    return 1;
+  else
+    return 0;
+}
+
+int
+make_executable (const char *path)
+{
+  int rval = 0;
+  struct stat st;
+
+  LTWRAPPER_DEBUGPRINTF (("(make_executable)   : %s\n",
+                         path ? (*path ? path : "EMPTY!") : "NULL!"));
+  if ((!path) || (!*path))
+    return 0;
+
+  if (stat (path, &st) >= 0)
+    {
+      rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR);
+    }
+  return rval;
+}
+
+/* Searches for the full path of the wrapper.  Returns
+   newly allocated full path name if found, NULL otherwise
+   Does not chase symlinks, even on platforms that support them.
+*/
+char *
+find_executable (const char *wrapper)
+{
+  int has_slash = 0;
+  const char *p;
+  const char *p_next;
+  /* static buffer for getcwd */
+  char tmp[LT_PATHMAX + 1];
+  int tmp_len;
+  char *concat_name;
+
+  LTWRAPPER_DEBUGPRINTF (("(find_executable)   : %s\n",
+                         wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"));
+
+  if ((wrapper == NULL) || (*wrapper == '\0'))
+    return NULL;
+
+  /* Absolute path? */
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+  if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':')
+    {
+      concat_name = xstrdup (wrapper);
+      if (check_executable (concat_name))
+       return concat_name;
+      XFREE (concat_name);
+    }
+  else
+    {
+#endif
+      if (IS_DIR_SEPARATOR (wrapper[0]))
+       {
+         concat_name = xstrdup (wrapper);
+         if (check_executable (concat_name))
+           return concat_name;
+         XFREE (concat_name);
+       }
+#if defined (HAVE_DOS_BASED_FILE_SYSTEM)
+    }
+#endif
+
+  for (p = wrapper; *p; p++)
+    if (*p == '/')
+      {
+       has_slash = 1;
+       break;
+      }
+  if (!has_slash)
+    {
+      /* no slashes; search PATH */
+      const char *path = getenv ("PATH");
+      if (path != NULL)
+       {
+         for (p = path; *p; p = p_next)
+           {
+             const char *q;
+             size_t p_len;
+             for (q = p; *q; q++)
+               if (IS_PATH_SEPARATOR (*q))
+                 break;
+             p_len = q - p;
+             p_next = (*q == '\0' ? q : q + 1);
+             if (p_len == 0)
+               {
+                 /* empty path: current directory */
+                 if (getcwd (tmp, LT_PATHMAX) == NULL)
+                   lt_fatal ("getcwd failed");
+                 tmp_len = strlen (tmp);
+                 concat_name =
+                   XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+                 memcpy (concat_name, tmp, tmp_len);
+                 concat_name[tmp_len] = '/';
+                 strcpy (concat_name + tmp_len + 1, wrapper);
+               }
+             else
+               {
+                 concat_name =
+                   XMALLOC (char, p_len + 1 + strlen (wrapper) + 1);
+                 memcpy (concat_name, p, p_len);
+                 concat_name[p_len] = '/';
+                 strcpy (concat_name + p_len + 1, wrapper);
+               }
+             if (check_executable (concat_name))
+               return concat_name;
+             XFREE (concat_name);
+           }
+       }
+      /* not found in PATH; assume curdir */
+    }
+  /* Relative path | not found in path: prepend cwd */
+  if (getcwd (tmp, LT_PATHMAX) == NULL)
+    lt_fatal ("getcwd failed");
+  tmp_len = strlen (tmp);
+  concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1);
+  memcpy (concat_name, tmp, tmp_len);
+  concat_name[tmp_len] = '/';
+  strcpy (concat_name + tmp_len + 1, wrapper);
+
+  if (check_executable (concat_name))
+    return concat_name;
+  XFREE (concat_name);
+  return NULL;
+}
+
+char *
+chase_symlinks (const char *pathspec)
+{
+#ifndef S_ISLNK
+  return xstrdup (pathspec);
+#else
+  char buf[LT_PATHMAX];
+  struct stat s;
+  char *tmp_pathspec = xstrdup (pathspec);
+  char *p;
+  int has_symlinks = 0;
+  while (strlen (tmp_pathspec) && !has_symlinks)
+    {
+      LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n",
+                             tmp_pathspec));
+      if (lstat (tmp_pathspec, &s) == 0)
+       {
+         if (S_ISLNK (s.st_mode) != 0)
+           {
+             has_symlinks = 1;
+             break;
+           }
+
+         /* search backwards for last DIR_SEPARATOR */
+         p = tmp_pathspec + strlen (tmp_pathspec) - 1;
+         while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+           p--;
+         if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p)))
+           {
+             /* no more DIR_SEPARATORS left */
+             break;
+           }
+         *p = '\0';
+       }
+      else
+       {
+         char *errstr = strerror (errno);
+         lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr);
+       }
+    }
+  XFREE (tmp_pathspec);
+
+  if (!has_symlinks)
+    {
+      return xstrdup (pathspec);
+    }
+
+  tmp_pathspec = realpath (pathspec, buf);
+  if (tmp_pathspec == 0)
+    {
+      lt_fatal ("Could not follow symlinks for %s", pathspec);
+    }
+  return xstrdup (tmp_pathspec);
+#endif
+}
+
+char *
+strendzap (char *str, const char *pat)
+{
+  size_t len, patlen;
+
+  assert (str != NULL);
+  assert (pat != NULL);
+
+  len = strlen (str);
+  patlen = strlen (pat);
+
+  if (patlen <= len)
+    {
+      str += len - patlen;
+      if (strcmp (str, pat) == 0)
+       *str = '\0';
+    }
+  return str;
+}
+
+static void
+lt_error_core (int exit_status, const char *mode,
+              const char *message, va_list ap)
+{
+  fprintf (stderr, "%s: %s: ", program_name, mode);
+  vfprintf (stderr, message, ap);
+  fprintf (stderr, ".\n");
+
+  if (exit_status >= 0)
+    exit (exit_status);
+}
+
+void
+lt_fatal (const char *message, ...)
+{
+  va_list ap;
+  va_start (ap, message);
+  lt_error_core (EXIT_FAILURE, "FATAL", message, ap);
+  va_end (ap);
+}
+
+void
+lt_setenv (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+  {
+#ifdef HAVE_SETENV
+    /* always make a copy, for consistency with !HAVE_SETENV */
+    char *str = xstrdup (value);
+    setenv (name, str, 1);
+#else
+    int len = strlen (name) + 1 + strlen (value) + 1;
+    char *str = XMALLOC (char, len);
+    sprintf (str, "%s=%s", name, value);
+    if (putenv (str) != EXIT_SUCCESS)
+      {
+        XFREE (str);
+      }
+#endif
+  }
+}
+
+char *
+lt_extend_str (const char *orig_value, const char *add, int to_end)
+{
+  char *new_value;
+  if (orig_value && *orig_value)
+    {
+      int orig_value_len = strlen (orig_value);
+      int add_len = strlen (add);
+      new_value = XMALLOC (char, add_len + orig_value_len + 1);
+      if (to_end)
+        {
+          strcpy (new_value, orig_value);
+          strcpy (new_value + orig_value_len, add);
+        }
+      else
+        {
+          strcpy (new_value, add);
+          strcpy (new_value + add_len, orig_value);
+        }
+    }
+  else
+    {
+      new_value = xstrdup (add);
+    }
+  return new_value;
+}
+
+int
+lt_split_name_value (const char *arg, char** name, char** value)
+{
+  const char *p;
+  int len;
+  if (!arg || !*arg)
+    return 1;
+
+  p = strchr (arg, (int)'=');
+
+  if (!p)
+    return 1;
+
+  *value = xstrdup (++p);
+
+  len = strlen (arg) - strlen (*value);
+  *name = XMALLOC (char, len);
+  strncpy (*name, arg, len-1);
+  (*name)[len - 1] = '\0';
+
+  return 0;
+}
+
+void
+lt_opt_process_env_set (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg);
+    }
+
+  lt_setenv (name, value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_opt_process_env_prepend (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+  char *new_value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg);
+    }
+
+  new_value = lt_extend_str (getenv (name), value, 0);
+  lt_setenv (name, new_value);
+  XFREE (new_value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_opt_process_env_append (const char *arg)
+{
+  char *name = NULL;
+  char *value = NULL;
+  char *new_value = NULL;
+
+  if (lt_split_name_value (arg, &name, &value) != 0)
+    {
+      XFREE (name);
+      XFREE (value);
+      lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg);
+    }
+
+  new_value = lt_extend_str (getenv (name), value, 1);
+  lt_setenv (name, new_value);
+  XFREE (new_value);
+  XFREE (name);
+  XFREE (value);
+}
+
+void
+lt_update_exe_path (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      /* some systems can't cope with a ':'-terminated path #' */
+      int len = strlen (new_value);
+      while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1]))
+        {
+          new_value[len-1] = '\0';
+        }
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+void
+lt_update_lib_path (const char *name, const char *value)
+{
+  LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n",
+                          (name ? name : "<NULL>"),
+                          (value ? value : "<NULL>")));
+
+  if (name && *name && value && *value)
+    {
+      char *new_value = lt_extend_str (getenv (name), value, 0);
+      lt_setenv (name, new_value);
+      XFREE (new_value);
+    }
+}
+
+
+EOF
+}
+# end: func_emit_cwrapperexe_src
+
+# func_mode_link arg...
+func_mode_link ()
+{
+    $opt_debug
+    case $host in
+    *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+      # It is impossible to link a dll without this setting, and
+      # we shouldn't force the makefile maintainer to figure out
+      # which system we are compiling for in order to pass an extra
+      # flag for every libtool invocation.
+      # allow_undefined=no
+
+      # FIXME: Unfortunately, there are problems with the above when trying
+      # to make a dll which has undefined symbols, in which case not
+      # even a static library is built.  For now, we need to specify
+      # -no-undefined on the libtool link line when we can be certain
+      # that all symbols are satisfied, otherwise we get a static library.
+      allow_undefined=yes
+      ;;
+    *)
+      allow_undefined=yes
+      ;;
+    esac
+    libtool_args=$nonopt
+    base_compile="$nonopt $@"
+    compile_command=$nonopt
+    finalize_command=$nonopt
+
+    compile_rpath=
+    finalize_rpath=
+    compile_shlibpath=
+    finalize_shlibpath=
+    convenience=
+    old_convenience=
+    deplibs=
+    old_deplibs=
+    compiler_flags=
+    linker_flags=
+    dllsearchpath=
+    lib_search_path=`pwd`
+    inst_prefix_dir=
+    new_inherited_linker_flags=
+
+    avoid_version=no
+    dlfiles=
+    dlprefiles=
+    dlself=no
+    export_dynamic=no
+    export_symbols=
+    export_symbols_regex=
+    generated=
+    libobjs=
+    ltlibs=
+    module=no
+    no_install=no
+    objs=
+    non_pic_objects=
+    precious_files_regex=
+    prefer_static_libs=no
+    preload=no
+    prev=
+    prevarg=
+    release=
+    rpath=
+    xrpath=
+    perm_rpath=
+    temp_rpath=
+    thread_safe=no
+    vinfo=
+    vinfo_number=no
+    weak_libs=
+    single_module="${wl}-single_module"
+    func_infer_tag $base_compile
+
+    # We need to know -static, to get the right output filenames.
+    for arg
+    do
+      case $arg in
+      -shared)
+       test "$build_libtool_libs" != yes && \
+         func_fatal_configuration "can not build a shared library"
+       build_old_libs=no
+       break
+       ;;
+      -all-static | -static | -static-libtool-libs)
+       case $arg in
+       -all-static)
+         if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then
+           func_warning "complete static linking is impossible in this configuration"
+         fi
+         if test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+         prefer_static_libs=yes
+         ;;
+       -static)
+         if test -z "$pic_flag" && test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+         prefer_static_libs=built
+         ;;
+       -static-libtool-libs)
+         if test -z "$pic_flag" && test -n "$link_static_flag"; then
+           dlopen_self=$dlopen_self_static
+         fi
+         prefer_static_libs=yes
+         ;;
+       esac
+       build_libtool_libs=no
+       build_old_libs=yes
+       break
+       ;;
+      esac
+    done
+
+    # See if our shared archives depend on static archives.
+    test -n "$old_archive_from_new_cmds" && build_old_libs=yes
+
+    # Go through the arguments, transforming them on the way.
+    while test "$#" -gt 0; do
+      arg="$1"
+      shift
+      func_quote_for_eval "$arg"
+      qarg=$func_quote_for_eval_unquoted_result
+      func_append libtool_args " $func_quote_for_eval_result"
+
+      # If the previous option needs an argument, assign it.
+      if test -n "$prev"; then
+       case $prev in
+       output)
+         func_append compile_command " @OUTPUT@"
+         func_append finalize_command " @OUTPUT@"
+         ;;
+       esac
+
+       case $prev in
+       dlfiles|dlprefiles)
+         if test "$preload" = no; then
+           # Add the symbol object into the linking commands.
+           func_append compile_command " @SYMFILE@"
+           func_append finalize_command " @SYMFILE@"
+           preload=yes
+         fi
+         case $arg in
+         *.la | *.lo) ;;  # We handle these cases below.
+         force)
+           if test "$dlself" = no; then
+             dlself=needless
+             export_dynamic=yes
+           fi
+           prev=
+           continue
+           ;;
+         self)
+           if test "$prev" = dlprefiles; then
+             dlself=yes
+           elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then
+             dlself=yes
+           else
+             dlself=needless
+             export_dynamic=yes
+           fi
+           prev=
+           continue
+           ;;
+         *)
+           if test "$prev" = dlfiles; then
+             dlfiles="$dlfiles $arg"
+           else
+             dlprefiles="$dlprefiles $arg"
+           fi
+           prev=
+           continue
+           ;;
+         esac
+         ;;
+       expsyms)
+         export_symbols="$arg"
+         test -f "$arg" \
+           || func_fatal_error "symbol file \`$arg' does not exist"
+         prev=
+         continue
+         ;;
+       expsyms_regex)
+         export_symbols_regex="$arg"
+         prev=
+         continue
+         ;;
+       framework)
+         case $host in
+           *-*-darwin*)
+             case "$deplibs " in
+               *" $qarg.ltframework "*) ;;
+               *) deplibs="$deplibs $qarg.ltframework" # this is fixed later
+                  ;;
+             esac
+             ;;
+         esac
+         prev=
+         continue
+         ;;
+       inst_prefix)
+         inst_prefix_dir="$arg"
+         prev=
+         continue
+         ;;
+       objectlist)
+         if test -f "$arg"; then
+           save_arg=$arg
+           moreargs=
+           for fil in `cat "$save_arg"`
+           do
+#            moreargs="$moreargs $fil"
+             arg=$fil
+             # A libtool-controlled object.
+
+             # Check to see that this really is a libtool object.
+             if func_lalib_unsafe_p "$arg"; then
+               pic_object=
+               non_pic_object=
+
+               # Read the .lo file
+               func_source "$arg"
+
+               if test -z "$pic_object" ||
+                  test -z "$non_pic_object" ||
+                  test "$pic_object" = none &&
+                  test "$non_pic_object" = none; then
+                 func_fatal_error "cannot find name of object for \`$arg'"
+               fi
+
+               # Extract subdirectory from the argument.
+               func_dirname "$arg" "/" ""
+               xdir="$func_dirname_result"
+
+               if test "$pic_object" != none; then
+                 # Prepend the subdirectory the object is found in.
+                 pic_object="$xdir$pic_object"
+
+                 if test "$prev" = dlfiles; then
+                   if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+                     dlfiles="$dlfiles $pic_object"
+                     prev=
+                     continue
+                   else
+                     # If libtool objects are unsupported, then we need to preload.
+                     prev=dlprefiles
+                   fi
+                 fi
+
+                 # CHECK ME:  I think I busted this.  -Ossama
+                 if test "$prev" = dlprefiles; then
+                   # Preload the old-style object.
+                   dlprefiles="$dlprefiles $pic_object"
+                   prev=
+                 fi
+
+                 # A PIC object.
+                 func_append libobjs " $pic_object"
+                 arg="$pic_object"
+               fi
+
+               # Non-PIC object.
+               if test "$non_pic_object" != none; then
+                 # Prepend the subdirectory the object is found in.
+                 non_pic_object="$xdir$non_pic_object"
+
+                 # A standard non-PIC object
+                 func_append non_pic_objects " $non_pic_object"
+                 if test -z "$pic_object" || test "$pic_object" = none ; then
+                   arg="$non_pic_object"
+                 fi
+               else
+                 # If the PIC object exists, use it instead.
+                 # $xdir was prepended to $pic_object above.
+                 non_pic_object="$pic_object"
+                 func_append non_pic_objects " $non_pic_object"
+               fi
+             else
+               # Only an error if not doing a dry-run.
+               if $opt_dry_run; then
+                 # Extract subdirectory from the argument.
+                 func_dirname "$arg" "/" ""
+                 xdir="$func_dirname_result"
+
+                 func_lo2o "$arg"
+                 pic_object=$xdir$objdir/$func_lo2o_result
+                 non_pic_object=$xdir$func_lo2o_result
+                 func_append libobjs " $pic_object"
+                 func_append non_pic_objects " $non_pic_object"
+               else
+                 func_fatal_error "\`$arg' is not a valid libtool object"
+               fi
+             fi
+           done
+         else
+           func_fatal_error "link input file \`$arg' does not exist"
+         fi
+         arg=$save_arg
+         prev=
+         continue
+         ;;
+       precious_regex)
+         precious_files_regex="$arg"
+         prev=
+         continue
+         ;;
+       release)
+         release="-$arg"
+         prev=
+         continue
+         ;;
+       rpath | xrpath)
+         # We need an absolute path.
+         case $arg in
+         [\\/]* | [A-Za-z]:[\\/]*) ;;
+         *)
+           func_fatal_error "only absolute run-paths are allowed"
+           ;;
+         esac
+         if test "$prev" = rpath; then
+           case "$rpath " in
+           *" $arg "*) ;;
+           *) rpath="$rpath $arg" ;;
+           esac
+         else
+           case "$xrpath " in
+           *" $arg "*) ;;
+           *) xrpath="$xrpath $arg" ;;
+           esac
+         fi
+         prev=
+         continue
+         ;;
+       shrext)
+         shrext_cmds="$arg"
+         prev=
+         continue
+         ;;
+       weak)
+         weak_libs="$weak_libs $arg"
+         prev=
+         continue
+         ;;
+       xcclinker)
+         linker_flags="$linker_flags $qarg"
+         compiler_flags="$compiler_flags $qarg"
+         prev=
+         func_append compile_command " $qarg"
+         func_append finalize_command " $qarg"
+         continue
+         ;;
+       xcompiler)
+         compiler_flags="$compiler_flags $qarg"
+         prev=
+         func_append compile_command " $qarg"
+         func_append finalize_command " $qarg"
+         continue
+         ;;
+       xlinker)
+         linker_flags="$linker_flags $qarg"
+         compiler_flags="$compiler_flags $wl$qarg"
+         prev=
+         func_append compile_command " $wl$qarg"
+         func_append finalize_command " $wl$qarg"
+         continue
+         ;;
+       *)
+         eval "$prev=\"\$arg\""
+         prev=
+         continue
+         ;;
+       esac
+      fi # test -n "$prev"
+
+      prevarg="$arg"
+
+      case $arg in
+      -all-static)
+       if test -n "$link_static_flag"; then
+         # See comment for -static flag below, for more details.
+         func_append compile_command " $link_static_flag"
+         func_append finalize_command " $link_static_flag"
+       fi
+       continue
+       ;;
+
+      -allow-undefined)
+       # FIXME: remove this flag sometime in the future.
+       func_fatal_error "\`-allow-undefined' must not be used because it is the default"
+       ;;
+
+      -avoid-version)
+       avoid_version=yes
+       continue
+       ;;
+
+      -dlopen)
+       prev=dlfiles
+       continue
+       ;;
+
+      -dlpreopen)
+       prev=dlprefiles
+       continue
+       ;;
+
+      -export-dynamic)
+       export_dynamic=yes
+       continue
+       ;;
+
+      -export-symbols | -export-symbols-regex)
+       if test -n "$export_symbols" || test -n "$export_symbols_regex"; then
+         func_fatal_error "more than one -exported-symbols argument is not allowed"
+       fi
+       if test "X$arg" = "X-export-symbols"; then
+         prev=expsyms
+       else
+         prev=expsyms_regex
+       fi
+       continue
+       ;;
+
+      -framework)
+       prev=framework
+       continue
+       ;;
+
+      -inst-prefix-dir)
+       prev=inst_prefix
+       continue
+       ;;
+
+      # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:*
+      # so, if we see these flags be careful not to treat them like -L
+      -L[A-Z][A-Z]*:*)
+       case $with_gcc/$host in
+       no/*-*-irix* | /*-*-irix*)
+         func_append compile_command " $arg"
+         func_append finalize_command " $arg"
+         ;;
+       esac
+       continue
+       ;;
+
+      -L*)
+       func_stripname '-L' '' "$arg"
+       dir=$func_stripname_result
+       if test -z "$dir"; then
+         if test "$#" -gt 0; then
+           func_fatal_error "require no space between \`-L' and \`$1'"
+         else
+           func_fatal_error "need path for \`-L' option"
+         fi
+       fi
+       # We need an absolute path.
+       case $dir in
+       [\\/]* | [A-Za-z]:[\\/]*) ;;
+       *)
+         absdir=`cd "$dir" && pwd`
+         test -z "$absdir" && \
+           func_fatal_error "cannot determine absolute directory name of \`$dir'"
+         dir="$absdir"
+         ;;
+       esac
+       case "$deplibs " in
+       *" -L$dir "*) ;;
+       *)
+         deplibs="$deplibs -L$dir"
+         lib_search_path="$lib_search_path $dir"
+         ;;
+       esac
+       case $host in
+       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+         testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'`
+         case :$dllsearchpath: in
+         *":$dir:"*) ;;
+         ::) dllsearchpath=$dir;;
+         *) dllsearchpath="$dllsearchpath:$dir";;
+         esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         ::) dllsearchpath=$testbindir;;
+         *) dllsearchpath="$dllsearchpath:$testbindir";;
+         esac
+         ;;
+       esac
+       continue
+       ;;
+
+      -l*)
+       if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then
+         case $host in
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc*)
+           # These systems don't actually have a C or math library (as such)
+           continue
+           ;;
+         *-*-os2*)
+           # These systems don't actually have a C library (as such)
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+           # Do not include libc due to us having libc/libc_r.
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-rhapsody* | *-*-darwin1.[012])
+           # Rhapsody C and math libraries are in the System framework
+           deplibs="$deplibs System.ltframework"
+           continue
+           ;;
+         *-*-sco3.2v5* | *-*-sco5v6*)
+           # Causes problems with __ctype
+           test "X$arg" = "X-lc" && continue
+           ;;
+         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+           # Compiler inserts libc in the correct place for threads to work
+           test "X$arg" = "X-lc" && continue
+           ;;
+         esac
+       elif test "X$arg" = "X-lc_r"; then
+        case $host in
+        *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+          # Do not include libc_r directly, use -pthread flag.
+          continue
+          ;;
+        esac
+       fi
+       deplibs="$deplibs $arg"
+       continue
+       ;;
+
+      -module)
+       module=yes
+       continue
+       ;;
+
+      # Tru64 UNIX uses -model [arg] to determine the layout of C++
+      # classes, name mangling, and exception handling.
+      # Darwin uses the -arch flag to determine output architecture.
+      -model|-arch|-isysroot)
+       compiler_flags="$compiler_flags $arg"
+       func_append compile_command " $arg"
+       func_append finalize_command " $arg"
+       prev=xcompiler
+       continue
+       ;;
+
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+       compiler_flags="$compiler_flags $arg"
+       func_append compile_command " $arg"
+       func_append finalize_command " $arg"
+       case "$new_inherited_linker_flags " in
+           *" $arg "*) ;;
+           * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;;
+       esac
+       continue
+       ;;
+
+      -multi_module)
+       single_module="${wl}-multi_module"
+       continue
+       ;;
+
+      -no-fast-install)
+       fast_install=no
+       continue
+       ;;
+
+      -no-install)
+       case $host in
+       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*)
+         # The PATH hackery in wrapper scripts is required on Windows
+         # and Darwin in order for the loader to find any dlls it needs.
+         func_warning "\`-no-install' is ignored for $host"
+         func_warning "assuming \`-no-fast-install' instead"
+         fast_install=no
+         ;;
+       *) no_install=yes ;;
+       esac
+       continue
+       ;;
+
+      -no-undefined)
+       allow_undefined=no
+       continue
+       ;;
+
+      -objectlist)
+       prev=objectlist
+       continue
+       ;;
+
+      -o) prev=output ;;
+
+      -precious-files-regex)
+       prev=precious_regex
+       continue
+       ;;
+
+      -release)
+       prev=release
+       continue
+       ;;
+
+      -rpath)
+       prev=rpath
+       continue
+       ;;
+
+      -R)
+       prev=xrpath
+       continue
+       ;;
+
+      -R*)
+       func_stripname '-R' '' "$arg"
+       dir=$func_stripname_result
+       # We need an absolute path.
+       case $dir in
+       [\\/]* | [A-Za-z]:[\\/]*) ;;
+       *)
+         func_fatal_error "only absolute run-paths are allowed"
+         ;;
+       esac
+       case "$xrpath " in
+       *" $dir "*) ;;
+       *) xrpath="$xrpath $dir" ;;
+       esac
+       continue
+       ;;
+
+      -shared)
+       # The effects of -shared are defined in a previous loop.
+       continue
+       ;;
+
+      -shrext)
+       prev=shrext
+       continue
+       ;;
+
+      -static | -static-libtool-libs)
+       # The effects of -static are defined in a previous loop.
+       # We used to do the same as -all-static on platforms that
+       # didn't have a PIC flag, but the assumption that the effects
+       # would be equivalent was wrong.  It would break on at least
+       # Digital Unix and AIX.
+       continue
+       ;;
+
+      -thread-safe)
+       thread_safe=yes
+       continue
+       ;;
+
+      -version-info)
+       prev=vinfo
+       continue
+       ;;
+
+      -version-number)
+       prev=vinfo
+       vinfo_number=yes
+       continue
+       ;;
+
+      -weak)
+        prev=weak
+       continue
+       ;;
+
+      -Wc,*)
+       func_stripname '-Wc,' '' "$arg"
+       args=$func_stripname_result
+       arg=
+       save_ifs="$IFS"; IFS=','
+       for flag in $args; do
+         IFS="$save_ifs"
+          func_quote_for_eval "$flag"
+         arg="$arg $wl$func_quote_for_eval_result"
+         compiler_flags="$compiler_flags $func_quote_for_eval_result"
+       done
+       IFS="$save_ifs"
+       func_stripname ' ' '' "$arg"
+       arg=$func_stripname_result
+       ;;
+
+      -Wl,*)
+       func_stripname '-Wl,' '' "$arg"
+       args=$func_stripname_result
+       arg=
+       save_ifs="$IFS"; IFS=','
+       for flag in $args; do
+         IFS="$save_ifs"
+          func_quote_for_eval "$flag"
+         arg="$arg $wl$func_quote_for_eval_result"
+         compiler_flags="$compiler_flags $wl$func_quote_for_eval_result"
+         linker_flags="$linker_flags $func_quote_for_eval_result"
+       done
+       IFS="$save_ifs"
+       func_stripname ' ' '' "$arg"
+       arg=$func_stripname_result
+       ;;
+
+      -Xcompiler)
+       prev=xcompiler
+       continue
+       ;;
+
+      -Xlinker)
+       prev=xlinker
+       continue
+       ;;
+
+      -XCClinker)
+       prev=xcclinker
+       continue
+       ;;
+
+      # -msg_* for osf cc
+      -msg_*)
+       func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+       ;;
+
+      # -64, -mips[0-9] enable 64-bit mode on the SGI compiler
+      # -r[0-9][0-9]* specifies the processor on the SGI compiler
+      # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler
+      # +DA*, +DD* enable 64-bit mode on the HP compiler
+      # -q* pass through compiler args for the IBM compiler
+      # -m*, -t[45]*, -txscale* pass through architecture-specific
+      # compiler args for GCC
+      # -F/path gives path to uninstalled frameworks, gcc on darwin
+      # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC
+      # @file GCC response files
+      -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
+      -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*)
+        func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+        func_append compile_command " $arg"
+        func_append finalize_command " $arg"
+        compiler_flags="$compiler_flags $arg"
+        continue
+        ;;
+
+      # Some other compiler flag.
+      -* | +*)
+        func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+       ;;
+
+      *.$objext)
+       # A standard object.
+       objs="$objs $arg"
+       ;;
+
+      *.lo)
+       # A libtool-controlled object.
+
+       # Check to see that this really is a libtool object.
+       if func_lalib_unsafe_p "$arg"; then
+         pic_object=
+         non_pic_object=
+
+         # Read the .lo file
+         func_source "$arg"
+
+         if test -z "$pic_object" ||
+            test -z "$non_pic_object" ||
+            test "$pic_object" = none &&
+            test "$non_pic_object" = none; then
+           func_fatal_error "cannot find name of object for \`$arg'"
+         fi
+
+         # Extract subdirectory from the argument.
+         func_dirname "$arg" "/" ""
+         xdir="$func_dirname_result"
+
+         if test "$pic_object" != none; then
+           # Prepend the subdirectory the object is found in.
+           pic_object="$xdir$pic_object"
+
+           if test "$prev" = dlfiles; then
+             if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then
+               dlfiles="$dlfiles $pic_object"
+               prev=
+               continue
+             else
+               # If libtool objects are unsupported, then we need to preload.
+               prev=dlprefiles
+             fi
+           fi
+
+           # CHECK ME:  I think I busted this.  -Ossama
+           if test "$prev" = dlprefiles; then
+             # Preload the old-style object.
+             dlprefiles="$dlprefiles $pic_object"
+             prev=
+           fi
+
+           # A PIC object.
+           func_append libobjs " $pic_object"
+           arg="$pic_object"
+         fi
+
+         # Non-PIC object.
+         if test "$non_pic_object" != none; then
+           # Prepend the subdirectory the object is found in.
+           non_pic_object="$xdir$non_pic_object"
+
+           # A standard non-PIC object
+           func_append non_pic_objects " $non_pic_object"
+           if test -z "$pic_object" || test "$pic_object" = none ; then
+             arg="$non_pic_object"
+           fi
+         else
+           # If the PIC object exists, use it instead.
+           # $xdir was prepended to $pic_object above.
+           non_pic_object="$pic_object"
+           func_append non_pic_objects " $non_pic_object"
+         fi
+       else
+         # Only an error if not doing a dry-run.
+         if $opt_dry_run; then
+           # Extract subdirectory from the argument.
+           func_dirname "$arg" "/" ""
+           xdir="$func_dirname_result"
+
+           func_lo2o "$arg"
+           pic_object=$xdir$objdir/$func_lo2o_result
+           non_pic_object=$xdir$func_lo2o_result
+           func_append libobjs " $pic_object"
+           func_append non_pic_objects " $non_pic_object"
+         else
+           func_fatal_error "\`$arg' is not a valid libtool object"
+         fi
+       fi
+       ;;
+
+      *.$libext)
+       # An archive.
+       deplibs="$deplibs $arg"
+       old_deplibs="$old_deplibs $arg"
+       continue
+       ;;
+
+      *.la)
+       # A libtool-controlled library.
+
+       if test "$prev" = dlfiles; then
+         # This library was specified with -dlopen.
+         dlfiles="$dlfiles $arg"
+         prev=
+       elif test "$prev" = dlprefiles; then
+         # The library was specified with -dlpreopen.
+         dlprefiles="$dlprefiles $arg"
+         prev=
+       else
+         deplibs="$deplibs $arg"
+       fi
+       continue
+       ;;
+
+      # Some other compiler argument.
+      *)
+       # Unknown arguments in both finalize_command and compile_command need
+       # to be aesthetically quoted because they are evaled later.
+       func_quote_for_eval "$arg"
+       arg="$func_quote_for_eval_result"
+       ;;
+      esac # arg
+
+      # Now actually substitute the argument into the commands.
+      if test -n "$arg"; then
+       func_append compile_command " $arg"
+       func_append finalize_command " $arg"
+      fi
+    done # argument parsing loop
+
+    test -n "$prev" && \
+      func_fatal_help "the \`$prevarg' option requires an argument"
+
+    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then
+      eval arg=\"$export_dynamic_flag_spec\"
+      func_append compile_command " $arg"
+      func_append finalize_command " $arg"
+    fi
+
+    oldlibs=
+    # calculate the name of the file, without its directory
+    func_basename "$output"
+    outputname="$func_basename_result"
+    libobjs_save="$libobjs"
+
+    if test -n "$shlibpath_var"; then
+      # get the directories listed in $shlibpath_var
+      eval shlib_search_path=\`\$ECHO \"X\${$shlibpath_var}\" \| \$Xsed -e \'s/:/ /g\'\`
+    else
+      shlib_search_path=
+    fi
+    eval sys_lib_search_path=\"$sys_lib_search_path_spec\"
+    eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\"
+
+    func_dirname "$output" "/" ""
+    output_objdir="$func_dirname_result$objdir"
+    # Create the object directory.
+    func_mkdir_p "$output_objdir"
+
+    # Determine the type of output
+    case $output in
+    "")
+      func_fatal_help "you must specify an output file"
+      ;;
+    *.$libext) linkmode=oldlib ;;
+    *.lo | *.$objext) linkmode=obj ;;
+    *.la) linkmode=lib ;;
+    *) linkmode=prog ;; # Anything else should be a program.
+    esac
+
+    specialdeplibs=
+
+    libs=
+    # Find all interdependent deplibs by searching for libraries
+    # that are linked more than once (e.g. -la -lb -la)
+    for deplib in $deplibs; do
+      if $opt_duplicate_deps ; then
+       case "$libs " in
+       *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+       esac
+      fi
+      libs="$libs $deplib"
+    done
+
+    if test "$linkmode" = lib; then
+      libs="$predeps $libs $compiler_lib_search_path $postdeps"
+
+      # Compute libraries that are listed more than once in $predeps
+      # $postdeps and mark them as special (i.e., whose duplicates are
+      # not to be eliminated).
+      pre_post_deps=
+      if $opt_duplicate_compiler_generated_deps; then
+       for pre_post_dep in $predeps $postdeps; do
+         case "$pre_post_deps " in
+         *" $pre_post_dep "*) specialdeplibs="$specialdeplibs $pre_post_deps" ;;
+         esac
+         pre_post_deps="$pre_post_deps $pre_post_dep"
+       done
+      fi
+      pre_post_deps=
+    fi
+
+    deplibs=
+    newdependency_libs=
+    newlib_search_path=
+    need_relink=no # whether we're linking any uninstalled libtool libraries
+    notinst_deplibs= # not-installed libtool libraries
+    notinst_path= # paths that contain not-installed libtool libraries
+
+    case $linkmode in
+    lib)
+       passes="conv dlpreopen link"
+       for file in $dlfiles $dlprefiles; do
+         case $file in
+         *.la) ;;
+         *)
+           func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file"
+           ;;
+         esac
+       done
+       ;;
+    prog)
+       compile_deplibs=
+       finalize_deplibs=
+       alldeplibs=no
+       newdlfiles=
+       newdlprefiles=
+       passes="conv scan dlopen dlpreopen link"
+       ;;
+    *)  passes="conv"
+       ;;
+    esac
+
+    for pass in $passes; do
+      # The preopen pass in lib mode reverses $deplibs; put it back here
+      # so that -L comes before libs that need it for instance...
+      if test "$linkmode,$pass" = "lib,link"; then
+       ## FIXME: Find the place where the list is rebuilt in the wrong
+       ##        order, and fix it there properly
+        tmp_deplibs=
+       for deplib in $deplibs; do
+         tmp_deplibs="$deplib $tmp_deplibs"
+       done
+       deplibs="$tmp_deplibs"
+      fi
+
+      if test "$linkmode,$pass" = "lib,link" ||
+        test "$linkmode,$pass" = "prog,scan"; then
+       libs="$deplibs"
+       deplibs=
+      fi
+      if test "$linkmode" = prog; then
+       case $pass in
+       dlopen) libs="$dlfiles" ;;
+       dlpreopen) libs="$dlprefiles" ;;
+       link)
+         libs="$deplibs %DEPLIBS%"
+         test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
+         ;;
+       esac
+      fi
+      if test "$linkmode,$pass" = "lib,dlpreopen"; then
+       # Collect and forward deplibs of preopened libtool libs
+       for lib in $dlprefiles; do
+         # Ignore non-libtool-libs
+         dependency_libs=
+         case $lib in
+         *.la) func_source "$lib" ;;
+         esac
+
+         # Collect preopened libtool deplibs, except any this library
+         # has declared as weak libs
+         for deplib in $dependency_libs; do
+            deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"`
+           case " $weak_libs " in
+           *" $deplib_base "*) ;;
+           *) deplibs="$deplibs $deplib" ;;
+           esac
+         done
+       done
+       libs="$dlprefiles"
+      fi
+      if test "$pass" = dlopen; then
+       # Collect dlpreopened libraries
+       save_deplibs="$deplibs"
+       deplibs=
+      fi
+
+      for deplib in $libs; do
+       lib=
+       found=no
+       case $deplib in
+       -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+         if test "$linkmode,$pass" = "prog,link"; then
+           compile_deplibs="$deplib $compile_deplibs"
+           finalize_deplibs="$deplib $finalize_deplibs"
+         else
+           compiler_flags="$compiler_flags $deplib"
+           if test "$linkmode" = lib ; then
+               case "$new_inherited_linker_flags " in
+                   *" $deplib "*) ;;
+                   * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+               esac
+           fi
+         fi
+         continue
+         ;;
+       -l*)
+         if test "$linkmode" != lib && test "$linkmode" != prog; then
+           func_warning "\`-l' is ignored for archives/objects"
+           continue
+         fi
+         func_stripname '-l' '' "$deplib"
+         name=$func_stripname_result
+         if test "$linkmode" = lib; then
+           searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path"
+         else
+           searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path"
+         fi
+         for searchdir in $searchdirs; do
+           for search_ext in .la $std_shrext .so .a; do
+             # Search the libtool library
+             lib="$searchdir/lib${name}${search_ext}"
+             if test -f "$lib"; then
+               if test "$search_ext" = ".la"; then
+                 found=yes
+               else
+                 found=no
+               fi
+               break 2
+             fi
+           done
+         done
+         if test "$found" != yes; then
+           # deplib doesn't seem to be a libtool library
+           if test "$linkmode,$pass" = "prog,link"; then
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           else
+             deplibs="$deplib $deplibs"
+             test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+           fi
+           continue
+         else # deplib is a libtool library
+           # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib,
+           # We need to do some special things here, and not later.
+           if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+             case " $predeps $postdeps " in
+             *" $deplib "*)
+               if func_lalib_p "$lib"; then
+                 library_names=
+                 old_library=
+                 func_source "$lib"
+                 for l in $old_library $library_names; do
+                   ll="$l"
+                 done
+                 if test "X$ll" = "X$old_library" ; then # only static version available
+                   found=no
+                   func_dirname "$lib" "" "."
+                   ladir="$func_dirname_result"
+                   lib=$ladir/$old_library
+                   if test "$linkmode,$pass" = "prog,link"; then
+                     compile_deplibs="$deplib $compile_deplibs"
+                     finalize_deplibs="$deplib $finalize_deplibs"
+                   else
+                     deplibs="$deplib $deplibs"
+                     test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs"
+                   fi
+                   continue
+                 fi
+               fi
+               ;;
+             *) ;;
+             esac
+           fi
+         fi
+         ;; # -l
+       *.ltframework)
+         if test "$linkmode,$pass" = "prog,link"; then
+           compile_deplibs="$deplib $compile_deplibs"
+           finalize_deplibs="$deplib $finalize_deplibs"
+         else
+           deplibs="$deplib $deplibs"
+           if test "$linkmode" = lib ; then
+               case "$new_inherited_linker_flags " in
+                   *" $deplib "*) ;;
+                   * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;;
+               esac
+           fi
+         fi
+         continue
+         ;;
+       -L*)
+         case $linkmode in
+         lib)
+           deplibs="$deplib $deplibs"
+           test "$pass" = conv && continue
+           newdependency_libs="$deplib $newdependency_libs"
+           func_stripname '-L' '' "$deplib"
+           newlib_search_path="$newlib_search_path $func_stripname_result"
+           ;;
+         prog)
+           if test "$pass" = conv; then
+             deplibs="$deplib $deplibs"
+             continue
+           fi
+           if test "$pass" = scan; then
+             deplibs="$deplib $deplibs"
+           else
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           fi
+           func_stripname '-L' '' "$deplib"
+           newlib_search_path="$newlib_search_path $func_stripname_result"
+           ;;
+         *)
+           func_warning "\`-L' is ignored for archives/objects"
+           ;;
+         esac # linkmode
+         continue
+         ;; # -L
+       -R*)
+         if test "$pass" = link; then
+           func_stripname '-R' '' "$deplib"
+           dir=$func_stripname_result
+           # Make sure the xrpath contains only unique directories.
+           case "$xrpath " in
+           *" $dir "*) ;;
+           *) xrpath="$xrpath $dir" ;;
+           esac
+         fi
+         deplibs="$deplib $deplibs"
+         continue
+         ;;
+       *.la) lib="$deplib" ;;
+       *.$libext)
+         if test "$pass" = conv; then
+           deplibs="$deplib $deplibs"
+           continue
+         fi
+         case $linkmode in
+         lib)
+           # Linking convenience modules into shared libraries is allowed,
+           # but linking other static libraries is non-portable.
+           case " $dlpreconveniencelibs " in
+           *" $deplib "*) ;;
+           *)
+             valid_a_lib=no
+             case $deplibs_check_method in
+               match_pattern*)
+                 set dummy $deplibs_check_method; shift
+                 match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+                 if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \
+                   | $EGREP "$match_pattern_regex" > /dev/null; then
+                   valid_a_lib=yes
+                 fi
+               ;;
+               pass_all)
+                 valid_a_lib=yes
+               ;;
+             esac
+             if test "$valid_a_lib" != yes; then
+               $ECHO
+               $ECHO "*** Warning: Trying to link with static lib archive $deplib."
+               $ECHO "*** I have the capability to make that library automatically link in when"
+               $ECHO "*** you link to this library.  But I can only do this if you have a"
+               $ECHO "*** shared version of the library, which you do not appear to have"
+               $ECHO "*** because the file extensions .$libext of this argument makes me believe"
+               $ECHO "*** that it is just a static archive that I should not use here."
+             else
+               $ECHO
+               $ECHO "*** Warning: Linking the shared library $output against the"
+               $ECHO "*** static library $deplib is not portable!"
+               deplibs="$deplib $deplibs"
+             fi
+             ;;
+           esac
+           continue
+           ;;
+         prog)
+           if test "$pass" != link; then
+             deplibs="$deplib $deplibs"
+           else
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           fi
+           continue
+           ;;
+         esac # linkmode
+         ;; # *.$libext
+       *.lo | *.$objext)
+         if test "$pass" = conv; then
+           deplibs="$deplib $deplibs"
+         elif test "$linkmode" = prog; then
+           if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then
+             # If there is no dlopen support or we're linking statically,
+             # we need to preload.
+             newdlprefiles="$newdlprefiles $deplib"
+             compile_deplibs="$deplib $compile_deplibs"
+             finalize_deplibs="$deplib $finalize_deplibs"
+           else
+             newdlfiles="$newdlfiles $deplib"
+           fi
+         fi
+         continue
+         ;;
+       %DEPLIBS%)
+         alldeplibs=yes
+         continue
+         ;;
+       esac # case $deplib
+
+       if test "$found" = yes || test -f "$lib"; then :
+       else
+         func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'"
+       fi
+
+       # Check to see that this really is a libtool archive.
+       func_lalib_unsafe_p "$lib" \
+         || func_fatal_error "\`$lib' is not a valid libtool archive"
+
+       func_dirname "$lib" "" "."
+       ladir="$func_dirname_result"
+
+       dlname=
+       dlopen=
+       dlpreopen=
+       libdir=
+       library_names=
+       old_library=
+       inherited_linker_flags=
+       # If the library was installed with an old release of libtool,
+       # it will not redefine variables installed, or shouldnotlink
+       installed=yes
+       shouldnotlink=no
+       avoidtemprpath=
+
+
+       # Read the .la file
+       func_source "$lib"
+
+       # Convert "-framework foo" to "foo.ltframework"
+       if test -n "$inherited_linker_flags"; then
+         tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'`
+         for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do
+           case " $new_inherited_linker_flags " in
+             *" $tmp_inherited_linker_flag "*) ;;
+             *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";;
+           esac
+         done
+       fi
+       dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       if test "$linkmode,$pass" = "lib,link" ||
+          test "$linkmode,$pass" = "prog,scan" ||
+          { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+         test -n "$dlopen" && dlfiles="$dlfiles $dlopen"
+         test -n "$dlpreopen" && dlprefiles="$dlprefiles $dlpreopen"
+       fi
+
+       if test "$pass" = conv; then
+         # Only check for convenience libraries
+         deplibs="$lib $deplibs"
+         if test -z "$libdir"; then
+           if test -z "$old_library"; then
+             func_fatal_error "cannot find name of link library for \`$lib'"
+           fi
+           # It is a libtool convenience library, so add in its objects.
+           convenience="$convenience $ladir/$objdir/$old_library"
+           old_convenience="$old_convenience $ladir/$objdir/$old_library"
+           tmp_libs=
+           for deplib in $dependency_libs; do
+             deplibs="$deplib $deplibs"
+             if $opt_duplicate_deps ; then
+               case "$tmp_libs " in
+               *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+               esac
+             fi
+             tmp_libs="$tmp_libs $deplib"
+           done
+         elif test "$linkmode" != prog && test "$linkmode" != lib; then
+           func_fatal_error "\`$lib' is not a convenience library"
+         fi
+         continue
+       fi # $pass = conv
+
+
+       # Get the name of the library we link against.
+       linklib=
+       for l in $old_library $library_names; do
+         linklib="$l"
+       done
+       if test -z "$linklib"; then
+         func_fatal_error "cannot find name of link library for \`$lib'"
+       fi
+
+       # This library was specified with -dlopen.
+       if test "$pass" = dlopen; then
+         if test -z "$libdir"; then
+           func_fatal_error "cannot -dlopen a convenience library: \`$lib'"
+         fi
+         if test -z "$dlname" ||
+            test "$dlopen_support" != yes ||
+            test "$build_libtool_libs" = no; then
+           # If there is no dlname, no dlopen support or we're linking
+           # statically, we need to preload.  We also need to preload any
+           # dependent libraries so libltdl's deplib preloader doesn't
+           # bomb out in the load deplibs phase.
+           dlprefiles="$dlprefiles $lib $dependency_libs"
+         else
+           newdlfiles="$newdlfiles $lib"
+         fi
+         continue
+       fi # $pass = dlopen
+
+       # We need an absolute path.
+       case $ladir in
+       [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;;
+       *)
+         abs_ladir=`cd "$ladir" && pwd`
+         if test -z "$abs_ladir"; then
+           func_warning "cannot determine absolute directory name of \`$ladir'"
+           func_warning "passing it literally to the linker, although it might fail"
+           abs_ladir="$ladir"
+         fi
+         ;;
+       esac
+       func_basename "$lib"
+       laname="$func_basename_result"
+
+       # Find the relevant object directory and library name.
+       if test "X$installed" = Xyes; then
+         if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+           func_warning "library \`$lib' was moved."
+           dir="$ladir"
+           absdir="$abs_ladir"
+           libdir="$abs_ladir"
+         else
+           dir="$libdir"
+           absdir="$libdir"
+         fi
+         test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
+       else
+         if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then
+           dir="$ladir"
+           absdir="$abs_ladir"
+           # Remove this search path later
+           notinst_path="$notinst_path $abs_ladir"
+         else
+           dir="$ladir/$objdir"
+           absdir="$abs_ladir/$objdir"
+           # Remove this search path later
+           notinst_path="$notinst_path $abs_ladir"
+         fi
+       fi # $installed = yes
+       func_stripname 'lib' '.la' "$laname"
+       name=$func_stripname_result
+
+       # This library was specified with -dlpreopen.
+       if test "$pass" = dlpreopen; then
+         if test -z "$libdir" && test "$linkmode" = prog; then
+           func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'"
+         fi
+         # Prefer using a static library (so that no silly _DYNAMIC symbols
+         # are required to link).
+         if test -n "$old_library"; then
+           newdlprefiles="$newdlprefiles $dir/$old_library"
+           # Keep a list of preopened convenience libraries to check
+           # that they are being used correctly in the link pass.
+           test -z "$libdir" && \
+               dlpreconveniencelibs="$dlpreconveniencelibs $dir/$old_library"
+         # Otherwise, use the dlname, so that lt_dlopen finds it.
+         elif test -n "$dlname"; then
+           newdlprefiles="$newdlprefiles $dir/$dlname"
+         else
+           newdlprefiles="$newdlprefiles $dir/$linklib"
+         fi
+       fi # $pass = dlpreopen
+
+       if test -z "$libdir"; then
+         # Link the convenience library
+         if test "$linkmode" = lib; then
+           deplibs="$dir/$old_library $deplibs"
+         elif test "$linkmode,$pass" = "prog,link"; then
+           compile_deplibs="$dir/$old_library $compile_deplibs"
+           finalize_deplibs="$dir/$old_library $finalize_deplibs"
+         else
+           deplibs="$lib $deplibs" # used for prog,scan pass
+         fi
+         continue
+       fi
+
+
+       if test "$linkmode" = prog && test "$pass" != link; then
+         newlib_search_path="$newlib_search_path $ladir"
+         deplibs="$lib $deplibs"
+
+         linkalldeplibs=no
+         if test "$link_all_deplibs" != no || test -z "$library_names" ||
+            test "$build_libtool_libs" = no; then
+           linkalldeplibs=yes
+         fi
+
+         tmp_libs=
+         for deplib in $dependency_libs; do
+           case $deplib in
+           -L*) func_stripname '-L' '' "$deplib"
+                newlib_search_path="$newlib_search_path $func_stripname_result"
+                ;;
+           esac
+           # Need to link against all dependency_libs?
+           if test "$linkalldeplibs" = yes; then
+             deplibs="$deplib $deplibs"
+           else
+             # Need to hardcode shared library paths
+             # or/and link against static libraries
+             newdependency_libs="$deplib $newdependency_libs"
+           fi
+           if $opt_duplicate_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+             esac
+           fi
+           tmp_libs="$tmp_libs $deplib"
+         done # for deplib
+         continue
+       fi # $linkmode = prog...
+
+       if test "$linkmode,$pass" = "prog,link"; then
+         if test -n "$library_names" &&
+            { { test "$prefer_static_libs" = no ||
+                test "$prefer_static_libs,$installed" = "built,yes"; } ||
+              test -z "$old_library"; }; then
+           # We need to hardcode the library path
+           if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then
+             # Make sure the rpath contains only unique directories.
+             case "$temp_rpath:" in
+             *"$absdir:"*) ;;
+             *) temp_rpath="$temp_rpath$absdir:" ;;
+             esac
+           fi
+
+           # Hardcode the library path.
+           # Skip directories that are in the system default run-time
+           # search path.
+           case " $sys_lib_dlsearch_path " in
+           *" $absdir "*) ;;
+           *)
+             case "$compile_rpath " in
+             *" $absdir "*) ;;
+             *) compile_rpath="$compile_rpath $absdir"
+             esac
+             ;;
+           esac
+           case " $sys_lib_dlsearch_path " in
+           *" $libdir "*) ;;
+           *)
+             case "$finalize_rpath " in
+             *" $libdir "*) ;;
+             *) finalize_rpath="$finalize_rpath $libdir"
+             esac
+             ;;
+           esac
+         fi # $linkmode,$pass = prog,link...
+
+         if test "$alldeplibs" = yes &&
+            { test "$deplibs_check_method" = pass_all ||
+              { test "$build_libtool_libs" = yes &&
+                test -n "$library_names"; }; }; then
+           # We only need to search for static libraries
+           continue
+         fi
+       fi
+
+       link_static=no # Whether the deplib will be linked statically
+       use_static_libs=$prefer_static_libs
+       if test "$use_static_libs" = built && test "$installed" = yes; then
+         use_static_libs=no
+       fi
+       if test -n "$library_names" &&
+          { test "$use_static_libs" = no || test -z "$old_library"; }; then
+         case $host in
+         *cygwin* | *mingw* | *cegcc*)
+             # No point in relinking DLLs because paths are not encoded
+             notinst_deplibs="$notinst_deplibs $lib"
+             need_relink=no
+           ;;
+         *)
+           if test "$installed" = no; then
+             notinst_deplibs="$notinst_deplibs $lib"
+             need_relink=yes
+           fi
+           ;;
+         esac
+         # This is a shared library
+
+         # Warn about portability, can't link against -module's on some
+         # systems (darwin).  Don't bleat about dlopened modules though!
+         dlopenmodule=""
+         for dlpremoduletest in $dlprefiles; do
+           if test "X$dlpremoduletest" = "X$lib"; then
+             dlopenmodule="$dlpremoduletest"
+             break
+           fi
+         done
+         if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then
+           $ECHO
+           if test "$linkmode" = prog; then
+             $ECHO "*** Warning: Linking the executable $output against the loadable module"
+           else
+             $ECHO "*** Warning: Linking the shared library $output against the loadable module"
+           fi
+           $ECHO "*** $linklib is not portable!"
+         fi
+         if test "$linkmode" = lib &&
+            test "$hardcode_into_libs" = yes; then
+           # Hardcode the library path.
+           # Skip directories that are in the system default run-time
+           # search path.
+           case " $sys_lib_dlsearch_path " in
+           *" $absdir "*) ;;
+           *)
+             case "$compile_rpath " in
+             *" $absdir "*) ;;
+             *) compile_rpath="$compile_rpath $absdir"
+             esac
+             ;;
+           esac
+           case " $sys_lib_dlsearch_path " in
+           *" $libdir "*) ;;
+           *)
+             case "$finalize_rpath " in
+             *" $libdir "*) ;;
+             *) finalize_rpath="$finalize_rpath $libdir"
+             esac
+             ;;
+           esac
+         fi
+
+         if test -n "$old_archive_from_expsyms_cmds"; then
+           # figure out the soname
+           set dummy $library_names
+           shift
+           realname="$1"
+           shift
+           libname=`eval "\\$ECHO \"$libname_spec\""`
+           # use dlname if we got it. it's perfectly good, no?
+           if test -n "$dlname"; then
+             soname="$dlname"
+           elif test -n "$soname_spec"; then
+             # bleh windows
+             case $host in
+             *cygwin* | mingw* | *cegcc*)
+               func_arith $current - $age
+               major=$func_arith_result
+               versuffix="-$major"
+               ;;
+             esac
+             eval soname=\"$soname_spec\"
+           else
+             soname="$realname"
+           fi
+
+           # Make a new name for the extract_expsyms_cmds to use
+           soroot="$soname"
+           func_basename "$soroot"
+           soname="$func_basename_result"
+           func_stripname 'lib' '.dll' "$soname"
+           newlib=libimp-$func_stripname_result.a
+
+           # If the library has no export list, then create one now
+           if test -f "$output_objdir/$soname-def"; then :
+           else
+             func_verbose "extracting exported symbol list from \`$soname'"
+             func_execute_cmds "$extract_expsyms_cmds" 'exit $?'
+           fi
+
+           # Create $newlib
+           if test -f "$output_objdir/$newlib"; then :; else
+             func_verbose "generating import library for \`$soname'"
+             func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?'
+           fi
+           # make sure the library variables are pointing to the new library
+           dir=$output_objdir
+           linklib=$newlib
+         fi # test -n "$old_archive_from_expsyms_cmds"
+
+         if test "$linkmode" = prog || test "$mode" != relink; then
+           add_shlibpath=
+           add_dir=
+           add=
+           lib_linked=yes
+           case $hardcode_action in
+           immediate | unsupported)
+             if test "$hardcode_direct" = no; then
+               add="$dir/$linklib"
+               case $host in
+                 *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;;
+                 *-*-sysv4*uw2*) add_dir="-L$dir" ;;
+                 *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \
+                   *-*-unixware7*) add_dir="-L$dir" ;;
+                 *-*-darwin* )
+                   # if the lib is a (non-dlopened) module then we can not
+                   # link against it, someone is ignoring the earlier warnings
+                   if /usr/bin/file -L $add 2> /dev/null |
+                        $GREP ": [^:]* bundle" >/dev/null ; then
+                     if test "X$dlopenmodule" != "X$lib"; then
+                       $ECHO "*** Warning: lib $linklib is a module, not a shared library"
+                       if test -z "$old_library" ; then
+                         $ECHO
+                         $ECHO "*** And there doesn't seem to be a static archive available"
+                         $ECHO "*** The link will probably fail, sorry"
+                       else
+                         add="$dir/$old_library"
+                       fi
+                     elif test -n "$old_library"; then
+                       add="$dir/$old_library"
+                     fi
+                   fi
+               esac
+             elif test "$hardcode_minus_L" = no; then
+               case $host in
+               *-*-sunos*) add_shlibpath="$dir" ;;
+               esac
+               add_dir="-L$dir"
+               add="-l$name"
+             elif test "$hardcode_shlibpath_var" = no; then
+               add_shlibpath="$dir"
+               add="-l$name"
+             else
+               lib_linked=no
+             fi
+             ;;
+           relink)
+             if test "$hardcode_direct" = yes &&
+                test "$hardcode_direct_absolute" = no; then
+               add="$dir/$linklib"
+             elif test "$hardcode_minus_L" = yes; then
+               add_dir="-L$dir"
+               # Try looking first in the location we're being installed to.
+               if test -n "$inst_prefix_dir"; then
+                 case $libdir in
+                   [\\/]*)
+                     add_dir="$add_dir -L$inst_prefix_dir$libdir"
+                     ;;
+                 esac
+               fi
+               add="-l$name"
+             elif test "$hardcode_shlibpath_var" = yes; then
+               add_shlibpath="$dir"
+               add="-l$name"
+             else
+               lib_linked=no
+             fi
+             ;;
+           *) lib_linked=no ;;
+           esac
+
+           if test "$lib_linked" != yes; then
+             func_fatal_configuration "unsupported hardcode properties"
+           fi
+
+           if test -n "$add_shlibpath"; then
+             case :$compile_shlibpath: in
+             *":$add_shlibpath:"*) ;;
+             *) compile_shlibpath="$compile_shlibpath$add_shlibpath:" ;;
+             esac
+           fi
+           if test "$linkmode" = prog; then
+             test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs"
+             test -n "$add" && compile_deplibs="$add $compile_deplibs"
+           else
+             test -n "$add_dir" && deplibs="$add_dir $deplibs"
+             test -n "$add" && deplibs="$add $deplibs"
+             if test "$hardcode_direct" != yes &&
+                test "$hardcode_minus_L" != yes &&
+                test "$hardcode_shlibpath_var" = yes; then
+               case :$finalize_shlibpath: in
+               *":$libdir:"*) ;;
+               *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+               esac
+             fi
+           fi
+         fi
+
+         if test "$linkmode" = prog || test "$mode" = relink; then
+           add_shlibpath=
+           add_dir=
+           add=
+           # Finalize command for both is simple: just hardcode it.
+           if test "$hardcode_direct" = yes &&
+              test "$hardcode_direct_absolute" = no; then
+             add="$libdir/$linklib"
+           elif test "$hardcode_minus_L" = yes; then
+             add_dir="-L$libdir"
+             add="-l$name"
+           elif test "$hardcode_shlibpath_var" = yes; then
+             case :$finalize_shlibpath: in
+             *":$libdir:"*) ;;
+             *) finalize_shlibpath="$finalize_shlibpath$libdir:" ;;
+             esac
+             add="-l$name"
+           elif test "$hardcode_automatic" = yes; then
+             if test -n "$inst_prefix_dir" &&
+                test -f "$inst_prefix_dir$libdir/$linklib" ; then
+               add="$inst_prefix_dir$libdir/$linklib"
+             else
+               add="$libdir/$linklib"
+             fi
+           else
+             # We cannot seem to hardcode it, guess we'll fake it.
+             add_dir="-L$libdir"
+             # Try looking first in the location we're being installed to.
+             if test -n "$inst_prefix_dir"; then
+               case $libdir in
+                 [\\/]*)
+                   add_dir="$add_dir -L$inst_prefix_dir$libdir"
+                   ;;
+               esac
+             fi
+             add="-l$name"
+           fi
+
+           if test "$linkmode" = prog; then
+             test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs"
+             test -n "$add" && finalize_deplibs="$add $finalize_deplibs"
+           else
+             test -n "$add_dir" && deplibs="$add_dir $deplibs"
+             test -n "$add" && deplibs="$add $deplibs"
+           fi
+         fi
+       elif test "$linkmode" = prog; then
+         # Here we assume that one of hardcode_direct or hardcode_minus_L
+         # is not unsupported.  This is valid on all known static and
+         # shared platforms.
+         if test "$hardcode_direct" != unsupported; then
+           test -n "$old_library" && linklib="$old_library"
+           compile_deplibs="$dir/$linklib $compile_deplibs"
+           finalize_deplibs="$dir/$linklib $finalize_deplibs"
+         else
+           compile_deplibs="-l$name -L$dir $compile_deplibs"
+           finalize_deplibs="-l$name -L$dir $finalize_deplibs"
+         fi
+       elif test "$build_libtool_libs" = yes; then
+         # Not a shared library
+         if test "$deplibs_check_method" != pass_all; then
+           # We're trying link a shared library against a static one
+           # but the system doesn't support it.
+
+           # Just print a warning and add the library to dependency_libs so
+           # that the program can be linked against the static library.
+           $ECHO
+           $ECHO "*** Warning: This system can not link to static lib archive $lib."
+           $ECHO "*** I have the capability to make that library automatically link in when"
+           $ECHO "*** you link to this library.  But I can only do this if you have a"
+           $ECHO "*** shared version of the library, which you do not appear to have."
+           if test "$module" = yes; then
+             $ECHO "*** But as you try to build a module library, libtool will still create "
+             $ECHO "*** a static module, that should work as long as the dlopening application"
+             $ECHO "*** is linked with the -dlopen flag to resolve symbols at runtime."
+             if test -z "$global_symbol_pipe"; then
+               $ECHO
+               $ECHO "*** However, this would only work if libtool was able to extract symbol"
+               $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+               $ECHO "*** not find such a program.  So, this module is probably useless."
+               $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+             fi
+             if test "$build_old_libs" = no; then
+               build_libtool_libs=module
+               build_old_libs=yes
+             else
+               build_libtool_libs=no
+             fi
+           fi
+         else
+           deplibs="$dir/$old_library $deplibs"
+           link_static=yes
+         fi
+       fi # link shared/static library?
+
+       if test "$linkmode" = lib; then
+         if test -n "$dependency_libs" &&
+            { test "$hardcode_into_libs" != yes ||
+              test "$build_old_libs" = yes ||
+              test "$link_static" = yes; }; then
+           # Extract -R from dependency_libs
+           temp_deplibs=
+           for libdir in $dependency_libs; do
+             case $libdir in
+             -R*) func_stripname '-R' '' "$libdir"
+                  temp_xrpath=$func_stripname_result
+                  case " $xrpath " in
+                  *" $temp_xrpath "*) ;;
+                  *) xrpath="$xrpath $temp_xrpath";;
+                  esac;;
+             *) temp_deplibs="$temp_deplibs $libdir";;
+             esac
+           done
+           dependency_libs="$temp_deplibs"
+         fi
+
+         newlib_search_path="$newlib_search_path $absdir"
+         # Link against this library
+         test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs"
+         # ... and its dependency_libs
+         tmp_libs=
+         for deplib in $dependency_libs; do
+           newdependency_libs="$deplib $newdependency_libs"
+           if $opt_duplicate_deps ; then
+             case "$tmp_libs " in
+             *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
+             esac
+           fi
+           tmp_libs="$tmp_libs $deplib"
+         done
+
+         if test "$link_all_deplibs" != no; then
+           # Add the search paths of all dependency libraries
+           for deplib in $dependency_libs; do
+             path=
+             case $deplib in
+             -L*) path="$deplib" ;;
+             *.la)
+               func_dirname "$deplib" "" "."
+               dir="$func_dirname_result"
+               # We need an absolute path.
+               case $dir in
+               [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;;
+               *)
+                 absdir=`cd "$dir" && pwd`
+                 if test -z "$absdir"; then
+                   func_warning "cannot determine absolute directory name of \`$dir'"
+                   absdir="$dir"
+                 fi
+                 ;;
+               esac
+               if $GREP "^installed=no" $deplib > /dev/null; then
+               case $host in
+               *-*-darwin*)
+                 depdepl=
+                 eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib`
+                 if test -n "$deplibrary_names" ; then
+                   for tmp in $deplibrary_names ; do
+                     depdepl=$tmp
+                   done
+                   if test -f "$absdir/$objdir/$depdepl" ; then
+                     depdepl="$absdir/$objdir/$depdepl"
+                     darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'`
+                      if test -z "$darwin_install_name"; then
+                          darwin_install_name=`${OTOOL64} -L $depdepl  | awk '{if (NR == 2) {print $1;exit}}'`
+                      fi
+                     compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
+                     linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
+                     path=
+                   fi
+                 fi
+                 ;;
+               *)
+                 path="-L$absdir/$objdir"
+                 ;;
+               esac
+               else
+                 eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+                 test -z "$libdir" && \
+                   func_fatal_error "\`$deplib' is not a valid libtool archive"
+                 test "$absdir" != "$libdir" && \
+                   func_warning "\`$deplib' seems to be moved"
+
+                 path="-L$absdir"
+               fi
+               ;;
+             esac
+             case " $deplibs " in
+             *" $path "*) ;;
+             *) deplibs="$path $deplibs" ;;
+             esac
+           done
+         fi # link_all_deplibs != no
+       fi # linkmode = lib
+      done # for deplib in $libs
+      if test "$pass" = link; then
+       if test "$linkmode" = "prog"; then
+         compile_deplibs="$new_inherited_linker_flags $compile_deplibs"
+         finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs"
+       else
+         compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       fi
+      fi
+      dependency_libs="$newdependency_libs"
+      if test "$pass" = dlpreopen; then
+       # Link the dlpreopened libraries before other libraries
+       for deplib in $save_deplibs; do
+         deplibs="$deplib $deplibs"
+       done
+      fi
+      if test "$pass" != dlopen; then
+       if test "$pass" != conv; then
+         # Make sure lib_search_path contains only unique directories.
+         lib_search_path=
+         for dir in $newlib_search_path; do
+           case "$lib_search_path " in
+           *" $dir "*) ;;
+           *) lib_search_path="$lib_search_path $dir" ;;
+           esac
+         done
+         newlib_search_path=
+       fi
+
+       if test "$linkmode,$pass" != "prog,link"; then
+         vars="deplibs"
+       else
+         vars="compile_deplibs finalize_deplibs"
+       fi
+       for var in $vars dependency_libs; do
+         # Add libraries to $var in reverse order
+         eval tmp_libs=\"\$$var\"
+         new_libs=
+         for deplib in $tmp_libs; do
+           # FIXME: Pedantically, this is the right thing to do, so
+           #        that some nasty dependency loop isn't accidentally
+           #        broken:
+           #new_libs="$deplib $new_libs"
+           # Pragmatically, this seems to cause very few problems in
+           # practice:
+           case $deplib in
+           -L*) new_libs="$deplib $new_libs" ;;
+           -R*) ;;
+           *)
+             # And here is the reason: when a library appears more
+             # than once as an explicit dependence of a library, or
+             # is implicitly linked in more than once by the
+             # compiler, it is considered special, and multiple
+             # occurrences thereof are not removed.  Compare this
+             # with having the same library being listed as a
+             # dependency of multiple other libraries: in this case,
+             # we know (pedantically, we assume) the library does not
+             # need to be listed more than once, so we keep only the
+             # last copy.  This is not always right, but it is rare
+             # enough that we require users that really mean to play
+             # such unportable linking tricks to link the library
+             # using -Wl,-lname, so that libtool does not consider it
+             # for duplicate removal.
+             case " $specialdeplibs " in
+             *" $deplib "*) new_libs="$deplib $new_libs" ;;
+             *)
+               case " $new_libs " in
+               *" $deplib "*) ;;
+               *) new_libs="$deplib $new_libs" ;;
+               esac
+               ;;
+             esac
+             ;;
+           esac
+         done
+         tmp_libs=
+         for deplib in $new_libs; do
+           case $deplib in
+           -L*)
+             case " $tmp_libs " in
+             *" $deplib "*) ;;
+             *) tmp_libs="$tmp_libs $deplib" ;;
+             esac
+             ;;
+           *) tmp_libs="$tmp_libs $deplib" ;;
+           esac
+         done
+         eval $var=\"$tmp_libs\"
+       done # for var
+      fi
+      # Last step: remove runtime libs from dependency_libs
+      # (they stay in deplibs)
+      tmp_libs=
+      for i in $dependency_libs ; do
+       case " $predeps $postdeps $compiler_lib_search_path " in
+       *" $i "*)
+         i=""
+         ;;
+       esac
+       if test -n "$i" ; then
+         tmp_libs="$tmp_libs $i"
+       fi
+      done
+      dependency_libs=$tmp_libs
+    done # for pass
+    if test "$linkmode" = prog; then
+      dlfiles="$newdlfiles"
+    fi
+    if test "$linkmode" = prog || test "$linkmode" = lib; then
+      dlprefiles="$newdlprefiles"
+    fi
+
+    case $linkmode in
+    oldlib)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       func_warning "\`-dlopen' is ignored for archives"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+       func_warning "\`-l' and \`-L' are ignored for archives" ;;
+      esac
+
+      test -n "$rpath" && \
+       func_warning "\`-rpath' is ignored for archives"
+
+      test -n "$xrpath" && \
+       func_warning "\`-R' is ignored for archives"
+
+      test -n "$vinfo" && \
+       func_warning "\`-version-info/-version-number' is ignored for archives"
+
+      test -n "$release" && \
+       func_warning "\`-release' is ignored for archives"
+
+      test -n "$export_symbols$export_symbols_regex" && \
+       func_warning "\`-export-symbols' is ignored for archives"
+
+      # Now set the variables for building old libraries.
+      build_libtool_libs=no
+      oldlibs="$output"
+      objs="$objs$old_deplibs"
+      ;;
+
+    lib)
+      # Make sure we only generate libraries of the form `libNAME.la'.
+      case $outputname in
+      lib*)
+       func_stripname 'lib' '.la' "$outputname"
+       name=$func_stripname_result
+       eval shared_ext=\"$shrext_cmds\"
+       eval libname=\"$libname_spec\"
+       ;;
+      *)
+       test "$module" = no && \
+         func_fatal_help "libtool library \`$output' must begin with \`lib'"
+
+       if test "$need_lib_prefix" != no; then
+         # Add the "lib" prefix for modules if required
+         func_stripname '' '.la' "$outputname"
+         name=$func_stripname_result
+         eval shared_ext=\"$shrext_cmds\"
+         eval libname=\"$libname_spec\"
+       else
+         func_stripname '' '.la' "$outputname"
+         libname=$func_stripname_result
+       fi
+       ;;
+      esac
+
+      if test -n "$objs"; then
+       if test "$deplibs_check_method" != pass_all; then
+         func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs"
+       else
+         $ECHO
+         $ECHO "*** Warning: Linking the shared library $output against the non-libtool"
+         $ECHO "*** objects $objs is not portable!"
+         libobjs="$libobjs $objs"
+       fi
+      fi
+
+      test "$dlself" != no && \
+       func_warning "\`-dlopen self' is ignored for libtool libraries"
+
+      set dummy $rpath
+      shift
+      test "$#" -gt 1 && \
+       func_warning "ignoring multiple \`-rpath's for a libtool library"
+
+      install_libdir="$1"
+
+      oldlibs=
+      if test -z "$rpath"; then
+       if test "$build_libtool_libs" = yes; then
+         # Building a libtool convenience library.
+         # Some compilers have problems with a `.al' extension so
+         # convenience libraries should have the same extension an
+         # archive normally would.
+         oldlibs="$output_objdir/$libname.$libext $oldlibs"
+         build_libtool_libs=convenience
+         build_old_libs=yes
+       fi
+
+       test -n "$vinfo" && \
+         func_warning "\`-version-info/-version-number' is ignored for convenience libraries"
+
+       test -n "$release" && \
+         func_warning "\`-release' is ignored for convenience libraries"
+      else
+
+       # Parse the version information argument.
+       save_ifs="$IFS"; IFS=':'
+       set dummy $vinfo 0 0 0
+       shift
+       IFS="$save_ifs"
+
+       test -n "$7" && \
+         func_fatal_help "too many parameters to \`-version-info'"
+
+       # convert absolute version numbers to libtool ages
+       # this retains compatibility with .la files and attempts
+       # to make the code below a bit more comprehensible
+
+       case $vinfo_number in
+       yes)
+         number_major="$1"
+         number_minor="$2"
+         number_revision="$3"
+         #
+         # There are really only two kinds -- those that
+         # use the current revision as the major version
+         # and those that subtract age and use age as
+         # a minor version.  But, then there is irix
+         # which has an extra 1 added just for fun
+         #
+         case $version_type in
+         darwin|linux|osf|windows|none)
+           func_arith $number_major + $number_minor
+           current=$func_arith_result
+           age="$number_minor"
+           revision="$number_revision"
+           ;;
+         freebsd-aout|freebsd-elf|sunos)
+           current="$number_major"
+           revision="$number_minor"
+           age="0"
+           ;;
+         irix|nonstopux)
+           func_arith $number_major + $number_minor
+           current=$func_arith_result
+           age="$number_minor"
+           revision="$number_minor"
+           lt_irix_increment=no
+           ;;
+         *)
+           func_fatal_configuration "$modename: unknown library version type \`$version_type'"
+           ;;
+         esac
+         ;;
+       no)
+         current="$1"
+         revision="$2"
+         age="$3"
+         ;;
+       esac
+
+       # Check that each of the things are valid numbers.
+       case $current in
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+       *)
+         func_error "CURRENT \`$current' must be a nonnegative integer"
+         func_fatal_error "\`$vinfo' is not valid version information"
+         ;;
+       esac
+
+       case $revision in
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+       *)
+         func_error "REVISION \`$revision' must be a nonnegative integer"
+         func_fatal_error "\`$vinfo' is not valid version information"
+         ;;
+       esac
+
+       case $age in
+       0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;;
+       *)
+         func_error "AGE \`$age' must be a nonnegative integer"
+         func_fatal_error "\`$vinfo' is not valid version information"
+         ;;
+       esac
+
+       if test "$age" -gt "$current"; then
+         func_error "AGE \`$age' is greater than the current interface number \`$current'"
+         func_fatal_error "\`$vinfo' is not valid version information"
+       fi
+
+       # Calculate the version variables.
+       major=
+       versuffix=
+       verstring=
+       case $version_type in
+       none) ;;
+
+       darwin)
+         # Like Linux, but with the current version available in
+         # verstring for coding it into the library header
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix="$major.$age.$revision"
+         # Darwin ld doesn't like 0 for these options...
+         func_arith $current + 1
+         minor_current=$func_arith_result
+         xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision"
+         verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+         ;;
+
+       freebsd-aout)
+         major=".$current"
+         versuffix=".$current.$revision";
+         ;;
+
+       freebsd-elf)
+         major=".$current"
+         versuffix=".$current"
+         ;;
+
+       irix | nonstopux)
+         if test "X$lt_irix_increment" = "Xno"; then
+           func_arith $current - $age
+         else
+           func_arith $current - $age + 1
+         fi
+         major=$func_arith_result
+
+         case $version_type in
+           nonstopux) verstring_prefix=nonstopux ;;
+           *)         verstring_prefix=sgi ;;
+         esac
+         verstring="$verstring_prefix$major.$revision"
+
+         # Add in all the interfaces that we are compatible with.
+         loop=$revision
+         while test "$loop" -ne 0; do
+           func_arith $revision - $loop
+           iface=$func_arith_result
+           func_arith $loop - 1
+           loop=$func_arith_result
+           verstring="$verstring_prefix$major.$iface:$verstring"
+         done
+
+         # Before this point, $major must not contain `.'.
+         major=.$major
+         versuffix="$major.$revision"
+         ;;
+
+       linux)
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix="$major.$age.$revision"
+         ;;
+
+       osf)
+         func_arith $current - $age
+         major=.$func_arith_result
+         versuffix=".$current.$age.$revision"
+         verstring="$current.$age.$revision"
+
+         # Add in all the interfaces that we are compatible with.
+         loop=$age
+         while test "$loop" -ne 0; do
+           func_arith $current - $loop
+           iface=$func_arith_result
+           func_arith $loop - 1
+           loop=$func_arith_result
+           verstring="$verstring:${iface}.0"
+         done
+
+         # Make executables depend on our current version.
+         verstring="$verstring:${current}.0"
+         ;;
+
+       qnx)
+         major=".$current"
+         versuffix=".$current"
+         ;;
+
+       sunos)
+         major=".$current"
+         versuffix=".$current.$revision"
+         ;;
+
+       windows)
+         # Use '-' rather than '.', since we only want one
+         # extension on DOS 8.3 filesystems.
+         func_arith $current - $age
+         major=$func_arith_result
+         versuffix="-$major"
+         ;;
+
+       *)
+         func_fatal_configuration "unknown library version type \`$version_type'"
+         ;;
+       esac
+
+       # Clear the version info if we defaulted, and they specified a release.
+       if test -z "$vinfo" && test -n "$release"; then
+         major=
+         case $version_type in
+         darwin)
+           # we can't check for "0.0" in archive_cmds due to quoting
+           # problems, so we reset it completely
+           verstring=
+           ;;
+         *)
+           verstring="0.0"
+           ;;
+         esac
+         if test "$need_version" = no; then
+           versuffix=
+         else
+           versuffix=".0.0"
+         fi
+       fi
+
+       # Remove version info from name if versioning should be avoided
+       if test "$avoid_version" = yes && test "$need_version" = no; then
+         major=
+         versuffix=
+         verstring=""
+       fi
+
+       # Check to see if the archive will have undefined symbols.
+       if test "$allow_undefined" = yes; then
+         if test "$allow_undefined_flag" = unsupported; then
+           func_warning "undefined symbols not allowed in $host shared libraries"
+           build_libtool_libs=no
+           build_old_libs=yes
+         fi
+       else
+         # Don't allow undefined symbols.
+         allow_undefined_flag="$no_undefined_flag"
+       fi
+
+      fi
+
+      func_generate_dlsyms "$libname" "$libname" "yes"
+      libobjs="$libobjs $symfileobj"
+      test "X$libobjs" = "X " && libobjs=
+
+      if test "$mode" != relink; then
+       # Remove our outputs, but don't remove object files since they
+       # may have been created when compiling PIC objects.
+       removelist=
+       tempremovelist=`$ECHO "$output_objdir/*"`
+       for p in $tempremovelist; do
+         case $p in
+           *.$objext | *.gcno)
+              ;;
+           $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*)
+              if test "X$precious_files_regex" != "X"; then
+                if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1
+                then
+                  continue
+                fi
+              fi
+              removelist="$removelist $p"
+              ;;
+           *) ;;
+         esac
+       done
+       test -n "$removelist" && \
+         func_show_eval "${RM}r \$removelist"
+      fi
+
+      # Now set the variables for building old libraries.
+      if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then
+       oldlibs="$oldlibs $output_objdir/$libname.$libext"
+
+       # Transform .lo files to .o files.
+       oldobjs="$objs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}'$/d' -e "$lo2o" | $NL2SP`
+      fi
+
+      # Eliminate all temporary directories.
+      #for path in $notinst_path; do
+      #        lib_search_path=`$ECHO "X$lib_search_path " | $Xsed -e "s% $path % %g"`
+      #        deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"`
+      #        dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -e "s% -L$path % %g"`
+      #done
+
+      if test -n "$xrpath"; then
+       # If the user specified any rpath flags, then add them.
+       temp_xrpath=
+       for libdir in $xrpath; do
+         temp_xrpath="$temp_xrpath -R$libdir"
+         case "$finalize_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_rpath="$finalize_rpath $libdir" ;;
+         esac
+       done
+       if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then
+         dependency_libs="$temp_xrpath $dependency_libs"
+       fi
+      fi
+
+      # Make sure dlfiles contains only unique files that won't be dlpreopened
+      old_dlfiles="$dlfiles"
+      dlfiles=
+      for lib in $old_dlfiles; do
+       case " $dlprefiles $dlfiles " in
+       *" $lib "*) ;;
+       *) dlfiles="$dlfiles $lib" ;;
+       esac
+      done
+
+      # Make sure dlprefiles contains only unique files
+      old_dlprefiles="$dlprefiles"
+      dlprefiles=
+      for lib in $old_dlprefiles; do
+       case "$dlprefiles " in
+       *" $lib "*) ;;
+       *) dlprefiles="$dlprefiles $lib" ;;
+       esac
+      done
+
+      if test "$build_libtool_libs" = yes; then
+       if test -n "$rpath"; then
+         case $host in
+         *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc*)
+           # these systems don't actually have a c library (as such)!
+           ;;
+         *-*-rhapsody* | *-*-darwin1.[012])
+           # Rhapsody C library is in the System framework
+           deplibs="$deplibs System.ltframework"
+           ;;
+         *-*-netbsd*)
+           # Don't link with libc until the a.out ld.so is fixed.
+           ;;
+         *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*)
+           # Do not include libc due to us having libc/libc_r.
+           ;;
+         *-*-sco3.2v5* | *-*-sco5v6*)
+           # Causes problems with __ctype
+           ;;
+         *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*)
+           # Compiler inserts libc in the correct place for threads to work
+           ;;
+         *)
+           # Add libc to deplibs on all other systems if necessary.
+           if test "$build_libtool_need_lc" = "yes"; then
+             deplibs="$deplibs -lc"
+           fi
+           ;;
+         esac
+       fi
+
+       # Transform deplibs into only deplibs that can be linked in shared.
+       name_save=$name
+       libname_save=$libname
+       release_save=$release
+       versuffix_save=$versuffix
+       major_save=$major
+       # I'm not sure if I'm treating the release correctly.  I think
+       # release should show up in the -l (ie -lgmp5) so we don't want to
+       # add it in twice.  Is that correct?
+       release=""
+       versuffix=""
+       major=""
+       newdeplibs=
+       droppeddeps=no
+       case $deplibs_check_method in
+       pass_all)
+         # Don't check for shared/static.  Everything works.
+         # This might be a little naive.  We might want to check
+         # whether the library exists or not.  But this is on
+         # osf3 & osf4 and I'm not really sure... Just
+         # implementing what was already the behavior.
+         newdeplibs=$deplibs
+         ;;
+       test_compile)
+         # This code stresses the "libraries are programs" paradigm to its
+         # limits. Maybe even breaks it.  We compile a program, linking it
+         # against the deplibs as a proxy for the library.  Then we can check
+         # whether they linked in statically or dynamically with ldd.
+         $opt_dry_run || $RM conftest.c
+         cat > conftest.c <<EOF
+         int main() { return 0; }
+EOF
+         $opt_dry_run || $RM conftest
+         if $LTCC $LTCFLAGS -o conftest conftest.c $deplibs; then
+           ldd_output=`ldd conftest`
+           for i in $deplibs; do
+             case $i in
+             -l*)
+               func_stripname -l '' "$i"
+               name=$func_stripname_result
+               if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+                 case " $predeps $postdeps " in
+                 *" $i "*)
+                   newdeplibs="$newdeplibs $i"
+                   i=""
+                   ;;
+                 esac
+               fi
+               if test -n "$i" ; then
+                 libname=`eval "\\$ECHO \"$libname_spec\""`
+                 deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+                 set dummy $deplib_matches; shift
+                 deplib_match=$1
+                 if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                   newdeplibs="$newdeplibs $i"
+                 else
+                   droppeddeps=yes
+                   $ECHO
+                   $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+                   $ECHO "*** I have the capability to make that library automatically link in when"
+                   $ECHO "*** you link to this library.  But I can only do this if you have a"
+                   $ECHO "*** shared version of the library, which I believe you do not have"
+                   $ECHO "*** because a test_compile did reveal that the linker did not use it for"
+                   $ECHO "*** its dynamic dependency list that programs get resolved with at runtime."
+                 fi
+               fi
+               ;;
+             *)
+               newdeplibs="$newdeplibs $i"
+               ;;
+             esac
+           done
+         else
+           # Error occurred in the first compile.  Let's try to salvage
+           # the situation: Compile a separate program for each library.
+           for i in $deplibs; do
+             case $i in
+             -l*)
+               func_stripname -l '' "$i"
+               name=$func_stripname_result
+               $opt_dry_run || $RM conftest
+               if $LTCC $LTCFLAGS -o conftest conftest.c $i; then
+                 ldd_output=`ldd conftest`
+                 if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+                   case " $predeps $postdeps " in
+                   *" $i "*)
+                     newdeplibs="$newdeplibs $i"
+                     i=""
+                     ;;
+                   esac
+                 fi
+                 if test -n "$i" ; then
+                   libname=`eval "\\$ECHO \"$libname_spec\""`
+                   deplib_matches=`eval "\\$ECHO \"$library_names_spec\""`
+                   set dummy $deplib_matches; shift
+                   deplib_match=$1
+                   if test `expr "$ldd_output" : ".*$deplib_match"` -ne 0 ; then
+                     newdeplibs="$newdeplibs $i"
+                   else
+                     droppeddeps=yes
+                     $ECHO
+                     $ECHO "*** Warning: dynamic linker does not accept needed library $i."
+                     $ECHO "*** I have the capability to make that library automatically link in when"
+                     $ECHO "*** you link to this library.  But I can only do this if you have a"
+                     $ECHO "*** shared version of the library, which you do not appear to have"
+                     $ECHO "*** because a test_compile did reveal that the linker did not use this one"
+                     $ECHO "*** as a dynamic dependency that programs can get resolved with at runtime."
+                   fi
+                 fi
+               else
+                 droppeddeps=yes
+                 $ECHO
+                 $ECHO "*** Warning!  Library $i is needed by this library but I was not able to"
+                 $ECHO "*** make it link in!  You will probably need to install it or some"
+                 $ECHO "*** library that it depends on before this library will be fully"
+                 $ECHO "*** functional.  Installing it before continuing would be even better."
+               fi
+               ;;
+             *)
+               newdeplibs="$newdeplibs $i"
+               ;;
+             esac
+           done
+         fi
+         ;;
+       file_magic*)
+         set dummy $deplibs_check_method; shift
+         file_magic_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+         for a_deplib in $deplibs; do
+           case $a_deplib in
+           -l*)
+             func_stripname -l '' "$a_deplib"
+             name=$func_stripname_result
+             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+               case " $predeps $postdeps " in
+               *" $a_deplib "*)
+                 newdeplibs="$newdeplibs $a_deplib"
+                 a_deplib=""
+                 ;;
+               esac
+             fi
+             if test -n "$a_deplib" ; then
+               libname=`eval "\\$ECHO \"$libname_spec\""`
+               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+                 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+                 for potent_lib in $potential_libs; do
+                     # Follow soft links.
+                     if ls -lLd "$potent_lib" 2>/dev/null |
+                        $GREP " -> " >/dev/null; then
+                       continue
+                     fi
+                     # The statement above tries to avoid entering an
+                     # endless loop below, in case of cyclic links.
+                     # We might still enter an endless loop, since a link
+                     # loop can be closed while we follow links,
+                     # but so what?
+                     potlib="$potent_lib"
+                     while test -h "$potlib" 2>/dev/null; do
+                       potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'`
+                       case $potliblink in
+                       [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";;
+                       *) potlib=`$ECHO "X$potlib" | $Xsed -e 's,[^/]*$,,'`"$potliblink";;
+                       esac
+                     done
+                     if eval $file_magic_cmd \"\$potlib\" 2>/dev/null |
+                        $SED -e 10q |
+                        $EGREP "$file_magic_regex" > /dev/null; then
+                       newdeplibs="$newdeplibs $a_deplib"
+                       a_deplib=""
+                       break 2
+                     fi
+                 done
+               done
+             fi
+             if test -n "$a_deplib" ; then
+               droppeddeps=yes
+               $ECHO
+               $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+               $ECHO "*** I have the capability to make that library automatically link in when"
+               $ECHO "*** you link to this library.  But I can only do this if you have a"
+               $ECHO "*** shared version of the library, which you do not appear to have"
+               $ECHO "*** because I did check the linker path looking for a file starting"
+               if test -z "$potlib" ; then
+                 $ECHO "*** with $libname but no candidates were found. (...for file magic test)"
+               else
+                 $ECHO "*** with $libname and none of the candidates passed a file format test"
+                 $ECHO "*** using a file magic. Last file checked: $potlib"
+               fi
+             fi
+             ;;
+           *)
+             # Add a -L argument.
+             newdeplibs="$newdeplibs $a_deplib"
+             ;;
+           esac
+         done # Gone through all deplibs.
+         ;;
+       match_pattern*)
+         set dummy $deplibs_check_method; shift
+         match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"`
+         for a_deplib in $deplibs; do
+           case $a_deplib in
+           -l*)
+             func_stripname -l '' "$a_deplib"
+             name=$func_stripname_result
+             if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+               case " $predeps $postdeps " in
+               *" $a_deplib "*)
+                 newdeplibs="$newdeplibs $a_deplib"
+                 a_deplib=""
+                 ;;
+               esac
+             fi
+             if test -n "$a_deplib" ; then
+               libname=`eval "\\$ECHO \"$libname_spec\""`
+               for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do
+                 potential_libs=`ls $i/$libname[.-]* 2>/dev/null`
+                 for potent_lib in $potential_libs; do
+                   potlib="$potent_lib" # see symlink-check above in file_magic test
+                   if eval "\$ECHO \"X$potent_lib\"" 2>/dev/null | $Xsed -e 10q | \
+                      $EGREP "$match_pattern_regex" > /dev/null; then
+                     newdeplibs="$newdeplibs $a_deplib"
+                     a_deplib=""
+                     break 2
+                   fi
+                 done
+               done
+             fi
+             if test -n "$a_deplib" ; then
+               droppeddeps=yes
+               $ECHO
+               $ECHO "*** Warning: linker path does not have real file for library $a_deplib."
+               $ECHO "*** I have the capability to make that library automatically link in when"
+               $ECHO "*** you link to this library.  But I can only do this if you have a"
+               $ECHO "*** shared version of the library, which you do not appear to have"
+               $ECHO "*** because I did check the linker path looking for a file starting"
+               if test -z "$potlib" ; then
+                 $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)"
+               else
+                 $ECHO "*** with $libname and none of the candidates passed a file format test"
+                 $ECHO "*** using a regex pattern. Last file checked: $potlib"
+               fi
+             fi
+             ;;
+           *)
+             # Add a -L argument.
+             newdeplibs="$newdeplibs $a_deplib"
+             ;;
+           esac
+         done # Gone through all deplibs.
+         ;;
+       none | unknown | *)
+         newdeplibs=""
+         tmp_deplibs=`$ECHO "X $deplibs" | $Xsed \
+             -e 's/ -lc$//' -e 's/ -[LR][^ ]*//g'`
+         if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then
+           for i in $predeps $postdeps ; do
+             # can't use Xsed below, because $i might contain '/'
+             tmp_deplibs=`$ECHO "X $tmp_deplibs" | $Xsed -e "s,$i,,"`
+           done
+         fi
+         if $ECHO "X $tmp_deplibs" | $Xsed -e 's/[      ]//g' |
+            $GREP . >/dev/null; then
+           $ECHO
+           if test "X$deplibs_check_method" = "Xnone"; then
+             $ECHO "*** Warning: inter-library dependencies are not supported in this platform."
+           else
+             $ECHO "*** Warning: inter-library dependencies are not known to be supported."
+           fi
+           $ECHO "*** All declared inter-library dependencies are being dropped."
+           droppeddeps=yes
+         fi
+         ;;
+       esac
+       versuffix=$versuffix_save
+       major=$major_save
+       release=$release_save
+       libname=$libname_save
+       name=$name_save
+
+       case $host in
+       *-*-rhapsody* | *-*-darwin1.[012])
+         # On Rhapsody replace the C library with the System framework
+         newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+         ;;
+       esac
+
+       if test "$droppeddeps" = yes; then
+         if test "$module" = yes; then
+           $ECHO
+           $ECHO "*** Warning: libtool could not satisfy all declared inter-library"
+           $ECHO "*** dependencies of module $libname.  Therefore, libtool will create"
+           $ECHO "*** a static module, that should work as long as the dlopening"
+           $ECHO "*** application is linked with the -dlopen flag."
+           if test -z "$global_symbol_pipe"; then
+             $ECHO
+             $ECHO "*** However, this would only work if libtool was able to extract symbol"
+             $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could"
+             $ECHO "*** not find such a program.  So, this module is probably useless."
+             $ECHO "*** \`nm' from GNU binutils and a full rebuild may help."
+           fi
+           if test "$build_old_libs" = no; then
+             oldlibs="$output_objdir/$libname.$libext"
+             build_libtool_libs=module
+             build_old_libs=yes
+           else
+             build_libtool_libs=no
+           fi
+         else
+           $ECHO "*** The inter-library dependencies that have been dropped here will be"
+           $ECHO "*** automatically added whenever a program is linked with this library"
+           $ECHO "*** or is declared to -dlopen it."
+
+           if test "$allow_undefined" = no; then
+             $ECHO
+             $ECHO "*** Since this library must not contain undefined symbols,"
+             $ECHO "*** because either the platform does not support them or"
+             $ECHO "*** it was explicitly requested with -no-undefined,"
+             $ECHO "*** libtool will only create a static version of it."
+             if test "$build_old_libs" = no; then
+               oldlibs="$output_objdir/$libname.$libext"
+               build_libtool_libs=module
+               build_old_libs=yes
+             else
+               build_libtool_libs=no
+             fi
+           fi
+         fi
+       fi
+       # Done checking deplibs!
+       deplibs=$newdeplibs
+      fi
+      # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+      case $host in
+       *-*-darwin*)
+         newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+         ;;
+      esac
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+       case " $new_libs " in
+       *" -L$path/$objdir "*) ;;
+       *)
+         case " $deplibs " in
+         *" -L$path/$objdir "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      deplibs="$new_libs"
+
+      # All the library-specific variables (install_libdir is set above).
+      library_names=
+      old_library=
+      dlname=
+
+      # Test again, we may have decided not to build it any more
+      if test "$build_libtool_libs" = yes; then
+       if test "$hardcode_into_libs" = yes; then
+         # Hardcode the library paths
+         hardcode_libdirs=
+         dep_rpath=
+         rpath="$finalize_rpath"
+         test "$mode" != relink && rpath="$compile_rpath$rpath"
+         for libdir in $rpath; do
+           if test -n "$hardcode_libdir_flag_spec"; then
+             if test -n "$hardcode_libdir_separator"; then
+               if test -z "$hardcode_libdirs"; then
+                 hardcode_libdirs="$libdir"
+               else
+                 # Just accumulate the unique libdirs.
+                 case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+                 *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+                   ;;
+                 *)
+                   hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+                   ;;
+                 esac
+               fi
+             else
+               eval flag=\"$hardcode_libdir_flag_spec\"
+               dep_rpath="$dep_rpath $flag"
+             fi
+           elif test -n "$runpath_var"; then
+             case "$perm_rpath " in
+             *" $libdir "*) ;;
+             *) perm_rpath="$perm_rpath $libdir" ;;
+             esac
+           fi
+         done
+         # Substitute the hardcoded libdirs into the rpath.
+         if test -n "$hardcode_libdir_separator" &&
+            test -n "$hardcode_libdirs"; then
+           libdir="$hardcode_libdirs"
+           if test -n "$hardcode_libdir_flag_spec_ld"; then
+             eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
+           else
+             eval dep_rpath=\"$hardcode_libdir_flag_spec\"
+           fi
+         fi
+         if test -n "$runpath_var" && test -n "$perm_rpath"; then
+           # We should set the runpath_var.
+           rpath=
+           for dir in $perm_rpath; do
+             rpath="$rpath$dir:"
+           done
+           eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var"
+         fi
+         test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs"
+       fi
+
+       shlibpath="$finalize_shlibpath"
+       test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath"
+       if test -n "$shlibpath"; then
+         eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var"
+       fi
+
+       # Get the real and link names of the library.
+       eval shared_ext=\"$shrext_cmds\"
+       eval library_names=\"$library_names_spec\"
+       set dummy $library_names
+       shift
+       realname="$1"
+       shift
+
+       if test -n "$soname_spec"; then
+         eval soname=\"$soname_spec\"
+       else
+         soname="$realname"
+       fi
+       if test -z "$dlname"; then
+         dlname=$soname
+       fi
+
+       lib="$output_objdir/$realname"
+       linknames=
+       for link
+       do
+         linknames="$linknames $link"
+       done
+
+       # Use standard objects if they are pic
+       test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+       test "X$libobjs" = "X " && libobjs=
+
+       delfiles=
+       if test -n "$export_symbols" && test -n "$include_expsyms"; then
+         $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp"
+         export_symbols="$output_objdir/$libname.uexp"
+         delfiles="$delfiles $export_symbols"
+       fi
+
+       orig_export_symbols=
+       case $host_os in
+       cygwin* | mingw* | cegcc*)
+         if test -n "$export_symbols" && test -z "$export_symbols_regex"; then
+           # exporting using user supplied symfile
+           if test "x`$SED 1q $export_symbols`" != xEXPORTS; then
+             # and it's NOT already a .def file. Must figure out
+             # which of the given symbols are data symbols and tag
+             # them as such. So, trigger use of export_symbols_cmds.
+             # export_symbols gets reassigned inside the "prepare
+             # the list of exported symbols" if statement, so the
+             # include_expsyms logic still works.
+             orig_export_symbols="$export_symbols"
+             export_symbols=
+             always_export_symbols=yes
+           fi
+         fi
+         ;;
+       esac
+
+       # Prepare the list of exported symbols
+       if test -z "$export_symbols"; then
+         if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then
+           func_verbose "generating symbol list for \`$libname.la'"
+           export_symbols="$output_objdir/$libname.exp"
+           $opt_dry_run || $RM $export_symbols
+           cmds=$export_symbols_cmds
+           save_ifs="$IFS"; IFS='~'
+           for cmd in $cmds; do
+             IFS="$save_ifs"
+             eval cmd=\"$cmd\"
+             func_len " $cmd"
+             len=$func_len_result
+             if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+               func_show_eval "$cmd" 'exit $?'
+               skipped_export=false
+             else
+               # The command line is too long to execute in one step.
+               func_verbose "using reloadable object file for export list..."
+               skipped_export=:
+               # Break out early, otherwise skipped_export may be
+               # set to false by a later but shorter cmd.
+               break
+             fi
+           done
+           IFS="$save_ifs"
+           if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then
+             func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+             func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+           fi
+         fi
+       fi
+
+       if test -n "$export_symbols" && test -n "$include_expsyms"; then
+         tmp_export_symbols="$export_symbols"
+         test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+         $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+       fi
+
+       if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then
+         # The given exports_symbols file has to be filtered, so filter it.
+         func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+         # FIXME: $output_objdir/$libname.filter potentially contains lots of
+         # 's' commands which not all seds can handle. GNU sed should be fine
+         # though. Also, the filter scales superlinearly with the number of
+         # global variables. join(1) would be nice here, but unfortunately
+         # isn't a blessed tool.
+         $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+         delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+         export_symbols=$output_objdir/$libname.def
+         $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+       fi
+
+       tmp_deplibs=
+       for test_deplib in $deplibs; do
+         case " $convenience " in
+         *" $test_deplib "*) ;;
+         *)
+           tmp_deplibs="$tmp_deplibs $test_deplib"
+           ;;
+         esac
+       done
+       deplibs="$tmp_deplibs"
+
+       if test -n "$convenience"; then
+         if test -n "$whole_archive_flag_spec" &&
+           test "$compiler_needs_object" = yes &&
+           test -z "$libobjs"; then
+           # extract the archives, so we have objects to list.
+           # TODO: could optimize this to just extract one archive.
+           whole_archive_flag_spec=
+         fi
+         if test -n "$whole_archive_flag_spec"; then
+           save_libobjs=$libobjs
+           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+           test "X$libobjs" = "X " && libobjs=
+         else
+           gentop="$output_objdir/${outputname}x"
+           generated="$generated $gentop"
+
+           func_extract_archives $gentop $convenience
+           libobjs="$libobjs $func_extract_archives_result"
+           test "X$libobjs" = "X " && libobjs=
+         fi
+       fi
+
+       if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
+         eval flag=\"$thread_safe_flag_spec\"
+         linker_flags="$linker_flags $flag"
+       fi
+
+       # Make a backup of the uninstalled library when relinking
+       if test "$mode" = relink; then
+         $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $?
+       fi
+
+       # Do each of the archive commands.
+       if test "$module" = yes && test -n "$module_cmds" ; then
+         if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+           eval test_cmds=\"$module_expsym_cmds\"
+           cmds=$module_expsym_cmds
+         else
+           eval test_cmds=\"$module_cmds\"
+           cmds=$module_cmds
+         fi
+       else
+         if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+           eval test_cmds=\"$archive_expsym_cmds\"
+           cmds=$archive_expsym_cmds
+         else
+           eval test_cmds=\"$archive_cmds\"
+           cmds=$archive_cmds
+         fi
+       fi
+
+       if test "X$skipped_export" != "X:" &&
+          func_len " $test_cmds" &&
+          len=$func_len_result &&
+          test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+         :
+       else
+         # The command line is too long to link in one step, link piecewise
+         # or, if using GNU ld and skipped_export is not :, use a linker
+         # script.
+
+         # Save the value of $output and $libobjs because we want to
+         # use them later.  If we have whole_archive_flag_spec, we
+         # want to use save_libobjs as it was before
+         # whole_archive_flag_spec was expanded, because we can't
+         # assume the linker understands whole_archive_flag_spec.
+         # This may have to be revisited, in case too many
+         # convenience libraries get linked in and end up exceeding
+         # the spec.
+         if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then
+           save_libobjs=$libobjs
+         fi
+         save_output=$output
+         output_la=`$ECHO "X$output" | $Xsed -e "$basename"`
+
+         # Clear the reloadable object creation command queue and
+         # initialize k to one.
+         test_cmds=
+         concat_cmds=
+         objlist=
+         last_robj=
+         k=1
+
+         if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then
+           output=${output_objdir}/${output_la}.lnkscript
+           func_verbose "creating GNU ld script: $output"
+           $ECHO 'INPUT (' > $output
+           for obj in $save_libobjs
+           do
+             $ECHO "$obj" >> $output
+           done
+           $ECHO ')' >> $output
+           delfiles="$delfiles $output"
+         elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then
+           output=${output_objdir}/${output_la}.lnk
+           func_verbose "creating linker input file list: $output"
+           : > $output
+           set x $save_libobjs
+           shift
+           firstobj=
+           if test "$compiler_needs_object" = yes; then
+             firstobj="$1 "
+             shift
+           fi
+           for obj
+           do
+             $ECHO "$obj" >> $output
+           done
+           delfiles="$delfiles $output"
+           output=$firstobj\"$file_list_spec$output\"
+         else
+           if test -n "$save_libobjs"; then
+             func_verbose "creating reloadable object files..."
+             output=$output_objdir/$output_la-${k}.$objext
+             eval test_cmds=\"$reload_cmds\"
+             func_len " $test_cmds"
+             len0=$func_len_result
+             len=$len0
+
+             # Loop over the list of objects to be linked.
+             for obj in $save_libobjs
+             do
+               func_len " $obj"
+               func_arith $len + $func_len_result
+               len=$func_arith_result
+               if test "X$objlist" = X ||
+                  test "$len" -lt "$max_cmd_len"; then
+                 func_append objlist " $obj"
+               else
+                 # The command $test_cmds is almost too long, add a
+                 # command to the queue.
+                 if test "$k" -eq 1 ; then
+                   # The first file doesn't have a previous command to add.
+                   eval concat_cmds=\"$reload_cmds $objlist $last_robj\"
+                 else
+                   # All subsequent reloadable object files will link in
+                   # the last one created.
+                   eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist $last_robj~\$RM $last_robj\"
+                 fi
+                 last_robj=$output_objdir/$output_la-${k}.$objext
+                 func_arith $k + 1
+                 k=$func_arith_result
+                 output=$output_objdir/$output_la-${k}.$objext
+                 objlist=$obj
+                 func_len " $last_robj"
+                 func_arith $len0 + $func_len_result
+                 len=$func_arith_result
+               fi
+             done
+             # Handle the remaining objects by creating one last
+             # reloadable object file.  All subsequent reloadable object
+             # files will link in the last one created.
+             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+             eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
+             if test -n "$last_robj"; then
+               eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\"
+             fi
+             delfiles="$delfiles $output"
+
+           else
+             output=
+           fi
+
+           if ${skipped_export-false}; then
+             func_verbose "generating symbol list for \`$libname.la'"
+             export_symbols="$output_objdir/$libname.exp"
+             $opt_dry_run || $RM $export_symbols
+             libobjs=$output
+             # Append the command to create the export file.
+             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+             eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
+             if test -n "$last_robj"; then
+               eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
+             fi
+           fi
+
+           test -n "$save_libobjs" &&
+             func_verbose "creating a temporary reloadable object file: $output"
+
+           # Loop through the commands generated above and execute them.
+           save_ifs="$IFS"; IFS='~'
+           for cmd in $concat_cmds; do
+             IFS="$save_ifs"
+             $opt_silent || {
+                 func_quote_for_expand "$cmd"
+                 eval "func_echo $func_quote_for_expand_result"
+             }
+             $opt_dry_run || eval "$cmd" || {
+               lt_exit=$?
+
+               # Restore the uninstalled library and exit
+               if test "$mode" = relink; then
+                 ( cd "$output_objdir" && \
+                   $RM "${realname}T" && \
+                   $MV "${realname}U" "$realname" )
+               fi
+
+               exit $lt_exit
+             }
+           done
+           IFS="$save_ifs"
+
+           if test -n "$export_symbols_regex" && ${skipped_export-false}; then
+             func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"'
+             func_show_eval '$MV "${export_symbols}T" "$export_symbols"'
+           fi
+         fi
+
+          if ${skipped_export-false}; then
+           if test -n "$export_symbols" && test -n "$include_expsyms"; then
+             tmp_export_symbols="$export_symbols"
+             test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols"
+             $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"'
+           fi
+
+           if test -n "$orig_export_symbols"; then
+             # The given exports_symbols file has to be filtered, so filter it.
+             func_verbose "filter symbol list for \`$libname.la' to tag DATA exports"
+             # FIXME: $output_objdir/$libname.filter potentially contains lots of
+             # 's' commands which not all seds can handle. GNU sed should be fine
+             # though. Also, the filter scales superlinearly with the number of
+             # global variables. join(1) would be nice here, but unfortunately
+             # isn't a blessed tool.
+             $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter
+             delfiles="$delfiles $export_symbols $output_objdir/$libname.filter"
+             export_symbols=$output_objdir/$libname.def
+             $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols
+           fi
+         fi
+
+         libobjs=$output
+         # Restore the value of output.
+         output=$save_output
+
+         if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then
+           eval libobjs=\"\$libobjs $whole_archive_flag_spec\"
+           test "X$libobjs" = "X " && libobjs=
+         fi
+         # Expand the library linking commands again to reset the
+         # value of $libobjs for piecewise linking.
+
+         # Do each of the archive commands.
+         if test "$module" = yes && test -n "$module_cmds" ; then
+           if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then
+             cmds=$module_expsym_cmds
+           else
+             cmds=$module_cmds
+           fi
+         else
+           if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then
+             cmds=$archive_expsym_cmds
+           else
+             cmds=$archive_cmds
+           fi
+         fi
+       fi
+
+       if test -n "$delfiles"; then
+         # Append the command to remove temporary files to $cmds.
+         eval cmds=\"\$cmds~\$RM $delfiles\"
+       fi
+
+       # Add any objects from preloaded convenience libraries
+       if test -n "$dlprefiles"; then
+         gentop="$output_objdir/${outputname}x"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $dlprefiles
+         libobjs="$libobjs $func_extract_archives_result"
+         test "X$libobjs" = "X " && libobjs=
+       fi
+
+       save_ifs="$IFS"; IFS='~'
+       for cmd in $cmds; do
+         IFS="$save_ifs"
+         eval cmd=\"$cmd\"
+         $opt_silent || {
+           func_quote_for_expand "$cmd"
+           eval "func_echo $func_quote_for_expand_result"
+         }
+         $opt_dry_run || eval "$cmd" || {
+           lt_exit=$?
+
+           # Restore the uninstalled library and exit
+           if test "$mode" = relink; then
+             ( cd "$output_objdir" && \
+               $RM "${realname}T" && \
+               $MV "${realname}U" "$realname" )
+           fi
+
+           exit $lt_exit
+         }
+       done
+       IFS="$save_ifs"
+
+       # Restore the uninstalled library and exit
+       if test "$mode" = relink; then
+         $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $?
+
+         if test -n "$convenience"; then
+           if test -z "$whole_archive_flag_spec"; then
+             func_show_eval '${RM}r "$gentop"'
+           fi
+         fi
+
+         exit $EXIT_SUCCESS
+       fi
+
+       # Create links to the real library.
+       for linkname in $linknames; do
+         if test "$realname" != "$linkname"; then
+           func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?'
+         fi
+       done
+
+       # If -module or -export-dynamic was specified, set the dlname.
+       if test "$module" = yes || test "$export_dynamic" = yes; then
+         # On all known operating systems, these are identical.
+         dlname="$soname"
+       fi
+      fi
+      ;;
+
+    obj)
+      if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then
+       func_warning "\`-dlopen' is ignored for objects"
+      fi
+
+      case " $deplibs" in
+      *\ -l* | *\ -L*)
+       func_warning "\`-l' and \`-L' are ignored for objects" ;;
+      esac
+
+      test -n "$rpath" && \
+       func_warning "\`-rpath' is ignored for objects"
+
+      test -n "$xrpath" && \
+       func_warning "\`-R' is ignored for objects"
+
+      test -n "$vinfo" && \
+       func_warning "\`-version-info' is ignored for objects"
+
+      test -n "$release" && \
+       func_warning "\`-release' is ignored for objects"
+
+      case $output in
+      *.lo)
+       test -n "$objs$old_deplibs" && \
+         func_fatal_error "cannot build library object \`$output' from non-libtool objects"
+
+       libobj=$output
+       func_lo2o "$libobj"
+       obj=$func_lo2o_result
+       ;;
+      *)
+       libobj=
+       obj="$output"
+       ;;
+      esac
+
+      # Delete the old objects.
+      $opt_dry_run || $RM $obj $libobj
+
+      # Objects from convenience libraries.  This assumes
+      # single-version convenience libraries.  Whenever we create
+      # different ones for PIC/non-PIC, this we'll have to duplicate
+      # the extraction.
+      reload_conv_objs=
+      gentop=
+      # reload_cmds runs $LD directly, so let us get rid of
+      # -Wl from whole_archive_flag_spec and hope we can get by with
+      # turning comma into space..
+      wl=
+
+      if test -n "$convenience"; then
+       if test -n "$whole_archive_flag_spec"; then
+         eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\"
+         reload_conv_objs=$reload_objs\ `$ECHO "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'`
+       else
+         gentop="$output_objdir/${obj}x"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $convenience
+         reload_conv_objs="$reload_objs $func_extract_archives_result"
+       fi
+      fi
+
+      # Create the old-style object.
+      reload_objs="$objs$old_deplibs "`$ECHO "X$libobjs" | $SP2NL | $Xsed -e '/\.'${libext}$'/d' -e '/\.lib$/d' -e "$lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test
+
+      output="$obj"
+      func_execute_cmds "$reload_cmds" 'exit $?'
+
+      # Exit if we aren't doing a library object file.
+      if test -z "$libobj"; then
+       if test -n "$gentop"; then
+         func_show_eval '${RM}r "$gentop"'
+       fi
+
+       exit $EXIT_SUCCESS
+      fi
+
+      if test "$build_libtool_libs" != yes; then
+       if test -n "$gentop"; then
+         func_show_eval '${RM}r "$gentop"'
+       fi
+
+       # Create an invalid libtool object if no PIC, so that we don't
+       # accidentally link it into a program.
+       # $show "echo timestamp > $libobj"
+       # $opt_dry_run || eval "echo timestamp > $libobj" || exit $?
+       exit $EXIT_SUCCESS
+      fi
+
+      if test -n "$pic_flag" || test "$pic_mode" != default; then
+       # Only do commands if we really have different PIC objects.
+       reload_objs="$libobjs $reload_conv_objs"
+       output="$libobj"
+       func_execute_cmds "$reload_cmds" 'exit $?'
+      fi
+
+      if test -n "$gentop"; then
+       func_show_eval '${RM}r "$gentop"'
+      fi
+
+      exit $EXIT_SUCCESS
+      ;;
+
+    prog)
+      case $host in
+       *cygwin*) func_stripname '' '.exe' "$output"
+                 output=$func_stripname_result.exe;;
+      esac
+      test -n "$vinfo" && \
+       func_warning "\`-version-info' is ignored for programs"
+
+      test -n "$release" && \
+       func_warning "\`-release' is ignored for programs"
+
+      test "$preload" = yes \
+        && test "$dlopen_support" = unknown \
+       && test "$dlopen_self" = unknown \
+       && test "$dlopen_self_static" = unknown && \
+         func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support."
+
+      case $host in
+      *-*-rhapsody* | *-*-darwin1.[012])
+       # On Rhapsody replace the C library is the System framework
+       compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+       finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'`
+       ;;
+      esac
+
+      case $host in
+      *-*-darwin*)
+       # Don't allow lazy linking, it breaks C++ global constructors
+       # But is supposedly fixed on 10.4 or later (yay!).
+       if test "$tagname" = CXX ; then
+         case ${MACOSX_DEPLOYMENT_TARGET-10.0} in
+           10.[0123])
+             compile_command="$compile_command ${wl}-bind_at_load"
+             finalize_command="$finalize_command ${wl}-bind_at_load"
+           ;;
+         esac
+       fi
+       # Time to change all our "foo.ltframework" stuff back to "-framework foo"
+       compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'`
+       ;;
+      esac
+
+
+      # move library search paths that coincide with paths to not yet
+      # installed libraries to the beginning of the library search list
+      new_libs=
+      for path in $notinst_path; do
+       case " $new_libs " in
+       *" -L$path/$objdir "*) ;;
+       *)
+         case " $compile_deplibs " in
+         *" -L$path/$objdir "*)
+           new_libs="$new_libs -L$path/$objdir" ;;
+         esac
+         ;;
+       esac
+      done
+      for deplib in $compile_deplibs; do
+       case $deplib in
+       -L*)
+         case " $new_libs " in
+         *" $deplib "*) ;;
+         *) new_libs="$new_libs $deplib" ;;
+         esac
+         ;;
+       *) new_libs="$new_libs $deplib" ;;
+       esac
+      done
+      compile_deplibs="$new_libs"
+
+
+      compile_command="$compile_command $compile_deplibs"
+      finalize_command="$finalize_command $finalize_deplibs"
+
+      if test -n "$rpath$xrpath"; then
+       # If the user specified any rpath flags, then add them.
+       for libdir in $rpath $xrpath; do
+         # This is the magic to use -rpath.
+         case "$finalize_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_rpath="$finalize_rpath $libdir" ;;
+         esac
+       done
+      fi
+
+      # Now hardcode the library paths
+      rpath=
+      hardcode_libdirs=
+      for libdir in $compile_rpath $finalize_rpath; do
+       if test -n "$hardcode_libdir_flag_spec"; then
+         if test -n "$hardcode_libdir_separator"; then
+           if test -z "$hardcode_libdirs"; then
+             hardcode_libdirs="$libdir"
+           else
+             # Just accumulate the unique libdirs.
+             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+               ;;
+             *)
+               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+               ;;
+             esac
+           fi
+         else
+           eval flag=\"$hardcode_libdir_flag_spec\"
+           rpath="$rpath $flag"
+         fi
+       elif test -n "$runpath_var"; then
+         case "$perm_rpath " in
+         *" $libdir "*) ;;
+         *) perm_rpath="$perm_rpath $libdir" ;;
+         esac
+       fi
+       case $host in
+       *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*)
+         testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'`
+         case :$dllsearchpath: in
+         *":$libdir:"*) ;;
+         ::) dllsearchpath=$libdir;;
+         *) dllsearchpath="$dllsearchpath:$libdir";;
+         esac
+         case :$dllsearchpath: in
+         *":$testbindir:"*) ;;
+         ::) dllsearchpath=$testbindir;;
+         *) dllsearchpath="$dllsearchpath:$testbindir";;
+         esac
+         ;;
+       esac
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+        test -n "$hardcode_libdirs"; then
+       libdir="$hardcode_libdirs"
+       eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      compile_rpath="$rpath"
+
+      rpath=
+      hardcode_libdirs=
+      for libdir in $finalize_rpath; do
+       if test -n "$hardcode_libdir_flag_spec"; then
+         if test -n "$hardcode_libdir_separator"; then
+           if test -z "$hardcode_libdirs"; then
+             hardcode_libdirs="$libdir"
+           else
+             # Just accumulate the unique libdirs.
+             case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in
+             *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*)
+               ;;
+             *)
+               hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir"
+               ;;
+             esac
+           fi
+         else
+           eval flag=\"$hardcode_libdir_flag_spec\"
+           rpath="$rpath $flag"
+         fi
+       elif test -n "$runpath_var"; then
+         case "$finalize_perm_rpath " in
+         *" $libdir "*) ;;
+         *) finalize_perm_rpath="$finalize_perm_rpath $libdir" ;;
+         esac
+       fi
+      done
+      # Substitute the hardcoded libdirs into the rpath.
+      if test -n "$hardcode_libdir_separator" &&
+        test -n "$hardcode_libdirs"; then
+       libdir="$hardcode_libdirs"
+       eval rpath=\" $hardcode_libdir_flag_spec\"
+      fi
+      finalize_rpath="$rpath"
+
+      if test -n "$libobjs" && test "$build_old_libs" = yes; then
+       # Transform all the library objects into standard objects.
+       compile_command=`$ECHO "X$compile_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+       finalize_command=`$ECHO "X$finalize_command" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP`
+      fi
+
+      func_generate_dlsyms "$outputname" "@PROGRAM@" "no"
+
+      # template prelinking step
+      if test -n "$prelink_cmds"; then
+       func_execute_cmds "$prelink_cmds" 'exit $?'
+      fi
+
+      wrappers_required=yes
+      case $host in
+      *cygwin* | *mingw* )
+        if test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      *cegcc)
+        # Disable wrappers for cegcc, we are cross compiling anyway.
+        wrappers_required=no
+        ;;
+      *)
+        if test "$need_relink" = no || test "$build_libtool_libs" != yes; then
+          wrappers_required=no
+        fi
+        ;;
+      esac
+      if test "$wrappers_required" = no; then
+       # Replace the output file specification.
+       compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+       link_command="$compile_command$compile_rpath"
+
+       # We have no uninstalled library dependencies, so finalize right now.
+       exit_status=0
+       func_show_eval "$link_command" 'exit_status=$?'
+
+       # Delete the generated files.
+       if test -f "$output_objdir/${outputname}S.${objext}"; then
+         func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"'
+       fi
+
+       exit $exit_status
+      fi
+
+      if test -n "$compile_shlibpath$finalize_shlibpath"; then
+       compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command"
+      fi
+      if test -n "$finalize_shlibpath"; then
+       finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command"
+      fi
+
+      compile_var=
+      finalize_var=
+      if test -n "$runpath_var"; then
+       if test -n "$perm_rpath"; then
+         # We should set the runpath_var.
+         rpath=
+         for dir in $perm_rpath; do
+           rpath="$rpath$dir:"
+         done
+         compile_var="$runpath_var=\"$rpath\$$runpath_var\" "
+       fi
+       if test -n "$finalize_perm_rpath"; then
+         # We should set the runpath_var.
+         rpath=
+         for dir in $finalize_perm_rpath; do
+           rpath="$rpath$dir:"
+         done
+         finalize_var="$runpath_var=\"$rpath\$$runpath_var\" "
+       fi
+      fi
+
+      if test "$no_install" = yes; then
+       # We don't need to create a wrapper script.
+       link_command="$compile_var$compile_command$compile_rpath"
+       # Replace the output file specification.
+       link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'`
+       # Delete the old output file.
+       $opt_dry_run || $RM $output
+       # Link the executable and exit
+       func_show_eval "$link_command" 'exit $?'
+       exit $EXIT_SUCCESS
+      fi
+
+      if test "$hardcode_action" = relink; then
+       # Fast installation is not supported
+       link_command="$compile_var$compile_command$compile_rpath"
+       relink_command="$finalize_var$finalize_command$finalize_rpath"
+
+       func_warning "this platform does not like uninstalled shared libraries"
+       func_warning "\`$output' will be relinked during installation"
+      else
+       if test "$fast_install" != no; then
+         link_command="$finalize_var$compile_command$finalize_rpath"
+         if test "$fast_install" = yes; then
+           relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'`
+         else
+           # fast_install is set to needless
+           relink_command=
+         fi
+       else
+         link_command="$compile_var$compile_command$compile_rpath"
+         relink_command="$finalize_var$finalize_command$finalize_rpath"
+       fi
+      fi
+
+      # Replace the output file specification.
+      link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'`
+
+      # Delete the old output files.
+      $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname
+
+      func_show_eval "$link_command" 'exit $?'
+
+      # Now create the wrapper script.
+      func_verbose "creating $output"
+
+      # Quote the relink command for shipping.
+      if test -n "$relink_command"; then
+       # Preserve any variables that may affect compiler behavior
+       for var in $variables_saved_for_relink; do
+         if eval test -z \"\${$var+set}\"; then
+           relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+         elif eval var_value=\$$var; test -z "$var_value"; then
+           relink_command="$var=; export $var; $relink_command"
+         else
+           func_quote_for_eval "$var_value"
+           relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+         fi
+       done
+       relink_command="(cd `pwd`; $relink_command)"
+       relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Quote $ECHO for shipping.
+      if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then
+       case $progpath in
+       [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";;
+       *) qecho="$SHELL `pwd`/$progpath --fallback-echo";;
+       esac
+       qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"`
+      else
+       qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"`
+      fi
+
+      # Only actually do things if not in dry run mode.
+      $opt_dry_run || {
+       # win32 will think the script is a binary if it has
+       # a .exe suffix, so we strip it off here.
+       case $output in
+         *.exe) func_stripname '' '.exe' "$output"
+                output=$func_stripname_result ;;
+       esac
+       # test for cygwin because mv fails w/o .exe extensions
+       case $host in
+         *cygwin*)
+           exeext=.exe
+           func_stripname '' '.exe' "$outputname"
+           outputname=$func_stripname_result ;;
+         *) exeext= ;;
+       esac
+       case $host in
+         *cygwin* | *mingw* )
+           func_dirname_and_basename "$output" "" "."
+           output_name=$func_basename_result
+           output_path=$func_dirname_result
+           cwrappersource="$output_path/$objdir/lt-$output_name.c"
+           cwrapper="$output_path/$output_name.exe"
+           $RM $cwrappersource $cwrapper
+           trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+
+           func_emit_cwrapperexe_src > $cwrappersource
+
+           # The wrapper executable is built using the $host compiler,
+           # because it contains $host paths and files. If cross-
+           # compiling, it, like the target executable, must be
+           # executed on the $host or under an emulation environment.
+           $opt_dry_run || {
+             $LTCC $LTCFLAGS -o $cwrapper $cwrappersource
+             $STRIP $cwrapper
+           }
+
+           # Now, create the wrapper script for func_source use:
+           func_ltwrapper_scriptname $cwrapper
+           $RM $func_ltwrapper_scriptname_result
+           trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15
+           $opt_dry_run || {
+             # note: this script will not be executed, so do not chmod.
+             if test "x$build" = "x$host" ; then
+               $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
+             else
+               func_emit_wrapper no > $func_ltwrapper_scriptname_result
+             fi
+           }
+         ;;
+         * )
+           $RM $output
+           trap "$RM $output; exit $EXIT_FAILURE" 1 2 15
+
+           func_emit_wrapper no > $output
+           chmod +x $output
+         ;;
+       esac
+      }
+      exit $EXIT_SUCCESS
+      ;;
+    esac
+
+    # See if we need to build an old-fashioned archive.
+    for oldlib in $oldlibs; do
+
+      if test "$build_libtool_libs" = convenience; then
+       oldobjs="$libobjs_save $symfileobj"
+       addlibs="$convenience"
+       build_libtool_libs=no
+      else
+       if test "$build_libtool_libs" = module; then
+         oldobjs="$libobjs_save"
+         build_libtool_libs=no
+       else
+         oldobjs="$old_deplibs $non_pic_objects"
+         if test "$preload" = yes && test -f "$symfileobj"; then
+           oldobjs="$oldobjs $symfileobj"
+         fi
+       fi
+       addlibs="$old_convenience"
+      fi
+
+      if test -n "$addlibs"; then
+       gentop="$output_objdir/${outputname}x"
+       generated="$generated $gentop"
+
+       func_extract_archives $gentop $addlibs
+       oldobjs="$oldobjs $func_extract_archives_result"
+      fi
+
+      # Do each command in the archive commands.
+      if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then
+       cmds=$old_archive_from_new_cmds
+      else
+
+       # Add any objects from preloaded convenience libraries
+       if test -n "$dlprefiles"; then
+         gentop="$output_objdir/${outputname}x"
+         generated="$generated $gentop"
+
+         func_extract_archives $gentop $dlprefiles
+         oldobjs="$oldobjs $func_extract_archives_result"
+       fi
+
+       # POSIX demands no paths to be encoded in archives.  We have
+       # to avoid creating archives with duplicate basenames if we
+       # might have to extract them afterwards, e.g., when creating a
+       # static archive out of a convenience library, or when linking
+       # the entirety of a libtool archive into another (currently
+       # not supported by libtool).
+       if (for obj in $oldobjs
+           do
+             func_basename "$obj"
+             $ECHO "$func_basename_result"
+           done | sort | sort -uc >/dev/null 2>&1); then
+         :
+       else
+         $ECHO "copying selected object files to avoid basename conflicts..."
+         gentop="$output_objdir/${outputname}x"
+         generated="$generated $gentop"
+         func_mkdir_p "$gentop"
+         save_oldobjs=$oldobjs
+         oldobjs=
+         counter=1
+         for obj in $save_oldobjs
+         do
+           func_basename "$obj"
+           objbase="$func_basename_result"
+           case " $oldobjs " in
+           " ") oldobjs=$obj ;;
+           *[\ /]"$objbase "*)
+             while :; do
+               # Make sure we don't pick an alternate name that also
+               # overlaps.
+               newobj=lt$counter-$objbase
+               func_arith $counter + 1
+               counter=$func_arith_result
+               case " $oldobjs " in
+               *[\ /]"$newobj "*) ;;
+               *) if test ! -f "$gentop/$newobj"; then break; fi ;;
+               esac
+             done
+             func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj"
+             oldobjs="$oldobjs $gentop/$newobj"
+             ;;
+           *) oldobjs="$oldobjs $obj" ;;
+           esac
+         done
+       fi
+       eval cmds=\"$old_archive_cmds\"
+
+       func_len " $cmds"
+       len=$func_len_result
+       if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
+         cmds=$old_archive_cmds
+       else
+         # the command line is too long to link in one step, link in parts
+         func_verbose "using piecewise archive linking..."
+         save_RANLIB=$RANLIB
+         RANLIB=:
+         objlist=
+         concat_cmds=
+         save_oldobjs=$oldobjs
+         oldobjs=
+         # Is there a better way of finding the last object in the list?
+         for obj in $save_oldobjs
+         do
+           last_oldobj=$obj
+         done
+         eval test_cmds=\"$old_archive_cmds\"
+         func_len " $test_cmds"
+         len0=$func_len_result
+         len=$len0
+         for obj in $save_oldobjs
+         do
+           func_len " $obj"
+           func_arith $len + $func_len_result
+           len=$func_arith_result
+           func_append objlist " $obj"
+           if test "$len" -lt "$max_cmd_len"; then
+             :
+           else
+             # the above command should be used before it gets too long
+             oldobjs=$objlist
+             if test "$obj" = "$last_oldobj" ; then
+               RANLIB=$save_RANLIB
+             fi
+             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+             eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
+             objlist=
+             len=$len0
+           fi
+         done
+         RANLIB=$save_RANLIB
+         oldobjs=$objlist
+         if test "X$oldobjs" = "X" ; then
+           eval cmds=\"\$concat_cmds\"
+         else
+           eval cmds=\"\$concat_cmds~\$old_archive_cmds\"
+         fi
+       fi
+      fi
+      func_execute_cmds "$cmds" 'exit $?'
+    done
+
+    test -n "$generated" && \
+      func_show_eval "${RM}r$generated"
+
+    # Now create the libtool archive.
+    case $output in
+    *.la)
+      old_library=
+      test "$build_old_libs" = yes && old_library="$libname.$libext"
+      func_verbose "creating $output"
+
+      # Preserve any variables that may affect compiler behavior
+      for var in $variables_saved_for_relink; do
+       if eval test -z \"\${$var+set}\"; then
+         relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command"
+       elif eval var_value=\$$var; test -z "$var_value"; then
+         relink_command="$var=; export $var; $relink_command"
+       else
+         func_quote_for_eval "$var_value"
+         relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
+       fi
+      done
+      # Quote the link command for shipping.
+      relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
+      relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"`
+      if test "$hardcode_automatic" = yes ; then
+       relink_command=
+      fi
+
+      # Only create the output if not a dry run.
+      $opt_dry_run || {
+       for installed in no yes; do
+         if test "$installed" = yes; then
+           if test -z "$install_libdir"; then
+             break
+           fi
+           output="$output_objdir/$outputname"i
+           # Replace all uninstalled libtool libraries with the installed ones
+           newdependency_libs=
+           for deplib in $dependency_libs; do
+             case $deplib in
+             *.la)
+               func_basename "$deplib"
+               name="$func_basename_result"
+               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+               test -z "$libdir" && \
+                 func_fatal_error "\`$deplib' is not a valid libtool archive"
+               newdependency_libs="$newdependency_libs $libdir/$name"
+               ;;
+             *) newdependency_libs="$newdependency_libs $deplib" ;;
+             esac
+           done
+           dependency_libs="$newdependency_libs"
+           newdlfiles=
+
+           for lib in $dlfiles; do
+             case $lib in
+             *.la)
+               func_basename "$lib"
+               name="$func_basename_result"
+               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+               test -z "$libdir" && \
+                 func_fatal_error "\`$lib' is not a valid libtool archive"
+               newdlfiles="$newdlfiles $libdir/$name"
+               ;;
+             *) newdlfiles="$newdlfiles $lib" ;;
+             esac
+           done
+           dlfiles="$newdlfiles"
+           newdlprefiles=
+           for lib in $dlprefiles; do
+             case $lib in
+             *.la)
+               # Only pass preopened files to the pseudo-archive (for
+               # eventual linking with the app. that links it) if we
+               # didn't already link the preopened objects directly into
+               # the library:
+               func_basename "$lib"
+               name="$func_basename_result"
+               eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib`
+               test -z "$libdir" && \
+                 func_fatal_error "\`$lib' is not a valid libtool archive"
+               newdlprefiles="$newdlprefiles $libdir/$name"
+               ;;
+             esac
+           done
+           dlprefiles="$newdlprefiles"
+         else
+           newdlfiles=
+           for lib in $dlfiles; do
+             case $lib in
+               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               *) abs=`pwd`"/$lib" ;;
+             esac
+             newdlfiles="$newdlfiles $abs"
+           done
+           dlfiles="$newdlfiles"
+           newdlprefiles=
+           for lib in $dlprefiles; do
+             case $lib in
+               [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;;
+               *) abs=`pwd`"/$lib" ;;
+             esac
+             newdlprefiles="$newdlprefiles $abs"
+           done
+           dlprefiles="$newdlprefiles"
+         fi
+         $RM $output
+         # place dlname in correct position for cygwin
+         tdlname=$dlname
+         case $host,$output,$installed,$module,$dlname in
+           *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+         esac
+         $ECHO > $output "\
+# $outputname - a libtool library file
+# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='$tdlname'
+
+# Names of this library.
+library_names='$library_names'
+
+# The name of the static archive.
+old_library='$old_library'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags='$new_inherited_linker_flags'
+
+# Libraries that this one depends upon.
+dependency_libs='$dependency_libs'
+
+# Names of additional weak libraries provided by this library
+weak_library_names='$weak_libs'
+
+# Version information for $libname.
+current=$current
+age=$age
+revision=$revision
+
+# Is this an already installed library?
+installed=$installed
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=$module
+
+# Files to dlopen/dlpreopen
+dlopen='$dlfiles'
+dlpreopen='$dlprefiles'
+
+# Directory that this library needs to be installed in:
+libdir='$install_libdir'"
+         if test "$installed" = no && test "$need_relink" = yes; then
+           $ECHO >> $output "\
+relink_command=\"$relink_command\""
+         fi
+       done
+      }
+
+      # Do a symbolic link so that the libtool archive can be found in
+      # LD_LIBRARY_PATH before the program is installed.
+      func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?'
+      ;;
+    esac
+    exit $EXIT_SUCCESS
+}
+
+{ test "$mode" = link || test "$mode" = relink; } &&
+    func_mode_link ${1+"$@"}
+
+
+# func_mode_uninstall arg...
+func_mode_uninstall ()
+{
+    $opt_debug
+    RM="$nonopt"
+    files=
+    rmforce=
+    exit_status=0
+
+    # This variable tells wrapper scripts just to set variables rather
+    # than running their programs.
+    libtool_install_magic="$magic"
+
+    for arg
+    do
+      case $arg in
+      -f) RM="$RM $arg"; rmforce=yes ;;
+      -*) RM="$RM $arg" ;;
+      *) files="$files $arg" ;;
+      esac
+    done
+
+    test -z "$RM" && \
+      func_fatal_help "you must specify an RM program"
+
+    rmdirs=
+
+    origobjdir="$objdir"
+    for file in $files; do
+      func_dirname "$file" "" "."
+      dir="$func_dirname_result"
+      if test "X$dir" = X.; then
+       objdir="$origobjdir"
+      else
+       objdir="$dir/$origobjdir"
+      fi
+      func_basename "$file"
+      name="$func_basename_result"
+      test "$mode" = uninstall && objdir="$dir"
+
+      # Remember objdir for removal later, being careful to avoid duplicates
+      if test "$mode" = clean; then
+       case " $rmdirs " in
+         *" $objdir "*) ;;
+         *) rmdirs="$rmdirs $objdir" ;;
+       esac
+      fi
+
+      # Don't error if the file doesn't exist and rm -f was used.
+      if { test -L "$file"; } >/dev/null 2>&1 ||
+        { test -h "$file"; } >/dev/null 2>&1 ||
+        test -f "$file"; then
+       :
+      elif test -d "$file"; then
+       exit_status=1
+       continue
+      elif test "$rmforce" = yes; then
+       continue
+      fi
+
+      rmfiles="$file"
+
+      case $name in
+      *.la)
+       # Possibly a libtool archive, so verify it.
+       if func_lalib_p "$file"; then
+         func_source $dir/$name
+
+         # Delete the libtool libraries and symlinks.
+         for n in $library_names; do
+           rmfiles="$rmfiles $objdir/$n"
+         done
+         test -n "$old_library" && rmfiles="$rmfiles $objdir/$old_library"
+
+         case "$mode" in
+         clean)
+           case "  $library_names " in
+           # "  " in the beginning catches empty $dlname
+           *" $dlname "*) ;;
+           *) rmfiles="$rmfiles $objdir/$dlname" ;;
+           esac
+           test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i"
+           ;;
+         uninstall)
+           if test -n "$library_names"; then
+             # Do each command in the postuninstall commands.
+             func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+           fi
+
+           if test -n "$old_library"; then
+             # Do each command in the old_postuninstall commands.
+             func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1'
+           fi
+           # FIXME: should reinstall the best remaining shared library.
+           ;;
+         esac
+       fi
+       ;;
+
+      *.lo)
+       # Possibly a libtool object, so verify it.
+       if func_lalib_p "$file"; then
+
+         # Read the .lo file
+         func_source $dir/$name
+
+         # Add PIC object to the list of files to remove.
+         if test -n "$pic_object" &&
+            test "$pic_object" != none; then
+           rmfiles="$rmfiles $dir/$pic_object"
+         fi
+
+         # Add non-PIC object to the list of files to remove.
+         if test -n "$non_pic_object" &&
+            test "$non_pic_object" != none; then
+           rmfiles="$rmfiles $dir/$non_pic_object"
+         fi
+       fi
+       ;;
+
+      *)
+       if test "$mode" = clean ; then
+         noexename=$name
+         case $file in
+         *.exe)
+           func_stripname '' '.exe' "$file"
+           file=$func_stripname_result
+           func_stripname '' '.exe' "$name"
+           noexename=$func_stripname_result
+           # $file with .exe has already been added to rmfiles,
+           # add $file without .exe
+           rmfiles="$rmfiles $file"
+           ;;
+         esac
+         # Do a test to see if this is a libtool program.
+         if func_ltwrapper_p "$file"; then
+           if func_ltwrapper_executable_p "$file"; then
+             func_ltwrapper_scriptname "$file"
+             relink_command=
+             func_source $func_ltwrapper_scriptname_result
+             rmfiles="$rmfiles $func_ltwrapper_scriptname_result"
+           else
+             relink_command=
+             func_source $dir/$noexename
+           fi
+
+           # note $name still contains .exe if it was in $file originally
+           # as does the version of $file that was added into $rmfiles
+           rmfiles="$rmfiles $objdir/$name $objdir/${name}S.${objext}"
+           if test "$fast_install" = yes && test -n "$relink_command"; then
+             rmfiles="$rmfiles $objdir/lt-$name"
+           fi
+           if test "X$noexename" != "X$name" ; then
+             rmfiles="$rmfiles $objdir/lt-${noexename}.c"
+           fi
+         fi
+       fi
+       ;;
+      esac
+      func_show_eval "$RM $rmfiles" 'exit_status=1'
+    done
+    objdir="$origobjdir"
+
+    # Try to remove the ${objdir}s in the directories where we deleted files
+    for dir in $rmdirs; do
+      if test -d "$dir"; then
+       func_show_eval "rmdir $dir >/dev/null 2>&1"
+      fi
+    done
+
+    exit $exit_status
+}
+
+{ test "$mode" = uninstall || test "$mode" = clean; } &&
+    func_mode_uninstall ${1+"$@"}
+
+test -z "$mode" && {
+  help="$generic_help"
+  func_fatal_help "you must specify a MODE"
+}
+
+test -z "$exec_cmd" && \
+  func_fatal_help "invalid operation mode \`$mode'"
+
+if test -n "$exec_cmd"; then
+  eval exec "$exec_cmd"
+  exit $EXIT_FAILURE
+fi
+
+exit $exit_status
+
+
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries.  Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them.  This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration.  But we'll never go from static-only to shared-only.
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-shared
+build_libtool_libs=no
+build_old_libs=yes
+# ### END LIBTOOL TAG CONFIG: disable-shared
+
+# ### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
+# ### END LIBTOOL TAG CONFIG: disable-static
+
+# Local Variables:
+# mode:shell-script
+# sh-indentation:2
+# End:
+# vi:sw=2
+
diff --git a/m4/libtool.m4 b/m4/libtool.m4
new file mode 100644 (file)
index 0000000..a3fee53
--- /dev/null
@@ -0,0 +1,7377 @@
+# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
+#
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+m4_define([_LT_COPYING], [dnl
+#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
+#                 2006, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gordon Matzigkeit, 1996
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# As a special exception to the GNU General Public License,
+# if you distribute this file as part of a program or library that
+# is built using GNU Libtool, you may include this file under the
+# same distribution terms that you use for the rest of that program.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
+# obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+])
+
+# serial 56 LT_INIT
+
+
+# LT_PREREQ(VERSION)
+# ------------------
+# Complain and exit if this libtool version is less that VERSION.
+m4_defun([LT_PREREQ],
+[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
+       [m4_default([$3],
+                  [m4_fatal([Libtool version $1 or higher is required],
+                            63)])],
+       [$2])])
+
+
+# _LT_CHECK_BUILDDIR
+# ------------------
+# Complain if the absolute build directory name contains unusual characters
+m4_defun([_LT_CHECK_BUILDDIR],
+[case `pwd` in
+  *\ * | *\    *)
+    AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
+esac
+])
+
+
+# LT_INIT([OPTIONS])
+# ------------------
+AC_DEFUN([LT_INIT],
+[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
+AC_BEFORE([$0], [LT_LANG])dnl
+AC_BEFORE([$0], [LT_OUTPUT])dnl
+AC_BEFORE([$0], [LTDL_INIT])dnl
+m4_require([_LT_CHECK_BUILDDIR])dnl
+
+dnl Autoconf doesn't catch unexpanded LT_ macros by default:
+m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
+m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
+dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
+dnl unless we require an AC_DEFUNed macro:
+AC_REQUIRE([LTOPTIONS_VERSION])dnl
+AC_REQUIRE([LTSUGAR_VERSION])dnl
+AC_REQUIRE([LTVERSION_VERSION])dnl
+AC_REQUIRE([LTOBSOLETE_VERSION])dnl
+m4_require([_LT_PROG_LTMAIN])dnl
+
+dnl Parse OPTIONS
+_LT_SET_OPTIONS([$0], [$1])
+
+# This can be used to rebuild libtool when needed
+LIBTOOL_DEPS="$ltmain"
+
+# Always use our own libtool.
+LIBTOOL='$(SHELL) $(top_builddir)/libtool'
+AC_SUBST(LIBTOOL)dnl
+
+_LT_SETUP
+
+# Only expand once:
+m4_define([LT_INIT])
+])# LT_INIT
+
+# Old names:
+AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
+AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
+dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
+
+
+# _LT_CC_BASENAME(CC)
+# -------------------
+# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
+m4_defun([_LT_CC_BASENAME],
+[for cc_temp in $1""; do
+  case $cc_temp in
+    compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
+    distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
+    \-*) ;;
+    *) break;;
+  esac
+done
+cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
+])
+
+
+# _LT_FILEUTILS_DEFAULTS
+# ----------------------
+# It is okay to use these file commands and assume they have been set
+# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
+m4_defun([_LT_FILEUTILS_DEFAULTS],
+[: ${CP="cp -f"}
+: ${MV="mv -f"}
+: ${RM="rm -f"}
+])# _LT_FILEUTILS_DEFAULTS
+
+
+# _LT_SETUP
+# ---------
+m4_defun([_LT_SETUP],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+_LT_DECL([], [host_alias], [0], [The host system])dnl
+_LT_DECL([], [host], [0])dnl
+_LT_DECL([], [host_os], [0])dnl
+dnl
+_LT_DECL([], [build_alias], [0], [The build system])dnl
+_LT_DECL([], [build], [0])dnl
+_LT_DECL([], [build_os], [0])dnl
+dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+dnl
+AC_REQUIRE([AC_PROG_LN_S])dnl
+test -z "$LN_S" && LN_S="ln -s"
+_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
+dnl
+AC_REQUIRE([LT_CMD_MAX_LEN])dnl
+_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
+_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
+dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_CHECK_SHELL_FEATURES])dnl
+m4_require([_LT_CMD_RELOAD])dnl
+m4_require([_LT_CHECK_MAGIC_METHOD])dnl
+m4_require([_LT_CMD_OLD_ARCHIVE])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+
+_LT_CONFIG_LIBTOOL_INIT([
+# See if we are running on zsh, and set the options which allow our
+# commands through without removal of \ escapes INIT.
+if test -n "\${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+])
+if test -n "${ZSH_VERSION+set}" ; then
+   setopt NO_GLOB_SUBST
+fi
+
+_LT_CHECK_OBJDIR
+
+m4_require([_LT_TAG_COMPILER])dnl
+_LT_PROG_ECHO_BACKSLASH
+
+case $host_os in
+aix3*)
+  # AIX sometimes has problems with the GCC collect2 program.  For some
+  # reason, if we set the COLLECT_NAMES environment variable, the problems
+  # vanish in a puff of smoke.
+  if test "X${COLLECT_NAMES+set}" != Xset; then
+    COLLECT_NAMES=
+    export COLLECT_NAMES
+  fi
+  ;;
+esac
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
+
+# Same as above, but do not quote variable references.
+double_quote_subst='s/\([["`\\]]\)/\\\1/g'
+
+# Sed substitution to delay expansion of an escaped shell variable in a
+# double_quote_subst'ed string.
+delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
+
+# Sed substitution to delay expansion of an escaped single quote.
+delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
+
+# Sed substitution to avoid accidental globbing in evaled expressions
+no_glob_subst='s/\*/\\\*/g'
+
+# Global variables:
+ofile=libtool
+can_build_shared=yes
+
+# All known linkers require a `.a' archive for static linking (except MSVC,
+# which needs '.lib').
+libext=a
+
+with_gnu_ld="$lt_cv_prog_gnu_ld"
+
+old_CC="$CC"
+old_CFLAGS="$CFLAGS"
+
+# Set sane defaults for various variables
+test -z "$CC" && CC=cc
+test -z "$LTCC" && LTCC=$CC
+test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
+test -z "$LD" && LD=ld
+test -z "$ac_objext" && ac_objext=o
+
+_LT_CC_BASENAME([$compiler])
+
+# Only perform the check for file, if the check method requires it
+test -z "$MAGIC_CMD" && MAGIC_CMD=file
+case $deplibs_check_method in
+file_magic*)
+  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
+    _LT_PATH_MAGIC
+  fi
+  ;;
+esac
+
+# Use C for the default configuration in the libtool script
+LT_SUPPORTED_TAG([CC])
+_LT_LANG_C_CONFIG
+_LT_LANG_DEFAULT_CONFIG
+_LT_CONFIG_COMMANDS
+])# _LT_SETUP
+
+
+# _LT_PROG_LTMAIN
+# ---------------
+# Note that this code is called both from `configure', and `config.status'
+# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
+# `config.status' has no value for ac_aux_dir unless we are using Automake,
+# so we pass a copy along to make sure it has a sensible value anyway.
+m4_defun([_LT_PROG_LTMAIN],
+[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
+_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
+ltmain="$ac_aux_dir/ltmain.sh"
+])# _LT_PROG_LTMAIN
+
+
+## ------------------------------------- ##
+## Accumulate code for creating libtool. ##
+## ------------------------------------- ##
+
+# So that we can recreate a full libtool script including additional
+# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
+# in macros and then make a single call at the end using the `libtool'
+# label.
+
+
+# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
+# ----------------------------------------
+# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL_INIT],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_INIT])
+
+
+# _LT_CONFIG_LIBTOOL([COMMANDS])
+# ------------------------------
+# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
+m4_define([_LT_CONFIG_LIBTOOL],
+[m4_ifval([$1],
+          [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
+                     [$1
+])])])
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
+
+
+# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
+# -----------------------------------------------------
+m4_defun([_LT_CONFIG_SAVE_COMMANDS],
+[_LT_CONFIG_LIBTOOL([$1])
+_LT_CONFIG_LIBTOOL_INIT([$2])
+])
+
+
+# _LT_FORMAT_COMMENT([COMMENT])
+# -----------------------------
+# Add leading comment marks to the start of each line, and a trailing
+# full-stop to the whole comment if one is not present already.
+m4_define([_LT_FORMAT_COMMENT],
+[m4_ifval([$1], [
+m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
+              [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
+)])
+
+
+
+## ------------------------ ##
+## FIXME: Eliminate VARNAME ##
+## ------------------------ ##
+
+
+# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
+# -------------------------------------------------------------------
+# CONFIGNAME is the name given to the value in the libtool script.
+# VARNAME is the (base) name used in the configure script.
+# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
+# VARNAME.  Any other value will be used directly.
+m4_define([_LT_DECL],
+[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
+    [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
+       [m4_ifval([$1], [$1], [$2])])
+    lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
+    m4_ifval([$4],
+       [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
+    lt_dict_add_subkey([lt_decl_dict], [$2],
+       [tagged?], [m4_ifval([$5], [yes], [no])])])
+])
+
+
+# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
+# --------------------------------------------------------
+m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
+
+
+# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_tag_varnames],
+[_lt_decl_filter([tagged?], [yes], $@)])
+
+
+# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
+# ---------------------------------------------------------
+m4_define([_lt_decl_filter],
+[m4_case([$#],
+  [0], [m4_fatal([$0: too few arguments: $#])],
+  [1], [m4_fatal([$0: too few arguments: $#: $1])],
+  [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
+  [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
+  [lt_dict_filter([lt_decl_dict], $@)])[]dnl
+])
+
+
+# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
+# --------------------------------------------------
+m4_define([lt_decl_quote_varnames],
+[_lt_decl_filter([value], [1], $@)])
+
+
+# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_dquote_varnames],
+[_lt_decl_filter([value], [2], $@)])
+
+
+# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
+# ---------------------------------------------------
+m4_define([lt_decl_varnames_tagged],
+[m4_assert([$# <= 2])dnl
+_$0(m4_quote(m4_default([$1], [[, ]])),
+    m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
+    m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
+m4_define([_lt_decl_varnames_tagged],
+[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
+
+
+# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
+# ------------------------------------------------
+m4_define([lt_decl_all_varnames],
+[_$0(m4_quote(m4_default([$1], [[, ]])),
+     m4_if([$2], [],
+          m4_quote(lt_decl_varnames),
+       m4_quote(m4_shift($@))))[]dnl
+])
+m4_define([_lt_decl_all_varnames],
+[lt_join($@, lt_decl_varnames_tagged([$1],
+                       lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
+])
+
+
+# _LT_CONFIG_STATUS_DECLARE([VARNAME])
+# ------------------------------------
+# Quote a variable value, and forward it to `config.status' so that its
+# declaration there will have the same value as in `configure'.  VARNAME
+# must have a single quote delimited value for this to work.
+m4_define([_LT_CONFIG_STATUS_DECLARE],
+[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
+
+
+# _LT_CONFIG_STATUS_DECLARATIONS
+# ------------------------------
+# We delimit libtool config variables with single quotes, so when
+# we write them to config.status, we have to be sure to quote all
+# embedded single quotes properly.  In configure, this macro expands
+# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
+#
+#    <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
+m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
+    [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAGS
+# ----------------
+# Output comment and list of tags supported by the script
+m4_defun([_LT_LIBTOOL_TAGS],
+[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
+available_tags="_LT_TAGS"dnl
+])
+
+
+# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
+# -----------------------------------
+# Extract the dictionary values for VARNAME (optionally with TAG) and
+# expand to a commented shell variable setting:
+#
+#    # Some comment about what VAR is for.
+#    visible_name=$lt_internal_name
+m4_define([_LT_LIBTOOL_DECLARE],
+[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
+                                          [description])))[]dnl
+m4_pushdef([_libtool_name],
+    m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
+m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
+    [0], [_libtool_name=[$]$1],
+    [1], [_libtool_name=$lt_[]$1],
+    [2], [_libtool_name=$lt_[]$1],
+    [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
+m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
+])
+
+
+# _LT_LIBTOOL_CONFIG_VARS
+# -----------------------
+# Produce commented declarations of non-tagged libtool config variables
+# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
+# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
+# section) are produced by _LT_LIBTOOL_TAG_VARS.
+m4_defun([_LT_LIBTOOL_CONFIG_VARS],
+[m4_foreach([_lt_var],
+    m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
+
+
+# _LT_LIBTOOL_TAG_VARS(TAG)
+# -------------------------
+m4_define([_LT_LIBTOOL_TAG_VARS],
+[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
+    [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
+
+
+# _LT_TAGVAR(VARNAME, [TAGNAME])
+# ------------------------------
+m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
+
+
+# _LT_CONFIG_COMMANDS
+# -------------------
+# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
+# variables for single and double quote escaping we saved from calls
+# to _LT_DECL, we can put quote escaped variables declarations
+# into `config.status', and then the shell code to quote escape them in
+# for loops in `config.status'.  Finally, any additional code accumulated
+# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
+m4_defun([_LT_CONFIG_COMMANDS],
+[AC_PROVIDE_IFELSE([LT_OUTPUT],
+       dnl If the libtool generation code has been placed in $CONFIG_LT,
+       dnl instead of duplicating it all over again into config.status,
+       dnl then we will have config.status run $CONFIG_LT later, so it
+       dnl needs to know what name is stored there:
+        [AC_CONFIG_COMMANDS([libtool],
+            [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
+    dnl If the libtool generation code is destined for config.status,
+    dnl expand the accumulated commands and init code now:
+    [AC_CONFIG_COMMANDS([libtool],
+        [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
+])#_LT_CONFIG_COMMANDS
+
+
+# Initialize.
+m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
+[
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+sed_quote_subst='$sed_quote_subst'
+double_quote_subst='$double_quote_subst'
+delay_variable_subst='$delay_variable_subst'
+_LT_CONFIG_STATUS_DECLARATIONS
+LTCC='$LTCC'
+LTCFLAGS='$LTCFLAGS'
+compiler='$compiler_DEFAULT'
+
+# Quote evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_quote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Double-quote double-evaled strings.
+for var in lt_decl_all_varnames([[ \
+]], lt_decl_dquote_varnames); do
+    case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
+    *[[\\\\\\\`\\"\\\$]]*)
+      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
+      ;;
+    *)
+      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
+      ;;
+    esac
+done
+
+# Fix-up fallback echo if it was mangled by the above quoting rules.
+case \$lt_ECHO in
+*'\\\[$]0 --fallback-echo"')dnl "
+  lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
+  ;;
+esac
+
+_LT_OUTPUT_LIBTOOL_INIT
+])
+
+
+# LT_OUTPUT
+# ---------
+# This macro allows early generation of the libtool script (before
+# AC_OUTPUT is called), incase it is used in configure for compilation
+# tests.
+AC_DEFUN([LT_OUTPUT],
+[: ${CONFIG_LT=./config.lt}
+AC_MSG_NOTICE([creating $CONFIG_LT])
+cat >"$CONFIG_LT" <<_LTEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate a libtool stub with the current configuration.
+
+lt_cl_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AS_SHELL_SANITIZE
+_AS_PREPARE
+
+exec AS_MESSAGE_FD>&1
+exec AS_MESSAGE_LOG_FD>>config.log
+{
+  echo
+  AS_BOX([Running $as_me.])
+} >&AS_MESSAGE_LOG_FD
+
+lt_cl_help="\
+\`$as_me' creates a local libtool stub from the current configuration,
+for use in further configure time tests before the real libtool is
+generated.
+
+Usage: $[0] [[OPTIONS]]
+
+  -h, --help      print this help, then exit
+  -V, --version   print version number, then exit
+  -q, --quiet     do not print progress messages
+  -d, --debug     don't remove temporary files
+
+Report bugs to <bug-libtool@gnu.org>."
+
+lt_cl_version="\
+m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
+m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
+configured by $[0], generated by m4_PACKAGE_STRING.
+
+Copyright (C) 2008 Free Software Foundation, Inc.
+This config.lt script is free software; the Free Software Foundation
+gives unlimited permision to copy, distribute and modify it."
+
+while test $[#] != 0
+do
+  case $[1] in
+    --version | --v* | -V )
+      echo "$lt_cl_version"; exit 0 ;;
+    --help | --h* | -h )
+      echo "$lt_cl_help"; exit 0 ;;
+    --debug | --d* | -d )
+      debug=: ;;
+    --quiet | --q* | --silent | --s* | -q )
+      lt_cl_silent=: ;;
+
+    -*) AC_MSG_ERROR([unrecognized option: $[1]
+Try \`$[0] --help' for more information.]) ;;
+
+    *) AC_MSG_ERROR([unrecognized argument: $[1]
+Try \`$[0] --help' for more information.]) ;;
+  esac
+  shift
+done
+
+if $lt_cl_silent; then
+  exec AS_MESSAGE_FD>/dev/null
+fi
+_LTEOF
+
+cat >>"$CONFIG_LT" <<_LTEOF
+_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
+_LTEOF
+
+cat >>"$CONFIG_LT" <<\_LTEOF
+AC_MSG_NOTICE([creating $ofile])
+_LT_OUTPUT_LIBTOOL_COMMANDS
+AS_EXIT(0)
+_LTEOF
+chmod +x "$CONFIG_LT"
+
+# configure is writing to config.log, but config.lt does its own redirection,
+# appending to config.log, which fails on DOS, as config.log is still kept
+# open by configure.  Here we exec the FD to /dev/null, effectively closing
+# config.log, so it can be properly (re)opened and appended to by config.lt.
+if test "$no_create" != yes; then
+  lt_cl_success=:
+  test "$silent" = yes &&
+    lt_config_lt_args="$lt_config_lt_args --quiet"
+  exec AS_MESSAGE_LOG_FD>/dev/null
+  $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
+  exec AS_MESSAGE_LOG_FD>>config.log
+  $lt_cl_success || AS_EXIT(1)
+fi
+])# LT_OUTPUT
+
+
+# _LT_CONFIG(TAG)
+# ---------------
+# If TAG is the built-in tag, create an initial libtool script with a
+# default configuration from the untagged config vars.  Otherwise add code
+# to config.status for appending the configuration named by TAG from the
+# matching tagged config vars.
+m4_defun([_LT_CONFIG],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_CONFIG_SAVE_COMMANDS([
+  m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
+  m4_if(_LT_TAG, [C], [
+    # See if we are running on zsh, and set the options which allow our
+    # commands through without removal of \ escapes.
+    if test -n "${ZSH_VERSION+set}" ; then
+      setopt NO_GLOB_SUBST
+    fi
+
+    cfgfile="${ofile}T"
+    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
+    $RM "$cfgfile"
+
+    cat <<_LT_EOF >> "$cfgfile"
+#! $SHELL
+
+# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
+# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
+# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+# NOTE: Changes made to this file will be lost: look at ltmain.sh.
+#
+_LT_COPYING
+_LT_LIBTOOL_TAGS
+
+# ### BEGIN LIBTOOL CONFIG
+_LT_LIBTOOL_CONFIG_VARS
+_LT_LIBTOOL_TAG_VARS
+# ### END LIBTOOL CONFIG
+
+_LT_EOF
+
+  case $host_os in
+  aix3*)
+    cat <<\_LT_EOF >> "$cfgfile"
+# AIX sometimes has problems with the GCC collect2 program.  For some
+# reason, if we set the COLLECT_NAMES environment variable, the problems
+# vanish in a puff of smoke.
+if test "X${COLLECT_NAMES+set}" != Xset; then
+  COLLECT_NAMES=
+  export COLLECT_NAMES
+fi
+_LT_EOF
+    ;;
+  esac
+
+  _LT_PROG_LTMAIN
+
+  # We use sed instead of cat because bash on DJGPP gets confused if
+  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
+  # text mode, it properly converts lines to CR/LF.  This bash problem
+  # is reportedly fixed, but why not run on old versions too?
+  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  _LT_PROG_XSI_SHELLFNS
+
+  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
+    || (rm -f "$cfgfile"; exit 1)
+
+  mv -f "$cfgfile" "$ofile" ||
+    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
+  chmod +x "$ofile"
+],
+[cat <<_LT_EOF >> "$ofile"
+
+dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
+dnl in a comment (ie after a #).
+# ### BEGIN LIBTOOL TAG CONFIG: $1
+_LT_LIBTOOL_TAG_VARS(_LT_TAG)
+# ### END LIBTOOL TAG CONFIG: $1
+_LT_EOF
+])dnl /m4_if
+],
+[m4_if([$1], [], [
+    PACKAGE='$PACKAGE'
+    VERSION='$VERSION'
+    TIMESTAMP='$TIMESTAMP'
+    RM='$RM'
+    ofile='$ofile'], [])
+])dnl /_LT_CONFIG_SAVE_COMMANDS
+])# _LT_CONFIG
+
+
+# LT_SUPPORTED_TAG(TAG)
+# ---------------------
+# Trace this macro to discover what tags are supported by the libtool
+# --tag option, using:
+#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
+AC_DEFUN([LT_SUPPORTED_TAG], [])
+
+
+# C support is built-in for now
+m4_define([_LT_LANG_C_enabled], [])
+m4_define([_LT_TAGS], [])
+
+
+# LT_LANG(LANG)
+# -------------
+# Enable libtool support for the given language if not already enabled.
+AC_DEFUN([LT_LANG],
+[AC_BEFORE([$0], [LT_OUTPUT])dnl
+m4_case([$1],
+  [C],                 [_LT_LANG(C)],
+  [C++],               [_LT_LANG(CXX)],
+  [Java],              [_LT_LANG(GCJ)],
+  [Fortran 77],                [_LT_LANG(F77)],
+  [Fortran],           [_LT_LANG(FC)],
+  [Windows Resource],  [_LT_LANG(RC)],
+  [m4_ifdef([_LT_LANG_]$1[_CONFIG],
+    [_LT_LANG($1)],
+    [m4_fatal([$0: unsupported language: "$1"])])])dnl
+])# LT_LANG
+
+
+# _LT_LANG(LANGNAME)
+# ------------------
+m4_defun([_LT_LANG],
+[m4_ifdef([_LT_LANG_]$1[_enabled], [],
+  [LT_SUPPORTED_TAG([$1])dnl
+  m4_append([_LT_TAGS], [$1 ])dnl
+  m4_define([_LT_LANG_]$1[_enabled], [])dnl
+  _LT_LANG_$1_CONFIG($1)])dnl
+])# _LT_LANG
+
+
+# _LT_LANG_DEFAULT_CONFIG
+# -----------------------
+m4_defun([_LT_LANG_DEFAULT_CONFIG],
+[AC_PROVIDE_IFELSE([AC_PROG_CXX],
+  [LT_LANG(CXX)],
+  [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_F77],
+  [LT_LANG(F77)],
+  [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
+
+AC_PROVIDE_IFELSE([AC_PROG_FC],
+  [LT_LANG(FC)],
+  [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
+
+dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
+dnl pulling things in needlessly.
+AC_PROVIDE_IFELSE([AC_PROG_GCJ],
+  [LT_LANG(GCJ)],
+  [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
+    [LT_LANG(GCJ)],
+    [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
+      [LT_LANG(GCJ)],
+      [m4_ifdef([AC_PROG_GCJ],
+       [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([A][M_PROG_GCJ],
+       [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
+       m4_ifdef([LT_PROG_GCJ],
+       [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
+
+AC_PROVIDE_IFELSE([LT_PROG_RC],
+  [LT_LANG(RC)],
+  [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
+])# _LT_LANG_DEFAULT_CONFIG
+
+# Obsolete macros:
+AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
+AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
+AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
+AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
+dnl AC_DEFUN([AC_LIBTOOL_F77], [])
+dnl AC_DEFUN([AC_LIBTOOL_FC], [])
+dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
+
+
+# _LT_TAG_COMPILER
+# ----------------
+m4_defun([_LT_TAG_COMPILER],
+[AC_REQUIRE([AC_PROG_CC])dnl
+
+_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
+_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
+_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
+_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
+
+# If no C compiler was specified, use CC.
+LTCC=${LTCC-"$CC"}
+
+# If no C compiler flags were specified, use CFLAGS.
+LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
+
+# Allow CC to be a program name with arguments.
+compiler=$CC
+])# _LT_TAG_COMPILER
+
+
+# _LT_COMPILER_BOILERPLATE
+# ------------------------
+# Check for compiler boilerplate output or warnings with
+# the simple compiler test code.
+m4_defun([_LT_COMPILER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_compile_test_code" >conftest.$ac_ext
+eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_compiler_boilerplate=`cat conftest.err`
+$RM conftest*
+])# _LT_COMPILER_BOILERPLATE
+
+
+# _LT_LINKER_BOILERPLATE
+# ----------------------
+# Check for linker boilerplate output or warnings with
+# the simple link test code.
+m4_defun([_LT_LINKER_BOILERPLATE],
+[m4_require([_LT_DECL_SED])dnl
+ac_outfile=conftest.$ac_objext
+echo "$lt_simple_link_test_code" >conftest.$ac_ext
+eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
+_lt_linker_boilerplate=`cat conftest.err`
+$RM -r conftest*
+])# _LT_LINKER_BOILERPLATE
+
+# _LT_REQUIRED_DARWIN_CHECKS
+# -------------------------
+m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
+  case $host_os in
+    rhapsody* | darwin*)
+    AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
+    AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+    AC_CHECK_TOOL([LIPO], [lipo], [:])
+    AC_CHECK_TOOL([OTOOL], [otool], [:])
+    AC_CHECK_TOOL([OTOOL64], [otool64], [:])
+    _LT_DECL([], [DSYMUTIL], [1],
+      [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
+    _LT_DECL([], [NMEDIT], [1],
+      [Tool to change global to local symbols on Mac OS X])
+    _LT_DECL([], [LIPO], [1],
+      [Tool to manipulate fat objects and archives on Mac OS X])
+    _LT_DECL([], [OTOOL], [1],
+      [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+    _LT_DECL([], [OTOOL64], [1],
+      [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
+
+    AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
+      [lt_cv_apple_cc_single_mod=no
+      if test -z "${LT_MULTI_MODULE}"; then
+       # By default we will add the -single_module flag. You can override
+       # by either setting the environment variable LT_MULTI_MODULE
+       # non-empty at configure time, or by adding -multi_module to the
+       # link flags.
+       rm -rf libconftest.dylib*
+       echo "int foo(void){return 1;}" > conftest.c
+       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
+       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
+         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
+        _lt_result=$?
+       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
+         lt_cv_apple_cc_single_mod=yes
+       else
+         cat conftest.err >&AS_MESSAGE_LOG_FD
+       fi
+       rm -rf libconftest.dylib*
+       rm -f conftest.*
+      fi])
+    AC_CACHE_CHECK([for -exported_symbols_list linker flag],
+      [lt_cv_ld_exported_symbols_list],
+      [lt_cv_ld_exported_symbols_list=no
+      save_LDFLAGS=$LDFLAGS
+      echo "_main" > conftest.sym
+      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
+      AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+       [lt_cv_ld_exported_symbols_list=yes],
+       [lt_cv_ld_exported_symbols_list=no])
+       LDFLAGS="$save_LDFLAGS"
+    ])
+    case $host_os in
+    rhapsody* | darwin1.[[012]])
+      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
+    darwin1.*)
+      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+    darwin*) # darwin 5.x on
+      # if running on 10.5 or later, the deployment target defaults
+      # to the OS version, if on x86, and 10.4, the deployment
+      # target defaults to 10.4. Don't you love it?
+      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+       10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
+         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+       10.[[012]]*)
+         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
+       10.*)
+         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
+      esac
+    ;;
+  esac
+    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
+      _lt_dar_single_mod='$single_module'
+    fi
+    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
+      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
+    else
+      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
+    fi
+    if test "$DSYMUTIL" != ":"; then
+      _lt_dsymutil='~$DSYMUTIL $lib || :'
+    else
+      _lt_dsymutil=
+    fi
+    ;;
+  esac
+])
+
+
+# _LT_DARWIN_LINKER_FEATURES
+# --------------------------
+# Checks for linker and compiler features on darwin
+m4_defun([_LT_DARWIN_LINKER_FEATURES],
+[
+  m4_require([_LT_REQUIRED_DARWIN_CHECKS])
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_automatic, $1)=yes
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=''
+  _LT_TAGVAR(link_all_deplibs, $1)=yes
+  _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
+  case $cc_basename in
+     ifort*) _lt_dar_can_shared=yes ;;
+     *) _lt_dar_can_shared=$GCC ;;
+  esac
+  if test "$_lt_dar_can_shared" = "yes"; then
+    output_verbose_link_cmd=echo
+    _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
+    _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
+    _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
+    _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
+    m4_if([$1], [CXX],
+[   if test "$lt_cv_apple_cc_single_mod" != "yes"; then
+      _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
+      _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
+    fi
+],[])
+  else
+  _LT_TAGVAR(ld_shlibs, $1)=no
+  fi
+])
+
+# _LT_SYS_MODULE_PATH_AIX
+# -----------------------
+# Links a minimal program and checks the executable
+# for the system default hardcoded library path. In most cases,
+# this is /usr/lib:/lib, but when the MPI compilers are used
+# the location of the communication and MPI libs are included too.
+# If we don't find anything, use the default library path according
+# to the aix ld manual.
+m4_defun([_LT_SYS_MODULE_PATH_AIX],
+[m4_require([_LT_DECL_SED])dnl
+AC_LINK_IFELSE(AC_LANG_PROGRAM,[
+lt_aix_libpath_sed='
+    /Import File Strings/,/^$/ {
+       /^0/ {
+           s/^0  *\(.*\)$/\1/
+           p
+       }
+    }'
+aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+# Check for a 64-bit object if we didn't find anything.
+if test -z "$aix_libpath"; then
+  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
+fi],[])
+if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
+])# _LT_SYS_MODULE_PATH_AIX
+
+
+# _LT_SHELL_INIT(ARG)
+# -------------------
+m4_define([_LT_SHELL_INIT],
+[ifdef([AC_DIVERSION_NOTICE],
+            [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
+        [AC_DIVERT_PUSH(NOTICE)])
+$1
+AC_DIVERT_POP
+])# _LT_SHELL_INIT
+
+
+# _LT_PROG_ECHO_BACKSLASH
+# -----------------------
+# Add some code to the start of the generated configure script which
+# will find an echo command which doesn't interpret backslashes.
+m4_defun([_LT_PROG_ECHO_BACKSLASH],
+[_LT_SHELL_INIT([
+# Check that we are running under the correct shell.
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+case X$lt_ECHO in
+X*--fallback-echo)
+  # Remove one level of quotation (which was required for Make).
+  ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
+  ;;
+esac
+
+ECHO=${lt_ECHO-echo}
+if test "X[$]1" = X--no-reexec; then
+  # Discard the --no-reexec flag, and continue.
+  shift
+elif test "X[$]1" = X--fallback-echo; then
+  # Avoid inline document here, it may be left over
+  :
+elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
+  # Yippee, $ECHO works!
+  :
+else
+  # Restart under the correct shell.
+  exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
+fi
+
+if test "X[$]1" = X--fallback-echo; then
+  # used as fallback echo
+  shift
+  cat <<_LT_EOF
+[$]*
+_LT_EOF
+  exit 0
+fi
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test -z "$lt_ECHO"; then
+  if test "X${echo_test_string+set}" != Xset; then
+    # find a string as large as possible, as long as the shell can cope with it
+    for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
+      # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
+      if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
+        { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
+      then
+        break
+      fi
+    done
+  fi
+
+  if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+     echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+     test "X$echo_testing_string" = "X$echo_test_string"; then
+    :
+  else
+    # The Solaris, AIX, and Digital Unix default echo programs unquote
+    # backslashes.  This makes it impossible to quote backslashes using
+    #   echo "$something" | sed 's/\\/\\\\/g'
+    #
+    # So, first we look for a working echo in the user's PATH.
+
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for dir in $PATH /usr/ucb; do
+      IFS="$lt_save_ifs"
+      if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
+         test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        ECHO="$dir/echo"
+        break
+      fi
+    done
+    IFS="$lt_save_ifs"
+
+    if test "X$ECHO" = Xecho; then
+      # We didn't find a better echo, so look for alternatives.
+      if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
+         echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
+         test "X$echo_testing_string" = "X$echo_test_string"; then
+        # This shell has a builtin print -r that does the trick.
+        ECHO='print -r'
+      elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
+          test "X$CONFIG_SHELL" != X/bin/ksh; then
+        # If we have ksh, try running configure again with it.
+        ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+        export ORIGINAL_CONFIG_SHELL
+        CONFIG_SHELL=/bin/ksh
+        export CONFIG_SHELL
+        exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
+      else
+        # Try using printf.
+        ECHO='printf %s\n'
+        if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
+          echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
+          test "X$echo_testing_string" = "X$echo_test_string"; then
+         # Cool, printf works
+         :
+        elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
+         export CONFIG_SHELL
+         SHELL="$CONFIG_SHELL"
+         export SHELL
+         ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
+            test "X$echo_testing_string" = 'X\t' &&
+            echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
+            test "X$echo_testing_string" = "X$echo_test_string"; then
+         ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
+        else
+         # maybe with a smaller string...
+         prev=:
+
+         for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
+           if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
+           then
+             break
+           fi
+           prev="$cmd"
+         done
+
+         if test "$prev" != 'sed 50q "[$]0"'; then
+           echo_test_string=`eval $prev`
+           export echo_test_string
+           exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
+         else
+           # Oops.  We lost completely, so just stick with echo.
+           ECHO=echo
+         fi
+        fi
+      fi
+    fi
+  fi
+fi
+
+# Copy echo and quote the copy suitably for passing to libtool from
+# the Makefile, instead of quoting the original, which is used later.
+lt_ECHO=$ECHO
+if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
+   lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
+fi
+
+AC_SUBST(lt_ECHO)
+])
+_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
+_LT_DECL([], [ECHO], [1],
+    [An echo program that does not interpret backslashes])
+])# _LT_PROG_ECHO_BACKSLASH
+
+
+# _LT_ENABLE_LOCK
+# ---------------
+m4_defun([_LT_ENABLE_LOCK],
+[AC_ARG_ENABLE([libtool-lock],
+  [AS_HELP_STRING([--disable-libtool-lock],
+    [avoid locking (might break parallel builds)])])
+test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
+
+# Some flags need to be propagated to the compiler or linker for good
+# libtool support.
+case $host in
+ia64-*-hpux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.$ac_objext` in
+      *ELF-32*)
+       HPUX_IA64_MODE="32"
+       ;;
+      *ELF-64*)
+       HPUX_IA64_MODE="64"
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+*-*-irix6*)
+  # Find out which ABI we are using.
+  echo '[#]line __oline__ "configure"' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    if test "$lt_cv_prog_gnu_ld" = yes; then
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -melf32bsmip"
+         ;;
+       *N32*)
+         LD="${LD-ld} -melf32bmipn32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -melf64bmip"
+       ;;
+      esac
+    else
+      case `/usr/bin/file conftest.$ac_objext` in
+       *32-bit*)
+         LD="${LD-ld} -32"
+         ;;
+       *N32*)
+         LD="${LD-ld} -n32"
+         ;;
+       *64-bit*)
+         LD="${LD-ld} -64"
+         ;;
+      esac
+    fi
+  fi
+  rm -rf conftest*
+  ;;
+
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+      *32-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_i386_fbsd"
+           ;;
+         x86_64-*linux*)
+           LD="${LD-ld} -m elf_i386"
+           ;;
+         ppc64-*linux*|powerpc64-*linux*)
+           LD="${LD-ld} -m elf32ppclinux"
+           ;;
+         s390x-*linux*)
+           LD="${LD-ld} -m elf_s390"
+           ;;
+         sparc64-*linux*)
+           LD="${LD-ld} -m elf32_sparc"
+           ;;
+       esac
+       ;;
+      *64-bit*)
+       case $host in
+         x86_64-*kfreebsd*-gnu)
+           LD="${LD-ld} -m elf_x86_64_fbsd"
+           ;;
+         x86_64-*linux*)
+           LD="${LD-ld} -m elf_x86_64"
+           ;;
+         ppc*-*linux*|powerpc*-*linux*)
+           LD="${LD-ld} -m elf64ppc"
+           ;;
+         s390*-*linux*|s390*-*tpf*)
+           LD="${LD-ld} -m elf64_s390"
+           ;;
+         sparc*-*linux*)
+           LD="${LD-ld} -m elf64_sparc"
+           ;;
+       esac
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+
+*-*-sco3.2v5*)
+  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
+  SAVE_CFLAGS="$CFLAGS"
+  CFLAGS="$CFLAGS -belf"
+  AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
+    [AC_LANG_PUSH(C)
+     AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
+     AC_LANG_POP])
+  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
+    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
+    CFLAGS="$SAVE_CFLAGS"
+  fi
+  ;;
+sparc*-*solaris*)
+  # Find out which ABI we are using.
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+    *64-bit*)
+      case $lt_cv_prog_gnu_ld in
+      yes*) LD="${LD-ld} -m elf64_sparc" ;;
+      *)
+       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
+         LD="${LD-ld} -64"
+       fi
+       ;;
+      esac
+      ;;
+    esac
+  fi
+  rm -rf conftest*
+  ;;
+esac
+
+need_locks="$enable_libtool_lock"
+])# _LT_ENABLE_LOCK
+
+
+# _LT_CMD_OLD_ARCHIVE
+# -------------------
+m4_defun([_LT_CMD_OLD_ARCHIVE],
+[AC_CHECK_TOOL(AR, ar, false)
+test -z "$AR" && AR=ar
+test -z "$AR_FLAGS" && AR_FLAGS=cru
+_LT_DECL([], [AR], [1], [The archiver])
+_LT_DECL([], [AR_FLAGS], [1])
+
+AC_CHECK_TOOL(STRIP, strip, :)
+test -z "$STRIP" && STRIP=:
+_LT_DECL([], [STRIP], [1], [A symbol stripping program])
+
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+test -z "$RANLIB" && RANLIB=:
+_LT_DECL([], [RANLIB], [1],
+    [Commands used to install an old-style archive])
+
+# Determine commands to create old-style static archives.
+old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
+old_postinstall_cmds='chmod 644 $oldlib'
+old_postuninstall_cmds=
+
+if test -n "$RANLIB"; then
+  case $host_os in
+  openbsd*)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
+    ;;
+  *)
+    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
+    ;;
+  esac
+  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+fi
+_LT_DECL([], [old_postinstall_cmds], [2])
+_LT_DECL([], [old_postuninstall_cmds], [2])
+_LT_TAGDECL([], [old_archive_cmds], [2],
+    [Commands used to build an old-style archive])
+])# _LT_CMD_OLD_ARCHIVE
+
+
+# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#              [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------------------
+# Check whether the given compiler option works
+AC_DEFUN([_LT_COMPILER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+   lt_compiler_flag="$3"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   # The option is referenced via a variable to avoid confusing sed.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>conftest.err)
+   ac_status=$?
+   cat conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s "$ac_outfile"; then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings other than the usual output.
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
+     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
+       $2=yes
+     fi
+   fi
+   $RM conftest*
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$5], , :, [$5])
+else
+    m4_if([$6], , :, [$6])
+fi
+])# _LT_COMPILER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
+
+
+# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
+#                  [ACTION-SUCCESS], [ACTION-FAILURE])
+# ----------------------------------------------------
+# Check whether the given linker option works
+AC_DEFUN([_LT_LINKER_OPTION],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_CACHE_CHECK([$1], [$2],
+  [$2=no
+   save_LDFLAGS="$LDFLAGS"
+   LDFLAGS="$LDFLAGS $3"
+   echo "$lt_simple_link_test_code" > conftest.$ac_ext
+   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
+     # The linker can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     if test -s conftest.err; then
+       # Append any errors to the config.log.
+       cat conftest.err 1>&AS_MESSAGE_LOG_FD
+       $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
+       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
+       if diff conftest.exp conftest.er2 >/dev/null; then
+         $2=yes
+       fi
+     else
+       $2=yes
+     fi
+   fi
+   $RM -r conftest*
+   LDFLAGS="$save_LDFLAGS"
+])
+
+if test x"[$]$2" = xyes; then
+    m4_if([$4], , :, [$4])
+else
+    m4_if([$5], , :, [$5])
+fi
+])# _LT_LINKER_OPTION
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
+
+
+# LT_CMD_MAX_LEN
+#---------------
+AC_DEFUN([LT_CMD_MAX_LEN],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+# find the maximum length of command line arguments
+AC_MSG_CHECKING([the maximum length of command line arguments])
+AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
+  i=0
+  teststring="ABCD"
+
+  case $build_os in
+  msdosdjgpp*)
+    # On DJGPP, this test can blow up pretty badly due to problems in libc
+    # (any single argument exceeding 2000 bytes causes a buffer overrun
+    # during glob expansion).  Even if it were fixed, the result of this
+    # check would be larger than it should be.
+    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
+    ;;
+
+  gnu*)
+    # Under GNU Hurd, this test is not required because there is
+    # no limit to the length of command line arguments.
+    # Libtool will interpret -1 as no limit whatsoever
+    lt_cv_sys_max_cmd_len=-1;
+    ;;
+
+  cygwin* | mingw* | cegcc*)
+    # On Win9x/ME, this test blows up -- it succeeds, but takes
+    # about 5 minutes as the teststring grows exponentially.
+    # Worse, since 9x/ME are not pre-emptively multitasking,
+    # you end up with a "frozen" computer, even though with patience
+    # the test eventually succeeds (with a max line length of 256k).
+    # Instead, let's just punt: use the minimum linelength reported by
+    # all of the supported platforms: 8192 (on NT/2K/XP).
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  amigaos*)
+    # On AmigaOS with pdksh, this test takes hours, literally.
+    # So we just punt and use a minimum line length of 8192.
+    lt_cv_sys_max_cmd_len=8192;
+    ;;
+
+  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
+    # This has been around since 386BSD, at least.  Likely further.
+    if test -x /sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
+    elif test -x /usr/sbin/sysctl; then
+      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
+    else
+      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
+    fi
+    # And add a safety zone
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    ;;
+
+  interix*)
+    # We know the value 262144 and hardcode it with a safety zone (like BSD)
+    lt_cv_sys_max_cmd_len=196608
+    ;;
+
+  osf*)
+    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
+    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
+    # nice to cause kernel panics so lets avoid the loop below.
+    # First set a reasonable default.
+    lt_cv_sys_max_cmd_len=16384
+    #
+    if test -x /sbin/sysconfig; then
+      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
+        *1*) lt_cv_sys_max_cmd_len=-1 ;;
+      esac
+    fi
+    ;;
+  sco3.2v5*)
+    lt_cv_sys_max_cmd_len=102400
+    ;;
+  sysv5* | sco5v6* | sysv4.2uw2*)
+    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
+    if test -n "$kargmax"; then
+      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[        ]]//'`
+    else
+      lt_cv_sys_max_cmd_len=32768
+    fi
+    ;;
+  *)
+    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
+    if test -n "$lt_cv_sys_max_cmd_len"; then
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
+    else
+      # Make teststring a little bigger before we do anything with it.
+      # a 1K string should be a reasonable start.
+      for i in 1 2 3 4 5 6 7 8 ; do
+        teststring=$teststring$teststring
+      done
+      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
+      # If test is not a shell built-in, we'll probably end up computing a
+      # maximum length that is only half of the actual maximum length, but
+      # we can't tell.
+      while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
+                = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
+             test $i != 17 # 1/2 MB should be enough
+      do
+        i=`expr $i + 1`
+        teststring=$teststring$teststring
+      done
+      # Only check the string length outside the loop.
+      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
+      teststring=
+      # Add a significant safety factor because C++ compilers can tack on
+      # massive amounts of additional arguments before passing them to the
+      # linker.  It appears as though 1/2 is a usable value.
+      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
+    fi
+    ;;
+  esac
+])
+if test -n $lt_cv_sys_max_cmd_len ; then
+  AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
+else
+  AC_MSG_RESULT(none)
+fi
+max_cmd_len=$lt_cv_sys_max_cmd_len
+_LT_DECL([], [max_cmd_len], [0],
+    [What is the maximum length of a command?])
+])# LT_CMD_MAX_LEN
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
+
+
+# _LT_HEADER_DLFCN
+# ----------------
+m4_defun([_LT_HEADER_DLFCN],
+[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
+])# _LT_HEADER_DLFCN
+
+
+# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
+#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
+# ----------------------------------------------------------------
+m4_defun([_LT_TRY_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "$cross_compiling" = yes; then :
+  [$4]
+else
+  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+  lt_status=$lt_dlunknown
+  cat > conftest.$ac_ext <<_LT_EOF
+[#line __oline__ "configure"
+#include "confdefs.h"
+
+#if HAVE_DLFCN_H
+#include <dlfcn.h>
+#endif
+
+#include <stdio.h>
+
+#ifdef RTLD_GLOBAL
+#  define LT_DLGLOBAL          RTLD_GLOBAL
+#else
+#  ifdef DL_GLOBAL
+#    define LT_DLGLOBAL                DL_GLOBAL
+#  else
+#    define LT_DLGLOBAL                0
+#  endif
+#endif
+
+/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
+   find out it does not work in some platform. */
+#ifndef LT_DLLAZY_OR_NOW
+#  ifdef RTLD_LAZY
+#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
+#  else
+#    ifdef DL_LAZY
+#      define LT_DLLAZY_OR_NOW         DL_LAZY
+#    else
+#      ifdef RTLD_NOW
+#        define LT_DLLAZY_OR_NOW       RTLD_NOW
+#      else
+#        ifdef DL_NOW
+#          define LT_DLLAZY_OR_NOW     DL_NOW
+#        else
+#          define LT_DLLAZY_OR_NOW     0
+#        endif
+#      endif
+#    endif
+#  endif
+#endif
+
+void fnord() { int i=42;}
+int main ()
+{
+  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
+  int status = $lt_dlunknown;
+
+  if (self)
+    {
+      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
+      else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
+      /* dlclose (self); */
+    }
+  else
+    puts (dlerror ());
+
+  return status;
+}]
+_LT_EOF
+  if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
+    (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
+    lt_status=$?
+    case x$lt_status in
+      x$lt_dlno_uscore) $1 ;;
+      x$lt_dlneed_uscore) $2 ;;
+      x$lt_dlunknown|x*) $3 ;;
+    esac
+  else :
+    # compilation failed
+    $3
+  fi
+fi
+rm -fr conftest*
+])# _LT_TRY_DLOPEN_SELF
+
+
+# LT_SYS_DLOPEN_SELF
+# ------------------
+AC_DEFUN([LT_SYS_DLOPEN_SELF],
+[m4_require([_LT_HEADER_DLFCN])dnl
+if test "x$enable_dlopen" != xyes; then
+  enable_dlopen=unknown
+  enable_dlopen_self=unknown
+  enable_dlopen_self_static=unknown
+else
+  lt_cv_dlopen=no
+  lt_cv_dlopen_libs=
+
+  case $host_os in
+  beos*)
+    lt_cv_dlopen="load_add_on"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ;;
+
+  mingw* | pw32* | cegcc*)
+    lt_cv_dlopen="LoadLibrary"
+    lt_cv_dlopen_libs=
+    ;;
+
+  cygwin*)
+    lt_cv_dlopen="dlopen"
+    lt_cv_dlopen_libs=
+    ;;
+
+  darwin*)
+  # if libdl is installed we need to link against it
+    AC_CHECK_LIB([dl], [dlopen],
+               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
+    lt_cv_dlopen="dyld"
+    lt_cv_dlopen_libs=
+    lt_cv_dlopen_self=yes
+    ])
+    ;;
+
+  *)
+    AC_CHECK_FUNC([shl_load],
+         [lt_cv_dlopen="shl_load"],
+      [AC_CHECK_LIB([dld], [shl_load],
+           [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
+       [AC_CHECK_FUNC([dlopen],
+             [lt_cv_dlopen="dlopen"],
+         [AC_CHECK_LIB([dl], [dlopen],
+               [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
+           [AC_CHECK_LIB([svld], [dlopen],
+                 [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
+             [AC_CHECK_LIB([dld], [dld_link],
+                   [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
+             ])
+           ])
+         ])
+       ])
+      ])
+    ;;
+  esac
+
+  if test "x$lt_cv_dlopen" != xno; then
+    enable_dlopen=yes
+  else
+    enable_dlopen=no
+  fi
+
+  case $lt_cv_dlopen in
+  dlopen)
+    save_CPPFLAGS="$CPPFLAGS"
+    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
+
+    save_LDFLAGS="$LDFLAGS"
+    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
+
+    save_LIBS="$LIBS"
+    LIBS="$lt_cv_dlopen_libs $LIBS"
+
+    AC_CACHE_CHECK([whether a program can dlopen itself],
+         lt_cv_dlopen_self, [dnl
+         _LT_TRY_DLOPEN_SELF(
+           lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
+           lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
+    ])
+
+    if test "x$lt_cv_dlopen_self" = xyes; then
+      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
+      AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
+         lt_cv_dlopen_self_static, [dnl
+         _LT_TRY_DLOPEN_SELF(
+           lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
+           lt_cv_dlopen_self_static=no,  lt_cv_dlopen_self_static=cross)
+      ])
+    fi
+
+    CPPFLAGS="$save_CPPFLAGS"
+    LDFLAGS="$save_LDFLAGS"
+    LIBS="$save_LIBS"
+    ;;
+  esac
+
+  case $lt_cv_dlopen_self in
+  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
+  *) enable_dlopen_self=unknown ;;
+  esac
+
+  case $lt_cv_dlopen_self_static in
+  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
+  *) enable_dlopen_self_static=unknown ;;
+  esac
+fi
+_LT_DECL([dlopen_support], [enable_dlopen], [0],
+        [Whether dlopen is supported])
+_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
+        [Whether dlopen of programs is supported])
+_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
+        [Whether dlopen of statically linked programs is supported])
+])# LT_SYS_DLOPEN_SELF
+
+# Old name:
+AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
+
+
+# _LT_COMPILER_C_O([TAGNAME])
+# ---------------------------
+# Check to see if options -c and -o are simultaneously supported by compiler.
+# This macro does not hard code the compiler like AC_PROG_CC_C_O.
+m4_defun([_LT_COMPILER_C_O],
+[m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
+  [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
+   $RM -r conftest 2>/dev/null
+   mkdir conftest
+   cd conftest
+   mkdir out
+   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+   lt_compiler_flag="-o out/conftest2.$ac_objext"
+   # Insert the option either (1) after the last *FLAGS variable, or
+   # (2) before a word containing "conftest.", or (3) at the end.
+   # Note that $ac_compile itself does not contain backslashes and begins
+   # with a dollar sign (not a hyphen), so the echo should work correctly.
+   lt_compile=`echo "$ac_compile" | $SED \
+   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
+   -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
+   -e 's:$: $lt_compiler_flag:'`
+   (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
+   (eval "$lt_compile" 2>out/conftest.err)
+   ac_status=$?
+   cat out/conftest.err >&AS_MESSAGE_LOG_FD
+   echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
+   if (exit $ac_status) && test -s out/conftest2.$ac_objext
+   then
+     # The compiler can only warn and ignore the option if not recognized
+     # So say no if there are warnings
+     $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
+     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
+     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
+       _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+     fi
+   fi
+   chmod u+w . 2>&AS_MESSAGE_LOG_FD
+   $RM conftest*
+   # SGI C++ compiler will create directory out/ii_files/ for
+   # template instantiation
+   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
+   $RM out/* && rmdir out
+   cd ..
+   $RM -r conftest
+   $RM conftest*
+])
+_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
+       [Does compiler simultaneously support -c and -o options?])
+])# _LT_COMPILER_C_O
+
+
+# _LT_COMPILER_FILE_LOCKS([TAGNAME])
+# ----------------------------------
+# Check to see if we can do hard links to lock some files if needed
+m4_defun([_LT_COMPILER_FILE_LOCKS],
+[m4_require([_LT_ENABLE_LOCK])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+_LT_COMPILER_C_O([$1])
+
+hard_links="nottested"
+if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
+  # do not overwrite the value of need_locks provided by the user
+  AC_MSG_CHECKING([if we can lock with hard links])
+  hard_links=yes
+  $RM conftest*
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  touch conftest.a
+  ln conftest.a conftest.b 2>&5 || hard_links=no
+  ln conftest.a conftest.b 2>/dev/null && hard_links=no
+  AC_MSG_RESULT([$hard_links])
+  if test "$hard_links" = no; then
+    AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
+    need_locks=warn
+  fi
+else
+  need_locks=no
+fi
+_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
+])# _LT_COMPILER_FILE_LOCKS
+
+
+# _LT_CHECK_OBJDIR
+# ----------------
+m4_defun([_LT_CHECK_OBJDIR],
+[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
+[rm -f .libs 2>/dev/null
+mkdir .libs 2>/dev/null
+if test -d .libs; then
+  lt_cv_objdir=.libs
+else
+  # MS-DOS does not allow filenames that begin with a dot.
+  lt_cv_objdir=_libs
+fi
+rmdir .libs 2>/dev/null])
+objdir=$lt_cv_objdir
+_LT_DECL([], [objdir], [0],
+         [The name of the directory that contains temporary libtool files])dnl
+m4_pattern_allow([LT_OBJDIR])dnl
+AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
+  [Define to the sub-directory in which libtool stores uninstalled libraries.])
+])# _LT_CHECK_OBJDIR
+
+
+# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
+# --------------------------------------
+# Check hardcoding attributes.
+m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
+[AC_MSG_CHECKING([how to hardcode library paths into programs])
+_LT_TAGVAR(hardcode_action, $1)=
+if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
+   test -n "$_LT_TAGVAR(runpath_var, $1)" ||
+   test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
+
+  # We can hardcode non-existent directories.
+  if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
+     # If the only mechanism to avoid hardcoding is shlibpath_var, we
+     # have to relink, otherwise we might link with an installed library
+     # when we should be linking with a yet-to-be-installed one
+     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
+     test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
+    # Linking always hardcodes the temporary library directory.
+    _LT_TAGVAR(hardcode_action, $1)=relink
+  else
+    # We can link without hardcoding, and we can hardcode nonexisting dirs.
+    _LT_TAGVAR(hardcode_action, $1)=immediate
+  fi
+else
+  # We cannot hardcode anything, or else we can only hardcode existing
+  # directories.
+  _LT_TAGVAR(hardcode_action, $1)=unsupported
+fi
+AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
+
+if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
+   test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
+  # Fast installation is not supported
+  enable_fast_install=no
+elif test "$shlibpath_overrides_runpath" = yes ||
+     test "$enable_shared" = no; then
+  # Fast installation is not necessary
+  enable_fast_install=needless
+fi
+_LT_TAGDECL([], [hardcode_action], [0],
+    [How to hardcode a shared library path into an executable])
+])# _LT_LINKER_HARDCODE_LIBPATH
+
+
+# _LT_CMD_STRIPLIB
+# ----------------
+m4_defun([_LT_CMD_STRIPLIB],
+[m4_require([_LT_DECL_EGREP])
+striplib=
+old_striplib=
+AC_MSG_CHECKING([whether stripping libraries is possible])
+if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
+  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
+  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
+  AC_MSG_RESULT([yes])
+else
+# FIXME - insert some real tests, host_os isn't really good enough
+  case $host_os in
+  darwin*)
+    if test -n "$STRIP" ; then
+      striplib="$STRIP -x"
+      old_striplib="$STRIP -S"
+      AC_MSG_RESULT([yes])
+    else
+      AC_MSG_RESULT([no])
+    fi
+    ;;
+  *)
+    AC_MSG_RESULT([no])
+    ;;
+  esac
+fi
+_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
+_LT_DECL([], [striplib], [1])
+])# _LT_CMD_STRIPLIB
+
+
+# _LT_SYS_DYNAMIC_LINKER([TAG])
+# -----------------------------
+# PORTME Fill in your ld.so characteristics
+m4_defun([_LT_SYS_DYNAMIC_LINKER],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_OBJDUMP])dnl
+m4_require([_LT_DECL_SED])dnl
+AC_MSG_CHECKING([dynamic linker characteristics])
+m4_if([$1],
+       [], [
+if test "$GCC" = yes; then
+  case $host_os in
+    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
+    *) lt_awk_arg="/^libraries:/" ;;
+  esac
+  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+  if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
+    # if the path contains ";" then we assume it to be the separator
+    # otherwise default to the standard path separator (i.e. ":") - it is
+    # assumed that no part of a normal pathname contains ";" but that should
+    # okay in the real world where ";" in dirpaths is itself problematic.
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
+  else
+    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+  fi
+  # Ok, now we have the path, separated by spaces, we can step through it
+  # and add multilib dir if necessary.
+  lt_tmp_lt_search_path_spec=
+  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
+  for lt_sys_path in $lt_search_path_spec; do
+    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
+      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
+    else
+      test -d "$lt_sys_path" && \
+       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
+    fi
+  done
+  lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
+BEGIN {RS=" "; FS="/|\n";} {
+  lt_foo="";
+  lt_count=0;
+  for (lt_i = NF; lt_i > 0; lt_i--) {
+    if ($lt_i != "" && $lt_i != ".") {
+      if ($lt_i == "..") {
+        lt_count++;
+      } else {
+        if (lt_count == 0) {
+          lt_foo="/" $lt_i lt_foo;
+        } else {
+          lt_count--;
+        }
+      }
+    }
+  }
+  if (lt_foo != "") { lt_freq[[lt_foo]]++; }
+  if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
+}'`
+  sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
+else
+  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
+fi])
+library_names_spec=
+libname_spec='lib$name'
+soname_spec=
+shrext_cmds=".so"
+postinstall_cmds=
+postuninstall_cmds=
+finish_cmds=
+finish_eval=
+shlibpath_var=
+shlibpath_overrides_runpath=unknown
+version_type=none
+dynamic_linker="$host_os ld.so"
+sys_lib_dlsearch_path_spec="/lib /usr/lib"
+need_lib_prefix=unknown
+hardcode_into_libs=no
+
+# when you set need_version to no, make sure it does not cause -set_version
+# flags to be left without arguments
+need_version=unknown
+
+case $host_os in
+aix3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
+  shlibpath_var=LIBPATH
+
+  # AIX 3 has no versioning support, so we append a major version to the name.
+  soname_spec='${libname}${release}${shared_ext}$major'
+  ;;
+
+aix[[4-9]]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  hardcode_into_libs=yes
+  if test "$host_cpu" = ia64; then
+    # AIX 5 supports IA64
+    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
+    shlibpath_var=LD_LIBRARY_PATH
+  else
+    # With GCC up to 2.95.x, collect2 would create an import file
+    # for dependence libraries.  The import file would start with
+    # the line `#! .'.  This would cause the generated library to
+    # depend on `.', always an invalid library.  This was fixed in
+    # development snapshots of GCC prior to 3.0.
+    case $host_os in
+      aix4 | aix4.[[01]] | aix4.[[01]].*)
+      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
+          echo ' yes '
+          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
+       :
+      else
+       can_build_shared=no
+      fi
+      ;;
+    esac
+    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
+    # soname into executable. Probably we can add versioning support to
+    # collect2, so additional links can be useful in future.
+    if test "$aix_use_runtimelinking" = yes; then
+      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
+      # instead of lib<name>.a to let people know that these are not
+      # typical AIX shared libraries.
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    else
+      # We preserve .a as extension for shared libraries through AIX4.2
+      # and later when we are not doing run time linking.
+      library_names_spec='${libname}${release}.a $libname.a'
+      soname_spec='${libname}${release}${shared_ext}$major'
+    fi
+    shlibpath_var=LIBPATH
+  fi
+  ;;
+
+amigaos*)
+  case $host_cpu in
+  powerpc)
+    # Since July 2007 AmigaOS4 officially supports .so libraries.
+    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    ;;
+  m68k)
+    library_names_spec='$libname.ixlibrary $libname.a'
+    # Create ${libname}_ixlibrary.a entries in /sys/libs.
+    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
+    ;;
+  esac
+  ;;
+
+beos*)
+  library_names_spec='${libname}${shared_ext}'
+  dynamic_linker="$host_os ld.so"
+  shlibpath_var=LIBRARY_PATH
+  ;;
+
+bsdi[[45]]*)
+  version_type=linux
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
+  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
+  # the default ld.so.conf also contains /usr/contrib/lib and
+  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
+  # libtool to hard-code these into programs
+  ;;
+
+cygwin* | mingw* | pw32* | cegcc*)
+  version_type=windows
+  shrext_cmds=".dll"
+  need_version=no
+  need_lib_prefix=no
+
+  case $GCC,$host_os in
+  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
+    library_names_spec='$libname.dll.a'
+    # DLL is installed to $(libdir)/../bin by postinstall_cmds
+    postinstall_cmds='base_file=`basename \${file}`~
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
+      dldir=$destdir/`dirname \$dlpath`~
+      test -d \$dldir || mkdir -p \$dldir~
+      $install_prog $dir/$dlname \$dldir/$dlname~
+      chmod a+x \$dldir/$dlname~
+      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+      fi'
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
+      dlpath=$dir/\$dldll~
+       $RM \$dlpath'
+    shlibpath_overrides_runpath=yes
+
+    case $host_os in
+    cygwin*)
+      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
+      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
+      ;;
+    mingw* | cegcc*)
+      # MinGW DLLs use traditional 'lib' prefix
+      soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
+      if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
+        # It is most probably a Windows format PATH printed by
+        # mingw gcc, but we are running on Cygwin. Gcc prints its search
+        # path with ; separators, and with drive letters. We can handle the
+        # drive letters (cygwin fileutils understands them), so leave them,
+        # especially as we might pass files found there to a mingw objdump,
+        # which wouldn't understand a cygwinified path. Ahh.
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
+      else
+        sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED  -e "s/$PATH_SEPARATOR/ /g"`
+      fi
+      ;;
+    pw32*)
+      # pw32 DLLs use 'pw' prefix rather than 'lib'
+      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
+      ;;
+    esac
+    ;;
+
+  *)
+    library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
+    ;;
+  esac
+  dynamic_linker='Win32 ld.exe'
+  # FIXME: first we should search . and the directory the executable is in
+  shlibpath_var=PATH
+  ;;
+
+darwin* | rhapsody*)
+  dynamic_linker="$host_os dyld"
+  version_type=darwin
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
+  soname_spec='${libname}${release}${major}$shared_ext'
+  shlibpath_overrides_runpath=yes
+  shlibpath_var=DYLD_LIBRARY_PATH
+  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
+m4_if([$1], [],[
+  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
+  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
+  ;;
+
+dgux*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+freebsd1*)
+  dynamic_linker=no
+  ;;
+
+freebsd* | dragonfly*)
+  # DragonFly does not have aout.  When/if they implement a new
+  # versioning mechanism, adjust this.
+  if test -x /usr/bin/objformat; then
+    objformat=`/usr/bin/objformat`
+  else
+    case $host_os in
+    freebsd[[123]]*) objformat=aout ;;
+    *) objformat=elf ;;
+    esac
+  fi
+  version_type=freebsd-$objformat
+  case $version_type in
+    freebsd-elf*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+      need_version=no
+      need_lib_prefix=no
+      ;;
+    freebsd-*)
+      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
+      need_version=yes
+      ;;
+  esac
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_os in
+  freebsd2*)
+    shlibpath_overrides_runpath=yes
+    ;;
+  freebsd3.[[01]]* | freebsdelf3.[[01]]*)
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
+  freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
+    shlibpath_overrides_runpath=no
+    hardcode_into_libs=yes
+    ;;
+  *) # from 4.6 on, and DragonFly
+    shlibpath_overrides_runpath=yes
+    hardcode_into_libs=yes
+    ;;
+  esac
+  ;;
+
+gnu*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  hardcode_into_libs=yes
+  ;;
+
+hpux9* | hpux10* | hpux11*)
+  # Give a soname corresponding to the major version so that dld.sl refuses to
+  # link against other versions.
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  case $host_cpu in
+  ia64*)
+    shrext_cmds='.so'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.so"
+    shlibpath_var=LD_LIBRARY_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    if test "X$HPUX_IA64_MODE" = X32; then
+      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
+    else
+      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
+    fi
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  hppa*64*)
+    shrext_cmds='.sl'
+    hardcode_into_libs=yes
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
+    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
+    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
+    ;;
+  *)
+    shrext_cmds='.sl'
+    dynamic_linker="$host_os dld.sl"
+    shlibpath_var=SHLIB_PATH
+    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    ;;
+  esac
+  # HP-UX runs *really* slowly unless shared libraries are mode 555.
+  postinstall_cmds='chmod 555 $lib'
+  ;;
+
+interix[[3-9]]*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $host_os in
+    nonstopux*) version_type=nonstopux ;;
+    *)
+       if test "$lt_cv_prog_gnu_ld" = yes; then
+               version_type=linux
+       else
+               version_type=irix
+       fi ;;
+  esac
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
+  case $host_os in
+  irix5* | nonstopux*)
+    libsuff= shlibsuff=
+    ;;
+  *)
+    case $LD in # libtool.m4 will add one of these switches to LD
+    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
+      libsuff= shlibsuff= libmagic=32-bit;;
+    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
+      libsuff=32 shlibsuff=N32 libmagic=N32;;
+    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
+      libsuff=64 shlibsuff=64 libmagic=64-bit;;
+    *) libsuff= shlibsuff= libmagic=never-match;;
+    esac
+    ;;
+  esac
+  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
+  shlibpath_overrides_runpath=no
+  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
+  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
+  hardcode_into_libs=yes
+  ;;
+
+# No shared lib support for Linux oldld, aout, or coff.
+linux*oldld* | linux*aout* | linux*coff*)
+  dynamic_linker=no
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  # Some binutils ld are patched to set DT_RUNPATH
+  save_LDFLAGS=$LDFLAGS
+  save_libdir=$libdir
+  eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
+       LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
+  AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
+    [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
+       [shlibpath_overrides_runpath=yes])])
+  LDFLAGS=$save_LDFLAGS
+  libdir=$save_libdir
+
+  # This implies no fast_install, which is unacceptable.
+  # Some rework will be needed to allow for fast_install
+  # before this can be enabled.
+  hardcode_into_libs=yes
+
+  # Append ld.so.conf contents to the search path
+  if test -f /etc/ld.so.conf; then
+    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[  ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+  fi
+
+  # We used to test for /lib/ld.so.1 and disable shared libraries on
+  # powerpc, because MkLinux only supported shared libraries with the
+  # GNU dynamic linker.  Since this was broken with cross compilers,
+  # most powerpc-linux boxes support dynamic linking these days and
+  # people can always --disable-shared, the test was removed, and we
+  # assume the GNU/Linux dynamic linker is in use.
+  dynamic_linker='GNU/Linux ld.so'
+  ;;
+
+netbsdelf*-gnu)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='NetBSD ld.elf_so'
+  ;;
+
+netbsd*)
+  version_type=sunos
+  need_lib_prefix=no
+  need_version=no
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+    dynamic_linker='NetBSD (a.out) ld.so'
+  else
+    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
+    soname_spec='${libname}${release}${shared_ext}$major'
+    dynamic_linker='NetBSD ld.elf_so'
+  fi
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  ;;
+
+newsos6)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  ;;
+
+*nto* | *qnx*)
+  version_type=qnx
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  dynamic_linker='ldqnx.so'
+  ;;
+
+openbsd*)
+  version_type=sunos
+  sys_lib_dlsearch_path_spec="/usr/lib"
+  need_lib_prefix=no
+  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
+  case $host_os in
+    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
+    *)                         need_version=no  ;;
+  esac
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    case $host_os in
+      openbsd2.[[89]] | openbsd2.[[89]].*)
+       shlibpath_overrides_runpath=no
+       ;;
+      *)
+       shlibpath_overrides_runpath=yes
+       ;;
+      esac
+  else
+    shlibpath_overrides_runpath=yes
+  fi
+  ;;
+
+os2*)
+  libname_spec='$name'
+  shrext_cmds=".dll"
+  need_lib_prefix=no
+  library_names_spec='$libname${shared_ext} $libname.a'
+  dynamic_linker='OS/2 ld.exe'
+  shlibpath_var=LIBPATH
+  ;;
+
+osf3* | osf4* | osf5*)
+  version_type=osf
+  need_lib_prefix=no
+  need_version=no
+  soname_spec='${libname}${release}${shared_ext}$major'
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
+  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
+  ;;
+
+rdos*)
+  dynamic_linker=no
+  ;;
+
+solaris*)
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  # ldd complains unless libraries are executable
+  postinstall_cmds='chmod +x $lib'
+  ;;
+
+sunos4*)
+  version_type=sunos
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
+  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  if test "$with_gnu_ld" = yes; then
+    need_lib_prefix=no
+  fi
+  need_version=yes
+  ;;
+
+sysv4 | sysv4.3*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  case $host_vendor in
+    sni)
+      shlibpath_overrides_runpath=no
+      need_lib_prefix=no
+      runpath_var=LD_RUN_PATH
+      ;;
+    siemens)
+      need_lib_prefix=no
+      ;;
+    motorola)
+      need_lib_prefix=no
+      need_version=no
+      shlibpath_overrides_runpath=no
+      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
+      ;;
+  esac
+  ;;
+
+sysv4*MP*)
+  if test -d /usr/nec ;then
+    version_type=linux
+    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
+    soname_spec='$libname${shared_ext}.$major'
+    shlibpath_var=LD_LIBRARY_PATH
+  fi
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  version_type=freebsd-elf
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=yes
+  hardcode_into_libs=yes
+  if test "$with_gnu_ld" = yes; then
+    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
+  else
+    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
+    case $host_os in
+      sco3.2v5*)
+        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
+       ;;
+    esac
+  fi
+  sys_lib_dlsearch_path_spec='/usr/lib'
+  ;;
+
+tpf*)
+  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
+  version_type=linux
+  need_lib_prefix=no
+  need_version=no
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  shlibpath_var=LD_LIBRARY_PATH
+  shlibpath_overrides_runpath=no
+  hardcode_into_libs=yes
+  ;;
+
+uts4*)
+  version_type=linux
+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
+  soname_spec='${libname}${release}${shared_ext}$major'
+  shlibpath_var=LD_LIBRARY_PATH
+  ;;
+
+*)
+  dynamic_linker=no
+  ;;
+esac
+AC_MSG_RESULT([$dynamic_linker])
+test "$dynamic_linker" = no && can_build_shared=no
+
+variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
+if test "$GCC" = yes; then
+  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
+fi
+
+if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
+  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
+fi
+if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
+  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
+fi
+
+_LT_DECL([], [variables_saved_for_relink], [1],
+    [Variables whose values should be saved in libtool wrapper scripts and
+    restored at link time])
+_LT_DECL([], [need_lib_prefix], [0],
+    [Do we need the "lib" prefix for modules?])
+_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
+_LT_DECL([], [version_type], [0], [Library versioning type])
+_LT_DECL([], [runpath_var], [0],  [Shared library runtime path variable])
+_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
+_LT_DECL([], [shlibpath_overrides_runpath], [0],
+    [Is shlibpath searched before the hard-coded library search path?])
+_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
+_LT_DECL([], [library_names_spec], [1],
+    [[List of archive names.  First name is the real one, the rest are links.
+    The last name is the one that the linker finds with -lNAME]])
+_LT_DECL([], [soname_spec], [1],
+    [[The coded name of the library, if different from the real name]])
+_LT_DECL([], [postinstall_cmds], [2],
+    [Command to use after installation of a shared archive])
+_LT_DECL([], [postuninstall_cmds], [2],
+    [Command to use after uninstallation of a shared archive])
+_LT_DECL([], [finish_cmds], [2],
+    [Commands used to finish a libtool library installation in a directory])
+_LT_DECL([], [finish_eval], [1],
+    [[As "finish_cmds", except a single script fragment to be evaled but
+    not shown]])
+_LT_DECL([], [hardcode_into_libs], [0],
+    [Whether we should hardcode library paths into libraries])
+_LT_DECL([], [sys_lib_search_path_spec], [2],
+    [Compile-time system search path for libraries])
+_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
+    [Run-time system search path for libraries])
+])# _LT_SYS_DYNAMIC_LINKER
+
+
+# _LT_PATH_TOOL_PREFIX(TOOL)
+# --------------------------
+# find a file program which can recognize shared library
+AC_DEFUN([_LT_PATH_TOOL_PREFIX],
+[m4_require([_LT_DECL_EGREP])dnl
+AC_MSG_CHECKING([for $1])
+AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
+[case $MAGIC_CMD in
+[[\\/*] |  ?:[\\/]*])
+  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
+  ;;
+*)
+  lt_save_MAGIC_CMD="$MAGIC_CMD"
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+dnl $ac_dummy forces splitting on constant user-supplied paths.
+dnl POSIX.2 word splitting is done only on the output of word expansions,
+dnl not every word.  This closes a longstanding sh security hole.
+  ac_dummy="m4_if([$2], , $PATH, [$2])"
+  for ac_dir in $ac_dummy; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$1; then
+      lt_cv_path_MAGIC_CMD="$ac_dir/$1"
+      if test -n "$file_magic_test_file"; then
+       case $deplibs_check_method in
+       "file_magic "*)
+         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
+         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
+           $EGREP "$file_magic_regex" > /dev/null; then
+           :
+         else
+           cat <<_LT_EOF 1>&2
+
+*** Warning: the command libtool uses to detect shared libraries,
+*** $file_magic_cmd, produces output that libtool cannot recognize.
+*** The result is that libtool may fail to recognize shared libraries
+*** as such.  This will affect the creation of libtool libraries that
+*** depend on shared libraries, but programs linked with such libtool
+*** libraries will work regardless of this problem.  Nevertheless, you
+*** may want to report the problem to your system manager and/or to
+*** bug-libtool@gnu.org
+
+_LT_EOF
+         fi ;;
+       esac
+      fi
+      break
+    fi
+  done
+  IFS="$lt_save_ifs"
+  MAGIC_CMD="$lt_save_MAGIC_CMD"
+  ;;
+esac])
+MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
+if test -n "$MAGIC_CMD"; then
+  AC_MSG_RESULT($MAGIC_CMD)
+else
+  AC_MSG_RESULT(no)
+fi
+_LT_DECL([], [MAGIC_CMD], [0],
+        [Used to examine libraries when file_magic_cmd begins with "file"])dnl
+])# _LT_PATH_TOOL_PREFIX
+
+# Old name:
+AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
+
+
+# _LT_PATH_MAGIC
+# --------------
+# find a file program which can recognize a shared library
+m4_defun([_LT_PATH_MAGIC],
+[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
+if test -z "$lt_cv_path_MAGIC_CMD"; then
+  if test -n "$ac_tool_prefix"; then
+    _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
+  else
+    MAGIC_CMD=:
+  fi
+fi
+])# _LT_PATH_MAGIC
+
+
+# LT_PATH_LD
+# ----------
+# find the pathname to the GNU or non-GNU linker
+AC_DEFUN([LT_PATH_LD],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_CANONICAL_BUILD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_ARG_WITH([gnu-ld],
+    [AS_HELP_STRING([--with-gnu-ld],
+       [assume the C compiler uses GNU ld @<:@default=no@:>@])],
+    [test "$withval" = no || with_gnu_ld=yes],
+    [with_gnu_ld=no])dnl
+
+ac_prog=ld
+if test "$GCC" = yes; then
+  # Check if gcc -print-prog-name=ld gives a path.
+  AC_MSG_CHECKING([for ld used by $CC])
+  case $host in
+  *-*-mingw*)
+    # gcc leaves a trailing carriage return which upsets mingw
+    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
+  *)
+    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
+  esac
+  case $ac_prog in
+    # Accept absolute paths.
+    [[\\/]]* | ?:[[\\/]]*)
+      re_direlt='/[[^/]][[^/]]*/\.\./'
+      # Canonicalize the pathname of ld
+      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
+      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
+       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
+      done
+      test -z "$LD" && LD="$ac_prog"
+      ;;
+  "")
+    # If it fails, then pretend we aren't using GCC.
+    ac_prog=ld
+    ;;
+  *)
+    # If it is relative, then search for the first ld in PATH.
+    with_gnu_ld=unknown
+    ;;
+  esac
+elif test "$with_gnu_ld" = yes; then
+  AC_MSG_CHECKING([for GNU ld])
+else
+  AC_MSG_CHECKING([for non-GNU ld])
+fi
+AC_CACHE_VAL(lt_cv_path_LD,
+[if test -z "$LD"; then
+  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+  for ac_dir in $PATH; do
+    IFS="$lt_save_ifs"
+    test -z "$ac_dir" && ac_dir=.
+    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
+      lt_cv_path_LD="$ac_dir/$ac_prog"
+      # Check to see if the program is GNU ld.  I'd rather use --version,
+      # but apparently some variants of GNU ld only accept -v.
+      # Break only if it was the GNU/non-GNU ld that we prefer.
+      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
+      *GNU* | *'with BFD'*)
+       test "$with_gnu_ld" != no && break
+       ;;
+      *)
+       test "$with_gnu_ld" != yes && break
+       ;;
+      esac
+    fi
+  done
+  IFS="$lt_save_ifs"
+else
+  lt_cv_path_LD="$LD" # Let the user override the test with a path.
+fi])
+LD="$lt_cv_path_LD"
+if test -n "$LD"; then
+  AC_MSG_RESULT($LD)
+else
+  AC_MSG_RESULT(no)
+fi
+test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
+_LT_PATH_LD_GNU
+AC_SUBST([LD])
+
+_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
+])# LT_PATH_LD
+
+# Old names:
+AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
+AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_LD], [])
+dnl AC_DEFUN([AC_PROG_LD], [])
+
+
+# _LT_PATH_LD_GNU
+#- --------------
+m4_defun([_LT_PATH_LD_GNU],
+[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
+[# I'd rather use --version here, but apparently some GNU lds only accept -v.
+case `$LD -v 2>&1 </dev/null` in
+*GNU* | *'with BFD'*)
+  lt_cv_prog_gnu_ld=yes
+  ;;
+*)
+  lt_cv_prog_gnu_ld=no
+  ;;
+esac])
+with_gnu_ld=$lt_cv_prog_gnu_ld
+])# _LT_PATH_LD_GNU
+
+
+# _LT_CMD_RELOAD
+# --------------
+# find reload flag for linker
+#   -- PORTME Some linkers may need a different reload flag.
+m4_defun([_LT_CMD_RELOAD],
+[AC_CACHE_CHECK([for $LD option to reload object files],
+  lt_cv_ld_reload_flag,
+  [lt_cv_ld_reload_flag='-r'])
+reload_flag=$lt_cv_ld_reload_flag
+case $reload_flag in
+"" | " "*) ;;
+*) reload_flag=" $reload_flag" ;;
+esac
+reload_cmds='$LD$reload_flag -o $output$reload_objs'
+case $host_os in
+  darwin*)
+    if test "$GCC" = yes; then
+      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
+    else
+      reload_cmds='$LD$reload_flag -o $output$reload_objs'
+    fi
+    ;;
+esac
+_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
+_LT_DECL([], [reload_cmds], [2])dnl
+])# _LT_CMD_RELOAD
+
+
+# _LT_CHECK_MAGIC_METHOD
+# ----------------------
+# how to check for library dependencies
+#  -- PORTME fill in with the dynamic library characteristics
+m4_defun([_LT_CHECK_MAGIC_METHOD],
+[m4_require([_LT_DECL_EGREP])
+m4_require([_LT_DECL_OBJDUMP])
+AC_CACHE_CHECK([how to recognize dependent libraries],
+lt_cv_deplibs_check_method,
+[lt_cv_file_magic_cmd='$MAGIC_CMD'
+lt_cv_file_magic_test_file=
+lt_cv_deplibs_check_method='unknown'
+# Need to set the preceding variable on all platforms that support
+# interlibrary dependencies.
+# 'none' -- dependencies not supported.
+# `unknown' -- same as none, but documents that we really don't know.
+# 'pass_all' -- all dependencies passed with no checks.
+# 'test_compile' -- check by making test program.
+# 'file_magic [[regex]]' -- check by looking for files in library path
+# which responds to the $file_magic_cmd with a given extended regex.
+# If you have `file' or equivalent on your system and you're not sure
+# whether `pass_all' will *always* work, you probably want this one.
+
+case $host_os in
+aix[[4-9]]*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+beos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+bsdi[[45]]*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
+  lt_cv_file_magic_cmd='/usr/bin/file -L'
+  lt_cv_file_magic_test_file=/shlib/libc.so
+  ;;
+
+cygwin*)
+  # func_win32_libid is a shell function defined in ltmain.sh
+  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+  lt_cv_file_magic_cmd='func_win32_libid'
+  ;;
+
+mingw* | pw32*)
+  # Base MSYS/MinGW do not provide the 'file' command needed by
+  # func_win32_libid shell function, so use a weaker test based on 'objdump',
+  # unless we find 'file', for example because we are cross-compiling.
+  if ( file / ) >/dev/null 2>&1; then
+    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
+    lt_cv_file_magic_cmd='func_win32_libid'
+  else
+    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
+    lt_cv_file_magic_cmd='$OBJDUMP -f'
+  fi
+  ;;
+
+cegcc)
+  # use the weaker test based on 'objdump'. See mingw*.
+  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
+  lt_cv_file_magic_cmd='$OBJDUMP -f'
+  ;;
+
+darwin* | rhapsody*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+freebsd* | dragonfly*)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    case $host_cpu in
+    i*86 )
+      # Not sure whether the presence of OpenBSD here was a mistake.
+      # Let's accept both of them until this is cleared up.
+      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
+      lt_cv_file_magic_cmd=/usr/bin/file
+      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
+      ;;
+    esac
+  else
+    lt_cv_deplibs_check_method=pass_all
+  fi
+  ;;
+
+gnu*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+hpux10.20* | hpux11*)
+  lt_cv_file_magic_cmd=/usr/bin/file
+  case $host_cpu in
+  ia64*)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
+    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
+    ;;
+  hppa*64*)
+    [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
+    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
+    ;;
+  *)
+    lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
+    lt_cv_file_magic_test_file=/usr/lib/libc.sl
+    ;;
+  esac
+  ;;
+
+interix[[3-9]]*)
+  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
+  lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
+  ;;
+
+irix5* | irix6* | nonstopux*)
+  case $LD in
+  *-32|*"-32 ") libmagic=32-bit;;
+  *-n32|*"-n32 ") libmagic=N32;;
+  *-64|*"-64 ") libmagic=64-bit;;
+  *) libmagic=never-match;;
+  esac
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+# This must be Linux ELF.
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+netbsd* | netbsdelf*-gnu)
+  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
+  fi
+  ;;
+
+newos6*)
+  lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
+  lt_cv_file_magic_cmd=/usr/bin/file
+  lt_cv_file_magic_test_file=/usr/lib/libnls.so
+  ;;
+
+*nto* | *qnx*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+openbsd*)
+  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
+  else
+    lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
+  fi
+  ;;
+
+osf3* | osf4* | osf5*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+rdos*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+solaris*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+
+sysv4 | sysv4.3*)
+  case $host_vendor in
+  motorola)
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
+    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
+    ;;
+  ncr)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  sequent)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
+    ;;
+  sni)
+    lt_cv_file_magic_cmd='/bin/file'
+    lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
+    lt_cv_file_magic_test_file=/lib/libc.so
+    ;;
+  siemens)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  pc)
+    lt_cv_deplibs_check_method=pass_all
+    ;;
+  esac
+  ;;
+
+tpf*)
+  lt_cv_deplibs_check_method=pass_all
+  ;;
+esac
+])
+file_magic_cmd=$lt_cv_file_magic_cmd
+deplibs_check_method=$lt_cv_deplibs_check_method
+test -z "$deplibs_check_method" && deplibs_check_method=unknown
+
+_LT_DECL([], [deplibs_check_method], [1],
+    [Method to check whether dependent libraries are shared objects])
+_LT_DECL([], [file_magic_cmd], [1],
+    [Command to use when deplibs_check_method == "file_magic"])
+])# _LT_CHECK_MAGIC_METHOD
+
+
+# LT_PATH_NM
+# ----------
+# find the pathname to a BSD- or MS-compatible name lister
+AC_DEFUN([LT_PATH_NM],
+[AC_REQUIRE([AC_PROG_CC])dnl
+AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
+[if test -n "$NM"; then
+  # Let the user override the test.
+  lt_cv_path_NM="$NM"
+else
+  lt_nm_to_check="${ac_tool_prefix}nm"
+  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
+    lt_nm_to_check="$lt_nm_to_check nm"
+  fi
+  for lt_tmp_nm in $lt_nm_to_check; do
+    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
+    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
+      IFS="$lt_save_ifs"
+      test -z "$ac_dir" && ac_dir=.
+      tmp_nm="$ac_dir/$lt_tmp_nm"
+      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
+       # Check to see if the nm accepts a BSD-compat flag.
+       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
+       #   nm: unknown option "B" ignored
+       # Tru64's nm complains that /dev/null is an invalid object file
+       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
+       */dev/null* | *'Invalid file or object type'*)
+         lt_cv_path_NM="$tmp_nm -B"
+         break
+         ;;
+       *)
+         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
+         */dev/null*)
+           lt_cv_path_NM="$tmp_nm -p"
+           break
+           ;;
+         *)
+           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
+           continue # so that we can try to find one that supports BSD flags
+           ;;
+         esac
+         ;;
+       esac
+      fi
+    done
+    IFS="$lt_save_ifs"
+  done
+  : ${lt_cv_path_NM=no}
+fi])
+if test "$lt_cv_path_NM" != "no"; then
+  NM="$lt_cv_path_NM"
+else
+  # Didn't find any BSD compatible name lister, look for dumpbin.
+  AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
+  AC_SUBST([DUMPBIN])
+  if test "$DUMPBIN" != ":"; then
+    NM="$DUMPBIN"
+  fi
+fi
+test -z "$NM" && NM=nm
+AC_SUBST([NM])
+_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
+
+AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
+  [lt_cv_nm_interface="BSD nm"
+  echo "int some_variable = 0;" > conftest.$ac_ext
+  (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$ac_compile" 2>conftest.err)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
+  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
+  cat conftest.err >&AS_MESSAGE_LOG_FD
+  (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
+  cat conftest.out >&AS_MESSAGE_LOG_FD
+  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
+    lt_cv_nm_interface="MS dumpbin"
+  fi
+  rm -f conftest*])
+])# LT_PATH_NM
+
+# Old names:
+AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
+AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_PROG_NM], [])
+dnl AC_DEFUN([AC_PROG_NM], [])
+
+
+# LT_LIB_M
+# --------
+# check for math library
+AC_DEFUN([LT_LIB_M],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+LIBM=
+case $host in
+*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
+  # These system don't have libm, or don't need it
+  ;;
+*-ncr-sysv4.3*)
+  AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
+  AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
+  ;;
+*)
+  AC_CHECK_LIB(m, cos, LIBM="-lm")
+  ;;
+esac
+AC_SUBST([LIBM])
+])# LT_LIB_M
+
+# Old name:
+AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_CHECK_LIBM], [])
+
+
+# _LT_COMPILER_NO_RTTI([TAGNAME])
+# -------------------------------
+m4_defun([_LT_COMPILER_NO_RTTI],
+[m4_require([_LT_TAG_COMPILER])dnl
+
+_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+
+if test "$GCC" = yes; then
+  _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+
+  _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
+    lt_cv_prog_compiler_rtti_exceptions,
+    [-fno-rtti -fno-exceptions], [],
+    [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
+fi
+_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
+       [Compiler flag to turn off builtin functions])
+])# _LT_COMPILER_NO_RTTI
+
+
+# _LT_CMD_GLOBAL_SYMBOLS
+# ----------------------
+m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+AC_REQUIRE([AC_PROG_CC])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+AC_REQUIRE([LT_PATH_LD])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+
+# Check for command to grab the raw symbol name followed by C symbol from nm.
+AC_MSG_CHECKING([command to parse $NM output from $compiler object])
+AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
+[
+# These are sane defaults that work on at least a few old systems.
+# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
+
+# Character class describing NM global symbol codes.
+symcode='[[BCDEGRST]]'
+
+# Regexp to match symbols that can be accessed directly from C.
+sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
+
+# Define system-specific variables.
+case $host_os in
+aix*)
+  symcode='[[BCDT]]'
+  ;;
+cygwin* | mingw* | pw32* | cegcc*)
+  symcode='[[ABCDGISTW]]'
+  ;;
+hpux*)
+  if test "$host_cpu" = ia64; then
+    symcode='[[ABCDEGRST]]'
+  fi
+  ;;
+irix* | nonstopux*)
+  symcode='[[BCDEGRST]]'
+  ;;
+osf*)
+  symcode='[[BCDEGQRST]]'
+  ;;
+solaris*)
+  symcode='[[BDRT]]'
+  ;;
+sco3.2v5*)
+  symcode='[[DT]]'
+  ;;
+sysv4.2uw2*)
+  symcode='[[DT]]'
+  ;;
+sysv5* | sco5v6* | unixware* | OpenUNIX*)
+  symcode='[[ABDT]]'
+  ;;
+sysv4)
+  symcode='[[DFNSTU]]'
+  ;;
+esac
+
+# If we're using GNU nm, then use its standard symbol codes.
+case `$NM -V 2>&1` in
+*GNU* | *'with BFD'*)
+  symcode='[[ABCDGIRSTW]]' ;;
+esac
+
+# Transform an extracted symbol line into a proper C declaration.
+# Some systems (esp. on ia64) link data and code symbols differently,
+# so use this general approach.
+lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
+
+# Transform an extracted symbol line into symbol name and symbol address
+lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p'"
+lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
+
+# Handle CRLF in mingw tool chain
+opt_cr=
+case $build_os in
+mingw*)
+  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
+  ;;
+esac
+
+# Try without a prefix underscore, then with it.
+for ac_symprfx in "" "_"; do
+
+  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
+  symxfrm="\\1 $ac_symprfx\\2 \\2"
+
+  # Write the raw and C identifiers.
+  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
+    # Fake it for dumpbin and say T for any non-static function
+    # and D for any global variable.
+    # Also find C++ and __fastcall symbols from MSVC++,
+    # which start with @ or ?.
+    lt_cv_sys_global_symbol_pipe="$AWK ['"\
+"     {last_section=section; section=\$ 3};"\
+"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
+"     \$ 0!~/External *\|/{next};"\
+"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
+"     {if(hide[section]) next};"\
+"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
+"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
+"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
+"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
+"     ' prfx=^$ac_symprfx]"
+  else
+    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[    ]]\($symcode$symcode*\)[[       ]][[    ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
+  fi
+
+  # Check to see that the pipe works correctly.
+  pipe_works=no
+
+  rm -f conftest*
+  cat > conftest.$ac_ext <<_LT_EOF
+#ifdef __cplusplus
+extern "C" {
+#endif
+char nm_test_var;
+void nm_test_func(void);
+void nm_test_func(void){}
+#ifdef __cplusplus
+}
+#endif
+int main(){nm_test_var='a';nm_test_func();return(0);}
+_LT_EOF
+
+  if AC_TRY_EVAL(ac_compile); then
+    # Now try to grab the symbols.
+    nlist=conftest.nm
+    if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
+      # Try sorting and uniquifying the output.
+      if sort "$nlist" | uniq > "$nlist"T; then
+       mv -f "$nlist"T "$nlist"
+      else
+       rm -f "$nlist"T
+      fi
+
+      # Make sure that we snagged all the symbols we need.
+      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
+       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
+         cat <<_LT_EOF > conftest.$ac_ext
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+_LT_EOF
+         # Now generate the symbol file.
+         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
+
+         cat <<_LT_EOF >> conftest.$ac_ext
+
+/* The mapping between symbol names and symbols.  */
+const struct {
+  const char *name;
+  void       *address;
+}
+lt__PROGRAM__LTX_preloaded_symbols[[]] =
+{
+  { "@PROGRAM@", (void *) 0 },
+_LT_EOF
+         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
+         cat <<\_LT_EOF >> conftest.$ac_ext
+  {0, (void *) 0}
+};
+
+/* This works around a problem in FreeBSD linker */
+#ifdef FREEBSD_WORKAROUND
+static const void *lt_preloaded_setup() {
+  return lt__PROGRAM__LTX_preloaded_symbols;
+}
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+_LT_EOF
+         # Now try linking the two files.
+         mv conftest.$ac_objext conftstm.$ac_objext
+         lt_save_LIBS="$LIBS"
+         lt_save_CFLAGS="$CFLAGS"
+         LIBS="conftstm.$ac_objext"
+         CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
+         if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
+           pipe_works=yes
+         fi
+         LIBS="$lt_save_LIBS"
+         CFLAGS="$lt_save_CFLAGS"
+       else
+         echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
+       fi
+      else
+       echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
+      fi
+    else
+      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
+    fi
+  else
+    echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
+    cat conftest.$ac_ext >&5
+  fi
+  rm -rf conftest* conftst*
+
+  # Do not use the global_symbol_pipe unless it works.
+  if test "$pipe_works" = yes; then
+    break
+  else
+    lt_cv_sys_global_symbol_pipe=
+  fi
+done
+])
+if test -z "$lt_cv_sys_global_symbol_pipe"; then
+  lt_cv_sys_global_symbol_to_cdecl=
+fi
+if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
+  AC_MSG_RESULT(failed)
+else
+  AC_MSG_RESULT(ok)
+fi
+
+_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
+    [Take the output of nm and produce a listing of raw symbols and C names])
+_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
+    [Transform the output of nm in a proper C declaration])
+_LT_DECL([global_symbol_to_c_name_address],
+    [lt_cv_sys_global_symbol_to_c_name_address], [1],
+    [Transform the output of nm in a C name address pair])
+_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
+    [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
+    [Transform the output of nm in a C name address pair when lib prefix is needed])
+]) # _LT_CMD_GLOBAL_SYMBOLS
+
+
+# _LT_COMPILER_PIC([TAGNAME])
+# ---------------------------
+m4_defun([_LT_COMPILER_PIC],
+[m4_require([_LT_TAG_COMPILER])dnl
+_LT_TAGVAR(lt_prog_compiler_wl, $1)=
+_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+_LT_TAGVAR(lt_prog_compiler_static, $1)=
+
+AC_MSG_CHECKING([for $compiler option to produce PIC])
+m4_if([$1], [CXX], [
+  # C++ specific cases for pic, static, wl, etc.
+  if test "$GXX" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+    aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+    mingw* | cygwin* | os2* | pw32* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+       [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+    *djgpp*)
+      # DJGPP does not support shared libraries at all
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+      ;;
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+       ;;
+      *)
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       ;;
+      esac
+      ;;
+    *qnx* | *nto*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    case $host_os in
+      aix[[4-9]]*)
+       # All AIX code is PIC.
+       if test "$host_cpu" = ia64; then
+         # AIX 5 now supports IA64 processor
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+       else
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+       fi
+       ;;
+      chorus*)
+       case $cc_basename in
+       cxch68*)
+         # Green Hills C++ Compiler
+         # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
+         ;;
+       esac
+       ;;
+      dgux*)
+       case $cc_basename in
+         ec++*)
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           ;;
+         ghcx*)
+           # Green Hills C++ Compiler
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      freebsd* | dragonfly*)
+       # FreeBSD uses GNU C++
+       ;;
+      hpux9* | hpux10* | hpux11*)
+       case $cc_basename in
+         CC*)
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+           if test "$host_cpu" != ia64; then
+             _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+           fi
+           ;;
+         aCC*)
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+           case $host_cpu in
+           hppa*64*|ia64*)
+             # +Z the default
+             ;;
+           *)
+             _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+             ;;
+           esac
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      interix*)
+       # This is c89, which is MS Visual C++ (no shared libs)
+       # Anyone wants to do a port?
+       ;;
+      irix5* | irix6* | nonstopux*)
+       case $cc_basename in
+         CC*)
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+           # CC pic flag -KPIC is the default.
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+       case $cc_basename in
+         KCC*)
+           # KAI C++ Compiler
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+           ;;
+         ecpc* )
+           # old Intel C++ for x86_64 which still supported -KPIC.
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+           ;;
+         icpc* )
+           # Intel C++, used to be incompatible with GCC.
+           # ICC 10 doesn't accept -KPIC any more.
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+           ;;
+         pgCC* | pgcpp*)
+           # Portland Group C++ compiler
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+           ;;
+         cxx*)
+           # Compaq C++
+           # Make sure the PIC flag is empty.  It appears that all Alpha
+           # Linux and Compaq Tru64 Unix objects are PIC.
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+           ;;
+         xlc* | xlC*)
+           # IBM XL 8.0 on PPC
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+           ;;
+         *)
+           case `$CC -V 2>&1 | sed 5q` in
+           *Sun\ C*)
+             # Sun C++ 5.9
+             _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+             _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+             _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+             ;;
+           esac
+           ;;
+       esac
+       ;;
+      lynxos*)
+       ;;
+      m88k*)
+       ;;
+      mvs*)
+       case $cc_basename in
+         cxx*)
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      netbsd* | netbsdelf*-gnu)
+       ;;
+      *qnx* | *nto*)
+        # QNX uses GNU C++, but need to define -shared option too, otherwise
+        # it will coredump.
+        _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+        ;;
+      osf3* | osf4* | osf5*)
+       case $cc_basename in
+         KCC*)
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
+           ;;
+         RCC*)
+           # Rational C++ 2.4.1
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+           ;;
+         cxx*)
+           # Digital/Compaq C++
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           # Make sure the PIC flag is empty.  It appears that all Alpha
+           # Linux and Compaq Tru64 Unix objects are PIC.
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      psos*)
+       ;;
+      solaris*)
+       case $cc_basename in
+         CC*)
+           # Sun C++ 4.2, 5.x and Centerline C++
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+           ;;
+         gcx*)
+           # Green Hills C++ Compiler
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      sunos4*)
+       case $cc_basename in
+         CC*)
+           # Sun C++ 4.x
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+           ;;
+         lcc*)
+           # Lucid
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+       case $cc_basename in
+         CC*)
+           _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+           ;;
+       esac
+       ;;
+      tandem*)
+       case $cc_basename in
+         NCC*)
+           # NonStop-UX NCC 3.20
+           _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+           ;;
+         *)
+           ;;
+       esac
+       ;;
+      vxworks*)
+       ;;
+      *)
+       _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+       ;;
+    esac
+  fi
+],
+[
+  if test "$GCC" = yes; then
+    _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+    _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+
+    case $host_os in
+      aix*)
+      # All AIX code is PIC.
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+        ;;
+      m68k)
+            # FIXME: we need at least 68020 code to build shared libraries, but
+            # adding the `-m68020' flag to GCC prevents building anything better,
+            # like `-m68040'.
+            _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
+        ;;
+      esac
+      ;;
+
+    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
+      # PIC is the default for these OSes.
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      # Although the cygwin gcc ignores -fPIC, still need this for old-style
+      # (--disable-auto-import) libraries
+      m4_if([$1], [GCJ], [],
+       [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    darwin* | rhapsody*)
+      # PIC is the default on this platform
+      # Common symbols not allowed in MH_DYLIB files
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
+      ;;
+
+    hpux*)
+      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
+      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
+      # sets the default TLS model and affects inlining.
+      case $host_cpu in
+      hppa*64*)
+       # +Z the default
+       ;;
+      *)
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       ;;
+      esac
+      ;;
+
+    interix[[3-9]]*)
+      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
+      # Instead, we relocate shared libraries at runtime.
+      ;;
+
+    msdosdjgpp*)
+      # Just because we use GCC doesn't mean we suddenly get shared libraries
+      # on systems that don't support them.
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      enable_shared=no
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
+      fi
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+      ;;
+    esac
+  else
+    # PORTME Check for flag to pass linker flags through the system compiler.
+    case $host_os in
+    aix*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      if test "$host_cpu" = ia64; then
+       # AIX 5 now supports IA64 processor
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      else
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
+      fi
+      ;;
+
+    mingw* | cygwin* | pw32* | os2* | cegcc*)
+      # This hack is so that the source file can tell whether it is being
+      # built for inclusion in a dll (and should export symbols for example).
+      m4_if([$1], [GCJ], [],
+       [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
+      ;;
+
+    hpux9* | hpux10* | hpux11*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
+      # not for PA HP-UX.
+      case $host_cpu in
+      hppa*64*|ia64*)
+       # +Z the default
+       ;;
+      *)
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
+       ;;
+      esac
+      # Is there a better lt_prog_compiler_static that works with the bundled CC?
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # PIC (with -KPIC) is the default.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
+      case $cc_basename in
+      # old Intel for x86_64 which still supported -KPIC.
+      ecc*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # icc used to be incompatible with GCC.
+      # ICC 10 doesn't accept -KPIC any more.
+      icc* | ifort*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+        ;;
+      # Lahey Fortran 8.1.
+      lf95*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
+       ;;
+      pgcc* | pgf77* | pgf90* | pgf95*)
+        # Portland Group compilers (*not* the Pentium gcc compiler,
+       # which looks to be a dead project)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+        ;;
+      ccc*)
+        _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+        # All Alpha code is PIC.
+        _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+        ;;
+      xl*)
+       # IBM XL C 8.0/Fortran 10.1 on PPC
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
+       ;;
+      *)
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ C*)
+         # Sun C 5.9
+         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+         _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+         ;;
+       *Sun\ F*)
+         # Sun Fortran 8.3 passes all unrecognized flags to the linker
+         _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+         _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+         _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
+         ;;
+       esac
+       ;;
+      esac
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *nto* | *qnx*)
+      # QNX uses GNU C++, but need to define -shared option too, otherwise
+      # it will coredump.
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
+      ;;
+
+    osf3* | osf4* | osf5*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      # All OSF/1 code is PIC.
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    rdos*)
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      case $cc_basename in
+      f77* | f90* | f95*)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
+      *)
+       _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4 | sysv4.2uw2* | sysv4.3*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec ;then
+       _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
+       _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      fi
+      ;;
+
+    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    unicos*)
+      _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
+      _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
+      ;;
+
+    *)
+      _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
+      ;;
+    esac
+  fi
+])
+case $host_os in
+  # For platforms which do not support PIC, -DPIC is meaningless:
+  *djgpp*)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)=
+    ;;
+  *)
+    _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
+    ;;
+esac
+AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
+_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
+       [How to pass a linker flag through the compiler])
+
+#
+# Check to make sure the PIC flag actually works.
+#
+if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
+  _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
+    [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
+    [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
+    [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
+     "" | " "*) ;;
+     *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
+     esac],
+    [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
+     _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
+fi
+_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
+       [Additional compiler flags for building library objects])
+
+#
+# Check to make sure the static flag actually works.
+#
+wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
+_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
+  _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
+  $lt_tmp_static_flag,
+  [],
+  [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
+_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
+       [Compiler flag to prevent dynamic linking])
+])# _LT_COMPILER_PIC
+
+
+# _LT_LINKER_SHLIBS([TAGNAME])
+# ----------------------------
+# See if the linker supports building shared libraries.
+m4_defun([_LT_LINKER_SHLIBS],
+[AC_REQUIRE([LT_PATH_LD])dnl
+AC_REQUIRE([LT_PATH_NM])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+m4_require([_LT_DECL_SED])dnl
+m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
+m4_require([_LT_TAG_COMPILER])dnl
+AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+m4_if([$1], [CXX], [
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  case $host_os in
+  aix[[4-9]]*)
+    # If we're using GNU nm, then we don't want the "-C" option.
+    # -C means demangle to AIX nm, but means don't demangle with GNU nm
+    if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    else
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+    fi
+    ;;
+  pw32*)
+    _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
+  ;;
+  cygwin* | mingw* | cegcc*)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  linux* | k*bsd*-gnu)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+  ;;
+  *)
+    _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  ;;
+  esac
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+], [
+  runpath_var=
+  _LT_TAGVAR(allow_undefined_flag, $1)=
+  _LT_TAGVAR(always_export_symbols, $1)=no
+  _LT_TAGVAR(archive_cmds, $1)=
+  _LT_TAGVAR(archive_expsym_cmds, $1)=
+  _LT_TAGVAR(compiler_needs_object, $1)=no
+  _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+  _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+  _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
+  _LT_TAGVAR(hardcode_automatic, $1)=no
+  _LT_TAGVAR(hardcode_direct, $1)=no
+  _LT_TAGVAR(hardcode_direct_absolute, $1)=no
+  _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+  _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+  _LT_TAGVAR(hardcode_libdir_separator, $1)=
+  _LT_TAGVAR(hardcode_minus_L, $1)=no
+  _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+  _LT_TAGVAR(inherit_rpath, $1)=no
+  _LT_TAGVAR(link_all_deplibs, $1)=unknown
+  _LT_TAGVAR(module_cmds, $1)=
+  _LT_TAGVAR(module_expsym_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_new_cmds, $1)=
+  _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
+  _LT_TAGVAR(thread_safe_flag_spec, $1)=
+  _LT_TAGVAR(whole_archive_flag_spec, $1)=
+  # include_expsyms should be a list of space-separated symbols to be *always*
+  # included in the symbol list
+  _LT_TAGVAR(include_expsyms, $1)=
+  # exclude_expsyms can be an extended regexp of symbols to exclude
+  # it will be wrapped by ` (' and `)$', so one must not match beginning or
+  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
+  # as well as any symbol that contains `d'.
+  _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
+  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
+  # platforms (ab)use it in PIC code, but their linkers get confused if
+  # the symbol is explicitly referenced.  Since portable code cannot
+  # rely on this symbol name, it's probably fine to never include it in
+  # preloaded symbol tables.
+  # Exclude shared library initialization/finalization symbols.
+dnl Note also adjust exclude_expsyms for C++ above.
+  extract_expsyms_cmds=
+
+  case $host_os in
+  cygwin* | mingw* | pw32* | cegcc*)
+    # FIXME: the MSVC++ port hasn't been tested in a loooong time
+    # When not using gcc, we currently assume that we are using
+    # Microsoft Visual C++.
+    if test "$GCC" != yes; then
+      with_gnu_ld=no
+    fi
+    ;;
+  interix*)
+    # we just hope/assume this is gcc and not c89 (= MSVC++)
+    with_gnu_ld=yes
+    ;;
+  openbsd*)
+    with_gnu_ld=no
+    ;;
+  linux* | k*bsd*-gnu)
+    _LT_TAGVAR(link_all_deplibs, $1)=no
+    ;;
+  esac
+
+  _LT_TAGVAR(ld_shlibs, $1)=yes
+  if test "$with_gnu_ld" = yes; then
+    # If archive_cmds runs LD, not CC, wlarc should be empty
+    wlarc='${wl}'
+
+    # Set some defaults for GNU ld with shared library support. These
+    # are reset later if shared libraries are not supported. Putting them
+    # here allows them to be overridden if necessary.
+    runpath_var=LD_RUN_PATH
+    _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+    _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+    # ancient GNU ld didn't support --whole-archive et. al.
+    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
+      _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+    else
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+    supports_anon_versioning=no
+    case `$LD -v 2>&1` in
+      *GNU\ gold*) supports_anon_versioning=yes ;;
+      *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
+      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
+      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
+      *\ 2.11.*) ;; # other 2.11 versions
+      *) supports_anon_versioning=yes ;;
+    esac
+
+    # See if GNU ld supports shared libraries.
+    case $host_os in
+    aix[[3-9]]*)
+      # On AIX/PPC, the GNU linker is very broken
+      if test "$host_cpu" != ia64; then
+       _LT_TAGVAR(ld_shlibs, $1)=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: the GNU linker, at least up to release 2.9.1, is reported
+*** to be unable to reliably create shared libraries on AIX.
+*** Therefore, libtool is disabling shared libraries support.  If you
+*** really care for shared libraries, you may want to modify your PATH
+*** so that a non-GNU linker is found, and then restart.
+
+_LT_EOF
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    beos*)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+       # support --undefined.  This deserves some investigation.  FIXME
+       _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+      else
+       _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+      # as there is no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=no
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
+
+      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+       # If the export-symbols file already is a .def file (1st line
+       # is EXPORTS), use it as is; otherwise, prepend...
+       _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+         cp $export_symbols $output_objdir/$soname.def;
+       else
+         echo EXPORTS > $output_objdir/$soname.def;
+         cat $export_symbols >> $output_objdir/$soname.def;
+       fi~
+       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+      else
+       _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    interix[[3-9]]*)
+      _LT_TAGVAR(hardcode_direct, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+      # Instead, shared libraries are loaded at an image base (0x10000000 by
+      # default) and relocated if they conflict, which is a slow very memory
+      # consuming and fragmenting process.  To avoid this, we pick a random,
+      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+      ;;
+
+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
+      tmp_diet=no
+      if test "$host_os" = linux-dietlibc; then
+       case $cc_basename in
+         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
+       esac
+      fi
+      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
+        && test "$tmp_diet" = no
+      then
+       tmp_addflag=
+       tmp_sharedflag='-shared'
+       case $cc_basename,$host_cpu in
+        pgcc*)                         # Portland Group C compiler
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag'
+         ;;
+       pgf77* | pgf90* | pgf95*)       # Portland Group f77 and f90 compilers
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         tmp_addflag=' $pic_flag -Mnomain' ;;
+       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
+         tmp_addflag=' -i_dynamic' ;;
+       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
+         tmp_addflag=' -i_dynamic -nofor_main' ;;
+       ifc* | ifort*)                  # Intel Fortran compiler
+         tmp_addflag=' -nofor_main' ;;
+       lf95*)                          # Lahey Fortran 8.1
+         _LT_TAGVAR(whole_archive_flag_spec, $1)=
+         tmp_sharedflag='--shared' ;;
+       xl[[cC]]*)                      # IBM XL C 8.0 on PPC (deal with xlf below)
+         tmp_sharedflag='-qmkshrobj'
+         tmp_addflag= ;;
+       esac
+       case `$CC -V 2>&1 | sed 5q` in
+       *Sun\ C*)                       # Sun C 5.9
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+         _LT_TAGVAR(compiler_needs_object, $1)=yes
+         tmp_sharedflag='-G' ;;
+       *Sun\ F*)                       # Sun Fortran 8.3
+         tmp_sharedflag='-G' ;;
+       esac
+       _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+
+        if test "x$supports_anon_versioning" = xyes; then
+          _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+           echo "local: *; };" >> $output_objdir/$libname.ver~
+           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+        fi
+
+       case $cc_basename in
+       xlf*)
+         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+         _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
+         _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
+         if test "x$supports_anon_versioning" = xyes; then
+           _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+             echo "local: *; };" >> $output_objdir/$libname.ver~
+             $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
+         fi
+         ;;
+       esac
+      else
+        _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    netbsd* | netbsdelf*-gnu)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
+       wlarc=
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      fi
+      ;;
+
+    solaris*)
+      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
+       _LT_TAGVAR(ld_shlibs, $1)=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: The releases 2.8.* of the GNU linker cannot reliably
+*** create shared libraries on Solaris systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.9.1 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+       _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
+      case `$LD -v 2>&1` in
+        *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
+       _LT_TAGVAR(ld_shlibs, $1)=no
+       cat <<_LT_EOF 1>&2
+
+*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
+*** reliably create shared libraries on SCO systems.  Therefore, libtool
+*** is disabling shared libraries support.  We urge you to upgrade GNU
+*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
+*** your PATH or compiler configuration so that the native linker is
+*** used, and then restart.
+
+_LT_EOF
+       ;;
+       *)
+         # For security reasons, it is highly recommended that you always
+         # use absolute paths for naming shared libraries, and exclude the
+         # DT_RUNPATH tag from executables and libraries.  But doing so
+         # requires that you compile everything twice, which is a pain.
+         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+         else
+           _LT_TAGVAR(ld_shlibs, $1)=no
+         fi
+       ;;
+      esac
+      ;;
+
+    sunos4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      wlarc=
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+      else
+       _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+    esac
+
+    if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
+      runpath_var=
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=
+      _LT_TAGVAR(whole_archive_flag_spec, $1)=
+    fi
+  else
+    # PORTME fill in a description of your system's linker (not GNU ld)
+    case $host_os in
+    aix3*)
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
+      # Note: this linker hardcodes the directories in LIBPATH if there
+      # are no directories specified by -L.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
+       # Neither direct hardcoding nor static linking is supported with a
+       # broken collect2.
+       _LT_TAGVAR(hardcode_direct, $1)=unsupported
+      fi
+      ;;
+
+    aix[[4-9]]*)
+      if test "$host_cpu" = ia64; then
+       # On IA64, the linker does run time linking by default, so we don't
+       # have to do anything special.
+       aix_use_runtimelinking=no
+       exp_sym_flag='-Bexport'
+       no_entry_flag=""
+      else
+       # If we're using GNU nm, then we don't want the "-C" option.
+       # -C means demangle to AIX nm, but means don't demangle with GNU nm
+       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
+         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+       else
+         _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
+       fi
+       aix_use_runtimelinking=no
+
+       # Test if we are trying to use run time linking or normal
+       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+       # need to do runtime linking.
+       case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+         for ld_flag in $LDFLAGS; do
+         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
+           aix_use_runtimelinking=yes
+           break
+         fi
+         done
+         ;;
+       esac
+
+       exp_sym_flag='-bexport'
+       no_entry_flag='-bnoentry'
+      fi
+
+      # When large executables or shared objects are built, AIX ld can
+      # have problems creating the table of contents.  If linking a library
+      # or program results in "error TOC overflow" add -mminimal-toc to
+      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+      _LT_TAGVAR(archive_cmds, $1)=''
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+      if test "$GCC" = yes; then
+       case $host_os in aix4.[[012]]|aix4.[[012]].*)
+       # We only want to do this on AIX 4.2 and lower, the check
+       # below for broken collect2 doesn't work under 4.3+
+         collect2name=`${CC} -print-prog-name=collect2`
+         if test -f "$collect2name" &&
+          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+         then
+         # We have reworked collect2
+         :
+         else
+         # We have old collect2
+         _LT_TAGVAR(hardcode_direct, $1)=unsupported
+         # It fails to find uninstalled libraries when the uninstalled
+         # path is not listed in the libpath.  Setting hardcode_minus_L
+         # to unsupported forces relinking
+         _LT_TAGVAR(hardcode_minus_L, $1)=yes
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+         _LT_TAGVAR(hardcode_libdir_separator, $1)=
+         fi
+         ;;
+       esac
+       shared_flag='-shared'
+       if test "$aix_use_runtimelinking" = yes; then
+         shared_flag="$shared_flag "'${wl}-G'
+       fi
+       _LT_TAGVAR(link_all_deplibs, $1)=no
+      else
+       # not using gcc
+       if test "$host_cpu" = ia64; then
+       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+       # chokes on -Wl,-G. The following line is correct:
+         shared_flag='-G'
+       else
+         if test "$aix_use_runtimelinking" = yes; then
+           shared_flag='${wl}-G'
+         else
+           shared_flag='${wl}-bM:SRE'
+         fi
+       fi
+      fi
+
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+      # It seems that -bexpall does not export symbols beginning with
+      # underscore (_), so it is better to generate a list of symbols to export.
+      _LT_TAGVAR(always_export_symbols, $1)=yes
+      if test "$aix_use_runtimelinking" = yes; then
+       # Warning - without using the other runtime loading flags (-brtl),
+       # -berok will link without error, but may produce a broken library.
+       _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+      else
+       if test "$host_cpu" = ia64; then
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+         _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+       else
+        # Determine the default libpath from the value encoded in an
+        # empty executable.
+        _LT_SYS_MODULE_PATH_AIX
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+         # Warning - without using the other run time loading flags,
+         # -berok will link without error, but may produce a broken library.
+         _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+         _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+         # Exported symbols can be pulled into shared objects from archives
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+         _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+         # This is similar to how AIX traditionally builds its shared libraries.
+         _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+       fi
+      fi
+      ;;
+
+    amigaos*)
+      case $host_cpu in
+      powerpc)
+            # see comment about AmigaOS4 .so support
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+            _LT_TAGVAR(archive_expsym_cmds, $1)=''
+        ;;
+      m68k)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes
+        ;;
+      esac
+      ;;
+
+    bsdi[[45]]*)
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
+      ;;
+
+    cygwin* | mingw* | pw32* | cegcc*)
+      # When not using gcc, we currently assume that we are using
+      # Microsoft Visual C++.
+      # hardcode_libdir_flag_spec is actually meaningless, as there is
+      # no search path for DLLs.
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      # Tell ltmain to make .lib files, not .a files.
+      libext=lib
+      # Tell ltmain to make .dll files, not .so files.
+      shrext_cmds=".dll"
+      # FIXME: Setting linknames here is a bad hack.
+      _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      # The linker will automatically build a .lib file if we build a DLL.
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
+      # FIXME: Should let the user specify the lib program.
+      _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
+      _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
+      _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+      ;;
+
+    darwin* | rhapsody*)
+      _LT_DARWIN_LINKER_FEATURES($1)
+      ;;
+
+    dgux*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    freebsd1*)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+
+    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
+    # support.  Future versions do this automatically, but an explicit c++rt0.o
+    # does not break anything, and helps significantly (at the cost of a little
+    # extra space).
+    freebsd2.2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
+    freebsd2*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
+    freebsd* | dragonfly*)
+      _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    hpux9*)
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+
+      # hardcode_minus_L: Not really in the search PATH,
+      # but as the default location of the library.
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+      ;;
+
+    hpux10*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      if test "$with_gnu_ld" = no; then
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+       _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
+       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+       _LT_TAGVAR(hardcode_direct, $1)=yes
+       _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+       # hardcode_minus_L: Not really in the search PATH,
+       # but as the default location of the library.
+       _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      fi
+      ;;
+
+    hpux11*)
+      if test "$GCC" = yes -a "$with_gnu_ld" = no; then
+       case $host_cpu in
+       hppa*64*)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      else
+       case $host_cpu in
+       hppa*64*)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       ia64*)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       esac
+      fi
+      if test "$with_gnu_ld" = no; then
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+       _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+       case $host_cpu in
+       hppa*64*|ia64*)
+         _LT_TAGVAR(hardcode_direct, $1)=no
+         _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+         ;;
+       *)
+         _LT_TAGVAR(hardcode_direct, $1)=yes
+         _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+
+         # hardcode_minus_L: Not really in the search PATH,
+         # but as the default location of the library.
+         _LT_TAGVAR(hardcode_minus_L, $1)=yes
+         ;;
+       esac
+      fi
+      ;;
+
+    irix5* | irix6* | nonstopux*)
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+       # Try to use the -exported_symbol ld option, if it does not
+       # work, assume that -exports_file does not work either and
+       # implicitly export all symbols.
+        save_LDFLAGS="$LDFLAGS"
+        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
+        AC_LINK_IFELSE(int foo(void) {},
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+        )
+        LDFLAGS="$save_LDFLAGS"
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(inherit_rpath, $1)=yes
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    netbsd* | netbsdelf*-gnu)
+      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    newsos6)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *nto* | *qnx*)
+      ;;
+
+    openbsd*)
+      if test -f /usr/libexec/ld.so; then
+       _LT_TAGVAR(hardcode_direct, $1)=yes
+       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+       _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+         _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+       else
+         case $host_os in
+          openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
+            _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+            ;;
+          *)
+            _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+            _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+            ;;
+         esac
+       fi
+      else
+       _LT_TAGVAR(ld_shlibs, $1)=no
+      fi
+      ;;
+
+    os2*)
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+      _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
+      _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
+      ;;
+
+    osf3*)
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+      else
+       _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    osf4* | osf5*)     # as osf3* with the addition of -msym flag
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+      else
+       _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
+       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
+
+       # Both c and cxx compiler support -rpath directly
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+      fi
+      _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+      ;;
+
+    solaris*)
+      _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
+      if test "$GCC" = yes; then
+       wlarc='${wl}'
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+      else
+       case `$CC -V 2>&1` in
+       *"Compilers 5.0"*)
+         wlarc=''
+         _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
+         ;;
+       *)
+         wlarc='${wl}'
+         _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+         ;;
+       esac
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      case $host_os in
+      solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+      *)
+       # The compiler driver will combine and reorder linker options,
+       # but understands `-z linker_flag'.  GCC discards it without `$wl',
+       # but is careful enough not to reorder.
+       # Supported since Solaris 2.6 (maybe 2.5.1?)
+       if test "$GCC" = yes; then
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+       else
+         _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+       fi
+       ;;
+      esac
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      ;;
+
+    sunos4*)
+      if test "x$host_vendor" = xsequent; then
+       # Use $CC to link under sequent, because it throws in some extra .o
+       # files that make .init and .fini sections work.
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
+      fi
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_direct, $1)=yes
+      _LT_TAGVAR(hardcode_minus_L, $1)=yes
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4)
+      case $host_vendor in
+       sni)
+         _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
+       ;;
+       siemens)
+         ## LD is ld it makes a PLAMLIB
+         ## CC just makes a GrossModule.
+         _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
+         _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
+         _LT_TAGVAR(hardcode_direct, $1)=no
+        ;;
+       motorola)
+         _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+         _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
+       ;;
+      esac
+      runpath_var='LD_RUN_PATH'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    sysv4.3*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
+      ;;
+
+    sysv4*MP*)
+      if test -d /usr/nec; then
+       _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+       runpath_var=LD_RUN_PATH
+       hardcode_runpath_var=yes
+       _LT_TAGVAR(ld_shlibs, $1)=yes
+      fi
+      ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    sysv5* | sco3.2v5* | sco5v6*)
+      # Note: We can NOT use -z defs as we might desire, because we do not
+      # link with -lc, and that would cause any symbols used from libc to
+      # always be unresolved, which means just about no library would
+      # ever link correctly.  If we're not using GNU ld we use -z text
+      # though, which does catch some bad symbols but isn't as heavy-handed
+      # as -z defs.
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+      _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+      _LT_TAGVAR(link_all_deplibs, $1)=yes
+      _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+      runpath_var='LD_RUN_PATH'
+
+      if test "$GCC" = yes; then
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      else
+       _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+      fi
+      ;;
+
+    uts4*)
+      _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      ;;
+
+    *)
+      _LT_TAGVAR(ld_shlibs, $1)=no
+      ;;
+    esac
+
+    if test x$host_vendor = xsni; then
+      case $host in
+      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
+       ;;
+      esac
+    fi
+  fi
+])
+AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
+
+_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
+_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
+_LT_DECL([], [extract_expsyms_cmds], [2],
+    [The commands to extract the exported symbol list from a shared archive])
+
+#
+# Do we need to explicitly link libc?
+#
+case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
+x|xyes)
+  # Assume -lc should be added
+  _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+
+  if test "$enable_shared" = yes && test "$GCC" = yes; then
+    case $_LT_TAGVAR(archive_cmds, $1) in
+    *'~'*)
+      # FIXME: we may have to deal with multi-command sequences.
+      ;;
+    '$CC '*)
+      # Test whether the compiler implicitly links with -lc since on some
+      # systems, -lgcc has to come before -lc. If gcc already passes -lc
+      # to ld, don't add -lc before -lgcc.
+      AC_MSG_CHECKING([whether -lc should be explicitly linked in])
+      $RM conftest*
+      echo "$lt_simple_compile_test_code" > conftest.$ac_ext
+
+      if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
+        soname=conftest
+        lib=conftest
+        libobjs=conftest.$ac_objext
+        deplibs=
+        wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
+       pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
+        compiler_flags=-v
+        linker_flags=-v
+        verstring=
+        output_objdir=.
+        libname=conftest
+        lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
+        _LT_TAGVAR(allow_undefined_flag, $1)=
+        if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
+        then
+         _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        else
+         _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+        fi
+        _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
+      else
+        cat conftest.err 1>&5
+      fi
+      $RM conftest*
+      AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
+      ;;
+    esac
+  fi
+  ;;
+esac
+
+_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
+    [Whether or not to add -lc for building shared libraries])
+_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
+    [enable_shared_with_static_runtimes], [0],
+    [Whether or not to disallow shared libs when runtime libs are static])
+_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
+    [Compiler flag to allow reflexive dlopens])
+_LT_TAGDECL([], [whole_archive_flag_spec], [1],
+    [Compiler flag to generate shared objects directly from archives])
+_LT_TAGDECL([], [compiler_needs_object], [1],
+    [Whether the compiler copes with passing no objects directly])
+_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
+    [Create an old-style archive from a shared archive])
+_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
+    [Create a temporary old-style archive to link instead of a shared archive])
+_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
+_LT_TAGDECL([], [archive_expsym_cmds], [2])
+_LT_TAGDECL([], [module_cmds], [2],
+    [Commands used to build a loadable module if different from building
+    a shared archive.])
+_LT_TAGDECL([], [module_expsym_cmds], [2])
+_LT_TAGDECL([], [with_gnu_ld], [1],
+    [Whether we are building with GNU ld or not])
+_LT_TAGDECL([], [allow_undefined_flag], [1],
+    [Flag that allows shared libraries with undefined symbols to be built])
+_LT_TAGDECL([], [no_undefined_flag], [1],
+    [Flag that enforces no undefined symbols])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
+    [Flag to hardcode $libdir into a binary during linking.
+    This must work even if $libdir does not exist])
+_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
+    [[If ld is used when linking, flag to hardcode $libdir into a binary
+    during linking.  This must work even if $libdir does not exist]])
+_LT_TAGDECL([], [hardcode_libdir_separator], [1],
+    [Whether we need a single "-rpath" flag with a separated argument])
+_LT_TAGDECL([], [hardcode_direct], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary])
+_LT_TAGDECL([], [hardcode_direct_absolute], [0],
+    [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
+    DIR into the resulting binary and the resulting library dependency is
+    "absolute", i.e impossible to change by setting ${shlibpath_var} if the
+    library is relocated])
+_LT_TAGDECL([], [hardcode_minus_L], [0],
+    [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
+    [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
+    into the resulting binary])
+_LT_TAGDECL([], [hardcode_automatic], [0],
+    [Set to "yes" if building a shared library automatically hardcodes DIR
+    into the library and all subsequent libraries and executables linked
+    against it])
+_LT_TAGDECL([], [inherit_rpath], [0],
+    [Set to yes if linker adds runtime paths of dependent libraries
+    to runtime path list])
+_LT_TAGDECL([], [link_all_deplibs], [0],
+    [Whether libtool must link a program against all its dependency libraries])
+_LT_TAGDECL([], [fix_srcfile_path], [1],
+    [Fix the shell variable $srcfile for the compiler])
+_LT_TAGDECL([], [always_export_symbols], [0],
+    [Set to "yes" if exported symbols are required])
+_LT_TAGDECL([], [export_symbols_cmds], [2],
+    [The commands to list exported symbols])
+_LT_TAGDECL([], [exclude_expsyms], [1],
+    [Symbols that should not be listed in the preloaded symbols])
+_LT_TAGDECL([], [include_expsyms], [1],
+    [Symbols that must always be exported])
+_LT_TAGDECL([], [prelink_cmds], [2],
+    [Commands necessary for linking programs (against libraries) with templates])
+_LT_TAGDECL([], [file_list_spec], [1],
+    [Specify filename containing input files])
+dnl FIXME: Not yet implemented
+dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
+dnl    [Compiler flag to generate thread safe objects])
+])# _LT_LINKER_SHLIBS
+
+
+# _LT_LANG_C_CONFIG([TAG])
+# ------------------------
+# Ensure that the configuration variables for a C compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_C_CONFIG],
+[m4_require([_LT_DECL_EGREP])dnl
+lt_save_CC="$CC"
+AC_LANG_PUSH(C)
+
+# Source file extension for C test sources.
+ac_ext=c
+
+# Object file extension for compiled C test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="int some_variable = 0;"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='int main(){return(0);}'
+
+_LT_TAG_COMPILER
+# Save the default compiler, since it gets overwritten when the other
+# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
+compiler_DEFAULT=$CC
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_SYS_DYNAMIC_LINKER($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+  LT_SYS_DLOPEN_SELF
+  _LT_CMD_STRIPLIB
+
+  # Report which library types will actually be built
+  AC_MSG_CHECKING([if libtool supports shared libraries])
+  AC_MSG_RESULT([$can_build_shared])
+
+  AC_MSG_CHECKING([whether to build shared libraries])
+  test "$can_build_shared" = "no" && enable_shared=no
+
+  # On AIX, shared libraries and static libraries use the same namespace, and
+  # are all built from PIC.
+  case $host_os in
+  aix3*)
+    test "$enable_shared" = yes && enable_static=no
+    if test -n "$RANLIB"; then
+      archive_cmds="$archive_cmds~\$RANLIB \$lib"
+      postinstall_cmds='$RANLIB $lib'
+    fi
+    ;;
+
+  aix[[4-9]]*)
+    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+      test "$enable_shared" = yes && enable_static=no
+    fi
+    ;;
+  esac
+  AC_MSG_RESULT([$enable_shared])
+
+  AC_MSG_CHECKING([whether to build static libraries])
+  # Make sure either enable_shared or enable_static is yes.
+  test "$enable_shared" = yes || enable_static=yes
+  AC_MSG_RESULT([$enable_static])
+
+  _LT_CONFIG($1)
+fi
+AC_LANG_POP
+CC="$lt_save_CC"
+])# _LT_LANG_C_CONFIG
+
+
+# _LT_PROG_CXX
+# ------------
+# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
+# compiler, we have our own version here.
+m4_defun([_LT_PROG_CXX],
+[
+pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
+AC_PROG_CXX
+if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
+    ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
+    (test "X$CXX" != "Xg++"))) ; then
+  AC_PROG_CXXCPP
+else
+  _lt_caught_CXX_error=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_CXX
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_CXX], [])
+
+
+# _LT_LANG_CXX_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a C++ compiler are suitably
+# defined.  These variables are subsequently used by _LT_CONFIG to write
+# the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_CXX_CONFIG],
+[AC_REQUIRE([_LT_PROG_CXX])dnl
+m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+m4_require([_LT_DECL_EGREP])dnl
+
+AC_LANG_PUSH(C++)
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(compiler_needs_object, $1)=no
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for C++ test sources.
+ac_ext=cpp
+
+# Object file extension for compiled C++ test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the CXX compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_caught_CXX_error" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="int some_variable = 0;"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC=$CC
+  lt_save_LD=$LD
+  lt_save_GCC=$GCC
+  GCC=$GXX
+  lt_save_with_gnu_ld=$with_gnu_ld
+  lt_save_path_LD=$lt_cv_path_LD
+  if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
+    lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
+  else
+    $as_unset lt_cv_prog_gnu_ld
+  fi
+  if test -n "${lt_cv_path_LDCXX+set}"; then
+    lt_cv_path_LD=$lt_cv_path_LDCXX
+  else
+    $as_unset lt_cv_path_LD
+  fi
+  test -z "${LDCXX+set}" || LD=$LDCXX
+  CC=${CXX-"c++"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    # We don't want -fno-exception when compiling C++ code, so set the
+    # no_builtin_flag separately
+    if test "$GXX" = yes; then
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
+    else
+      _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
+    fi
+
+    if test "$GXX" = yes; then
+      # Set up default GNU C++ configuration
+
+      LT_PATH_LD
+
+      # Check if GNU C++ uses GNU ld as the underlying linker, since the
+      # archiving commands below assume that GNU ld is being used.
+      if test "$with_gnu_ld" = yes; then
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+        _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+        # If archive_cmds runs LD, not CC, wlarc should be empty
+        # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
+        #     investigate it a little bit more. (MM)
+        wlarc='${wl}'
+
+        # ancient GNU ld didn't support --whole-archive et. al.
+        if eval "`$CC -print-prog-name=ld` --help 2>&1" |
+         $GREP 'no-whole-archive' > /dev/null; then
+          _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+        else
+          _LT_TAGVAR(whole_archive_flag_spec, $1)=
+        fi
+      else
+        with_gnu_ld=no
+        wlarc=
+
+        # A generic and very simple default shared library creation
+        # command for GNU C++ for the case where it uses the native
+        # linker, instead of GNU ld.  If possible, this setting should
+        # overridden to take advantage of the native linker features on
+        # the platform it is being used on.
+        _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+      fi
+
+      # Commands to make compiler produce verbose output that lists
+      # what "hidden" libraries, object files and flags are used when
+      # linking a shared library.
+      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+    else
+      GXX=no
+      with_gnu_ld=no
+      wlarc=
+    fi
+
+    # PORTME: fill in a description of your system's C++ link characteristics
+    AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
+    _LT_TAGVAR(ld_shlibs, $1)=yes
+    case $host_os in
+      aix3*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+      aix[[4-9]]*)
+        if test "$host_cpu" = ia64; then
+          # On IA64, the linker does run time linking by default, so we don't
+          # have to do anything special.
+          aix_use_runtimelinking=no
+          exp_sym_flag='-Bexport'
+          no_entry_flag=""
+        else
+          aix_use_runtimelinking=no
+
+          # Test if we are trying to use run time linking or normal
+          # AIX style linking. If -brtl is somewhere in LDFLAGS, we
+          # need to do runtime linking.
+          case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
+           for ld_flag in $LDFLAGS; do
+             case $ld_flag in
+             *-brtl*)
+               aix_use_runtimelinking=yes
+               break
+               ;;
+             esac
+           done
+           ;;
+          esac
+
+          exp_sym_flag='-bexport'
+          no_entry_flag='-bnoentry'
+        fi
+
+        # When large executables or shared objects are built, AIX ld can
+        # have problems creating the table of contents.  If linking a library
+        # or program results in "error TOC overflow" add -mminimal-toc to
+        # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
+        # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
+
+        _LT_TAGVAR(archive_cmds, $1)=''
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+        _LT_TAGVAR(link_all_deplibs, $1)=yes
+        _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
+
+        if test "$GXX" = yes; then
+          case $host_os in aix4.[[012]]|aix4.[[012]].*)
+          # We only want to do this on AIX 4.2 and lower, the check
+          # below for broken collect2 doesn't work under 4.3+
+         collect2name=`${CC} -print-prog-name=collect2`
+         if test -f "$collect2name" &&
+            strings "$collect2name" | $GREP resolve_lib_name >/dev/null
+         then
+           # We have reworked collect2
+           :
+         else
+           # We have old collect2
+           _LT_TAGVAR(hardcode_direct, $1)=unsupported
+           # It fails to find uninstalled libraries when the uninstalled
+           # path is not listed in the libpath.  Setting hardcode_minus_L
+           # to unsupported forces relinking
+           _LT_TAGVAR(hardcode_minus_L, $1)=yes
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+           _LT_TAGVAR(hardcode_libdir_separator, $1)=
+         fi
+          esac
+          shared_flag='-shared'
+         if test "$aix_use_runtimelinking" = yes; then
+           shared_flag="$shared_flag "'${wl}-G'
+         fi
+        else
+          # not using gcc
+          if test "$host_cpu" = ia64; then
+         # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
+         # chokes on -Wl,-G. The following line is correct:
+         shared_flag='-G'
+          else
+           if test "$aix_use_runtimelinking" = yes; then
+             shared_flag='${wl}-G'
+           else
+             shared_flag='${wl}-bM:SRE'
+           fi
+          fi
+        fi
+
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
+        # It seems that -bexpall does not export symbols beginning with
+        # underscore (_), so it is better to generate a list of symbols to
+       # export.
+        _LT_TAGVAR(always_export_symbols, $1)=yes
+        if test "$aix_use_runtimelinking" = yes; then
+          # Warning - without using the other runtime loading flags (-brtl),
+          # -berok will link without error, but may produce a broken library.
+          _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
+          # Determine the default libpath from the value encoded in an empty
+          # executable.
+          _LT_SYS_MODULE_PATH_AIX
+          _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+
+          _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
+        else
+          if test "$host_cpu" = ia64; then
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
+           _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
+           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
+          else
+           # Determine the default libpath from the value encoded in an
+           # empty executable.
+           _LT_SYS_MODULE_PATH_AIX
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
+           # Warning - without using the other run time loading flags,
+           # -berok will link without error, but may produce a broken library.
+           _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
+           _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
+           # Exported symbols can be pulled into shared objects from archives
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
+           _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
+           # This is similar to how AIX traditionally builds its shared
+           # libraries.
+           _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
+          fi
+        fi
+        ;;
+
+      beos*)
+       if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
+         _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+         # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
+         # support --undefined.  This deserves some investigation.  FIXME
+         _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+       else
+         _LT_TAGVAR(ld_shlibs, $1)=no
+       fi
+       ;;
+
+      chorus*)
+        case $cc_basename in
+          *)
+         # FIXME: insert proper C++ library support
+         _LT_TAGVAR(ld_shlibs, $1)=no
+         ;;
+        esac
+        ;;
+
+      cygwin* | mingw* | pw32* | cegcc*)
+        # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
+        # as there is no search path for DLLs.
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+        _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
+        _LT_TAGVAR(always_export_symbols, $1)=no
+        _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+
+        if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
+          _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+          # If the export-symbols file already is a .def file (1st line
+          # is EXPORTS), use it as is; otherwise, prepend...
+          _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
+           cp $export_symbols $output_objdir/$soname.def;
+          else
+           echo EXPORTS > $output_objdir/$soname.def;
+           cat $export_symbols >> $output_objdir/$soname.def;
+          fi~
+          $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
+        else
+          _LT_TAGVAR(ld_shlibs, $1)=no
+        fi
+        ;;
+      darwin* | rhapsody*)
+        _LT_DARWIN_LINKER_FEATURES($1)
+       ;;
+
+      dgux*)
+        case $cc_basename in
+          ec++*)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          ghcx*)
+           # Green Hills C++ Compiler
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          *)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+        esac
+        ;;
+
+      freebsd[[12]]*)
+        # C++ shared libraries reported to be fairly broken before
+       # switch to ELF
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      freebsd-elf*)
+        _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+        ;;
+
+      freebsd* | dragonfly*)
+        # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
+        # conventions
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+        ;;
+
+      gnu*)
+        ;;
+
+      hpux9*)
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+        _LT_TAGVAR(hardcode_direct, $1)=yes
+        _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+                                            # but as the default
+                                            # location of the library.
+
+        case $cc_basename in
+          CC*)
+            # FIXME: insert proper C++ library support
+            _LT_TAGVAR(ld_shlibs, $1)=no
+            ;;
+          aCC*)
+            _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            # Commands to make compiler produce verbose output that lists
+            # what "hidden" libraries, object files and flags are used when
+            # linking a shared library.
+            #
+            # There doesn't appear to be a way to prevent this compiler from
+            # explicitly linking system object files so we need to strip them
+            # from the output so that they don't get included in the library
+            # dependencies.
+            output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+            ;;
+          *)
+            if test "$GXX" = yes; then
+              _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+            else
+              # FIXME: insert proper C++ library support
+              _LT_TAGVAR(ld_shlibs, $1)=no
+            fi
+            ;;
+        esac
+        ;;
+
+      hpux10*|hpux11*)
+        if test $with_gnu_ld = no; then
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
+         _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+          case $host_cpu in
+            hppa*64*|ia64*)
+              ;;
+            *)
+             _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+              ;;
+          esac
+        fi
+        case $host_cpu in
+          hppa*64*|ia64*)
+            _LT_TAGVAR(hardcode_direct, $1)=no
+            _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+            ;;
+          *)
+            _LT_TAGVAR(hardcode_direct, $1)=yes
+            _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+            _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
+                                                # but as the default
+                                                # location of the library.
+            ;;
+        esac
+
+        case $cc_basename in
+          CC*)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          aCC*)
+           case $host_cpu in
+             hppa*64*)
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               ;;
+             ia64*)
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               ;;
+             *)
+               _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+               ;;
+           esac
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+          *)
+           if test "$GXX" = yes; then
+             if test $with_gnu_ld = no; then
+               case $host_cpu in
+                 hppa*64*)
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   ;;
+                 ia64*)
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   ;;
+                 *)
+                   _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+                   ;;
+               esac
+             fi
+           else
+             # FIXME: insert proper C++ library support
+             _LT_TAGVAR(ld_shlibs, $1)=no
+           fi
+           ;;
+        esac
+        ;;
+
+      interix[[3-9]]*)
+       _LT_TAGVAR(hardcode_direct, $1)=no
+       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+       # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
+       # Instead, shared libraries are loaded at an image base (0x10000000 by
+       # default) and relocated if they conflict, which is a slow very memory
+       # consuming and fragmenting process.  To avoid this, we pick a random,
+       # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
+       # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
+       _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
+       ;;
+      irix5* | irix6*)
+        case $cc_basename in
+          CC*)
+           # SGI C++
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+
+           # Archives containing C++ object files must be created using
+           # "CC -ar", where "CC" is the IRIX C++ compiler.  This is
+           # necessary to make sure instantiated templates are included
+           # in the archive.
+           _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
+           ;;
+          *)
+           if test "$GXX" = yes; then
+             if test "$with_gnu_ld" = no; then
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+             else
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
+             fi
+           fi
+           _LT_TAGVAR(link_all_deplibs, $1)=yes
+           ;;
+        esac
+        _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+        _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+        _LT_TAGVAR(inherit_rpath, $1)=yes
+        ;;
+
+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
+        case $cc_basename in
+          KCC*)
+           # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+           # KCC will only create a shared library if the output file
+           # ends with ".so" (or ".sl" for HP-UX), so rename the library
+           # to its proper name (with version) after linking.
+           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+
+           # Archives containing C++ object files must be created using
+           # "CC -Bstatic", where "CC" is the KAI C++ compiler.
+           _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
+           ;;
+         icpc* | ecpc* )
+           # Intel C++
+           with_gnu_ld=yes
+           # version 8.0 and above of icpc choke on multiply defined symbols
+           # if we add $predep_objects and $postdep_objects, however 7.1 and
+           # earlier do not add the objects themselves.
+           case `$CC -V 2>&1` in
+             *"Version 7."*)
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+               ;;
+             *)  # Version 8.0 or newer
+               tmp_idyn=
+               case $host_cpu in
+                 ia64*) tmp_idyn=' -i_dynamic';;
+               esac
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+               ;;
+           esac
+           _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
+           ;;
+          pgCC* | pgcpp*)
+            # Portland Group C++ compiler
+           case `$CC -V` in
+           *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
+             _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
+               compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
+             _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
+               $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
+               $RANLIB $oldlib'
+             _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+             _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
+               rm -rf $tpldir~
+               $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
+               $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+             ;;
+           *) # Version 6 will use weak symbols
+             _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
+             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
+             ;;
+           esac
+
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+            ;;
+         cxx*)
+           # Compaq C++
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname  -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
+
+           runpath_var=LD_RUN_PATH
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+           _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+         xl*)
+           # IBM XL 8.0 on PPC, with GNU ld
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+           if test "x$supports_anon_versioning" = xyes; then
+             _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
+               cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
+               echo "local: *; };" >> $output_objdir/$libname.ver~
+               $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
+           fi
+           ;;
+         *)
+           case `$CC -V 2>&1 | sed 5q` in
+           *Sun\ C*)
+             # Sun C++ 5.9
+             _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+             _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+             _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
+             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+             _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
+             _LT_TAGVAR(compiler_needs_object, $1)=yes
+
+             # Not sure whether something based on
+             # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
+             # would be better.
+             output_verbose_link_cmd='echo'
+
+             # Archives containing C++ object files must be created using
+             # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+             # necessary to make sure instantiated templates are included
+             # in the archive.
+             _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+             ;;
+           esac
+           ;;
+       esac
+       ;;
+
+      lynxos*)
+        # FIXME: insert proper C++ library support
+       _LT_TAGVAR(ld_shlibs, $1)=no
+       ;;
+
+      m88k*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+       ;;
+
+      mvs*)
+        case $cc_basename in
+          cxx*)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+         *)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+       esac
+       ;;
+
+      netbsd*)
+        if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
+         _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable  -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
+         wlarc=
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+         _LT_TAGVAR(hardcode_direct, $1)=yes
+         _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+       fi
+       # Workaround some broken pre-1.5 toolchains
+       output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
+       ;;
+
+      *nto* | *qnx*)
+        _LT_TAGVAR(ld_shlibs, $1)=yes
+       ;;
+
+      openbsd2*)
+        # C++ shared libraries are fairly broken
+       _LT_TAGVAR(ld_shlibs, $1)=no
+       ;;
+
+      openbsd*)
+       if test -f /usr/libexec/ld.so; then
+         _LT_TAGVAR(hardcode_direct, $1)=yes
+         _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+         _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
+         _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+         if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
+           _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
+           _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
+         fi
+         output_verbose_link_cmd=echo
+       else
+         _LT_TAGVAR(ld_shlibs, $1)=no
+       fi
+       ;;
+
+      osf3* | osf4* | osf5*)
+        case $cc_basename in
+          KCC*)
+           # Kuck and Associates, Inc. (KAI) C++ Compiler
+
+           # KCC will only create a shared library if the output file
+           # ends with ".so" (or ".sl" for HP-UX), so rename the library
+           # to its proper name (with version) after linking.
+           _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
+
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
+           _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+           # Archives containing C++ object files must be created using
+           # the KAI C++ compiler.
+           case $host in
+             osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
+             *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
+           esac
+           ;;
+          RCC*)
+           # Rational C++ 2.4.1
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          cxx*)
+           case $host in
+             osf3*)
+               _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+               _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+               ;;
+             *)
+               _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
+                 echo "-hidden">> $lib.exp~
+                 $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp  `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
+                 $RM $lib.exp'
+               _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
+               ;;
+           esac
+
+           _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+           # Commands to make compiler produce verbose output that lists
+           # what "hidden" libraries, object files and flags are used when
+           # linking a shared library.
+           #
+           # There doesn't appear to be a way to prevent this compiler from
+           # explicitly linking system object files so we need to strip them
+           # from the output so that they don't get included in the library
+           # dependencies.
+           output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
+           ;;
+         *)
+           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+             _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
+             case $host in
+               osf3*)
+                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 ;;
+               *)
+                 _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+                 ;;
+             esac
+
+             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
+             _LT_TAGVAR(hardcode_libdir_separator, $1)=:
+
+             # Commands to make compiler produce verbose output that lists
+             # what "hidden" libraries, object files and flags are used when
+             # linking a shared library.
+             output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+
+           else
+             # FIXME: insert proper C++ library support
+             _LT_TAGVAR(ld_shlibs, $1)=no
+           fi
+           ;;
+        esac
+        ;;
+
+      psos*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      sunos4*)
+        case $cc_basename in
+          CC*)
+           # Sun C++ 4.x
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          lcc*)
+           # Lucid
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          *)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+        esac
+        ;;
+
+      solaris*)
+        case $cc_basename in
+          CC*)
+           # Sun C++ 4.2, 5.x and Centerline C++
+            _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
+           _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
+           _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag}  -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+             $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+           _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
+           _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+           case $host_os in
+             solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+             *)
+               # The compiler driver will combine and reorder linker options,
+               # but understands `-z linker_flag'.
+               # Supported since Solaris 2.6 (maybe 2.5.1?)
+               _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
+               ;;
+           esac
+           _LT_TAGVAR(link_all_deplibs, $1)=yes
+
+           output_verbose_link_cmd='echo'
+
+           # Archives containing C++ object files must be created using
+           # "CC -xar", where "CC" is the Sun C++ compiler.  This is
+           # necessary to make sure instantiated templates are included
+           # in the archive.
+           _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
+           ;;
+          gcx*)
+           # Green Hills C++ Compiler
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+
+           # The C++ compiler must be used to create the archive.
+           _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
+           ;;
+          *)
+           # GNU C++ compiler with Solaris linker
+           if test "$GXX" = yes && test "$with_gnu_ld" = no; then
+             _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
+             if $CC --version | $GREP -v '^2\.7' > /dev/null; then
+               _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                 $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+               # Commands to make compiler produce verbose output that lists
+               # what "hidden" libraries, object files and flags are used when
+               # linking a shared library.
+               output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+             else
+               # g++ 2.7 appears to require `-G' NOT `-shared' on this
+               # platform.
+               _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+               _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
+                 $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+
+               # Commands to make compiler produce verbose output that lists
+               # what "hidden" libraries, object files and flags are used when
+               # linking a shared library.
+               output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
+             fi
+
+             _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
+             case $host_os in
+               solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
+               *)
+                 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
+                 ;;
+             esac
+           fi
+           ;;
+        esac
+        ;;
+
+    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
+      _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+      _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+      _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+      runpath_var='LD_RUN_PATH'
+
+      case $cc_basename in
+        CC*)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+       *)
+         _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+         ;;
+      esac
+      ;;
+
+      sysv5* | sco3.2v5* | sco5v6*)
+       # Note: We can NOT use -z defs as we might desire, because we do not
+       # link with -lc, and that would cause any symbols used from libc to
+       # always be unresolved, which means just about no library would
+       # ever link correctly.  If we're not using GNU ld we use -z text
+       # though, which does catch some bad symbols but isn't as heavy-handed
+       # as -z defs.
+       _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
+       _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
+       _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+       _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
+       _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
+       _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
+       _LT_TAGVAR(link_all_deplibs, $1)=yes
+       _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
+       runpath_var='LD_RUN_PATH'
+
+       case $cc_basename in
+          CC*)
+           _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           ;;
+         *)
+           _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
+           ;;
+       esac
+      ;;
+
+      tandem*)
+        case $cc_basename in
+          NCC*)
+           # NonStop-UX NCC 3.20
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+          *)
+           # FIXME: insert proper C++ library support
+           _LT_TAGVAR(ld_shlibs, $1)=no
+           ;;
+        esac
+        ;;
+
+      vxworks*)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+
+      *)
+        # FIXME: insert proper C++ library support
+        _LT_TAGVAR(ld_shlibs, $1)=no
+        ;;
+    esac
+
+    AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
+    test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
+
+    _LT_TAGVAR(GCC, $1)="$GXX"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  CC=$lt_save_CC
+  LDCXX=$LD
+  LD=$lt_save_LD
+  GCC=$lt_save_GCC
+  with_gnu_ld=$lt_save_with_gnu_ld
+  lt_cv_path_LDCXX=$lt_cv_path_LD
+  lt_cv_path_LD=$lt_save_path_LD
+  lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
+  lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
+fi # test "$_lt_caught_CXX_error" != yes
+
+AC_LANG_POP
+])# _LT_LANG_CXX_CONFIG
+
+
+# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
+# ---------------------------------
+# Figure out "hidden" library dependencies from verbose
+# compiler output when linking a shared library.
+# Parse the compiler output and extract the necessary
+# objects, libraries and library flags.
+m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
+[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
+# Dependencies to place before and after the object being linked:
+_LT_TAGVAR(predep_objects, $1)=
+_LT_TAGVAR(postdep_objects, $1)=
+_LT_TAGVAR(predeps, $1)=
+_LT_TAGVAR(postdeps, $1)=
+_LT_TAGVAR(compiler_lib_search_path, $1)=
+
+dnl we can't use the lt_simple_compile_test_code here,
+dnl because it contains code intended for an executable,
+dnl not a library.  It's possible we should let each
+dnl tag define a new lt_????_link_test_code variable,
+dnl but it's only used here...
+m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
+int a;
+void foo (void) { a = 0; }
+_LT_EOF
+], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
+class Foo
+{
+public:
+  Foo (void) { a = 0; }
+private:
+  int a;
+};
+_LT_EOF
+], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer*4 a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
+      subroutine foo
+      implicit none
+      integer a
+      a=0
+      return
+      end
+_LT_EOF
+], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
+public class foo {
+  private int a;
+  public void bar (void) {
+    a = 0;
+  }
+};
+_LT_EOF
+])
+dnl Parse the compiler output and extract the necessary
+dnl objects, libraries and library flags.
+if AC_TRY_EVAL(ac_compile); then
+  # Parse the compiler output and extract the necessary
+  # objects, libraries and library flags.
+
+  # Sentinel used to keep track of whether or not we are before
+  # the conftest object file.
+  pre_test_object_deps_done=no
+
+  for p in `eval "$output_verbose_link_cmd"`; do
+    case $p in
+
+    -L* | -R* | -l*)
+       # Some compilers place space between "-{L,R}" and the path.
+       # Remove the space.
+       if test $p = "-L" ||
+          test $p = "-R"; then
+        prev=$p
+        continue
+       else
+        prev=
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+        case $p in
+        -L* | -R*)
+          # Internal compiler library paths should come after those
+          # provided the user.  The postdeps already come after the
+          # user supplied libs so there is no need to process them.
+          if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
+            _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
+          else
+            _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
+          fi
+          ;;
+        # The "-l" case would never come before the object being
+        # linked, so don't bother handling this case.
+        esac
+       else
+        if test -z "$_LT_TAGVAR(postdeps, $1)"; then
+          _LT_TAGVAR(postdeps, $1)="${prev}${p}"
+        else
+          _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
+        fi
+       fi
+       ;;
+
+    *.$objext)
+       # This assumes that the test object file only shows up
+       # once in the compiler output.
+       if test "$p" = "conftest.$objext"; then
+        pre_test_object_deps_done=yes
+        continue
+       fi
+
+       if test "$pre_test_object_deps_done" = no; then
+        if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
+          _LT_TAGVAR(predep_objects, $1)="$p"
+        else
+          _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
+        fi
+       else
+        if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
+          _LT_TAGVAR(postdep_objects, $1)="$p"
+        else
+          _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
+        fi
+       fi
+       ;;
+
+    *) ;; # Ignore the rest.
+
+    esac
+  done
+
+  # Clean up.
+  rm -f a.out a.exe
+else
+  echo "libtool.m4: error: problem compiling $1 test program"
+fi
+
+$RM -f confest.$objext
+
+# PORTME: override above test on systems where it is broken
+m4_if([$1], [CXX],
+[case $host_os in
+interix[[3-9]]*)
+  # Interix 3.5 installs completely hosed .la files for C++, so rather than
+  # hack all around it, let's just trust "g++" to DTRT.
+  _LT_TAGVAR(predep_objects,$1)=
+  _LT_TAGVAR(postdep_objects,$1)=
+  _LT_TAGVAR(postdeps,$1)=
+  ;;
+
+linux*)
+  case `$CC -V 2>&1 | sed 5q` in
+  *Sun\ C*)
+    # Sun C++ 5.9
+
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+
+solaris*)
+  case $cc_basename in
+  CC*)
+    # The more standards-conforming stlport4 library is
+    # incompatible with the Cstd library. Avoid specifying
+    # it if it's in CXXFLAGS. Ignore libCrun as
+    # -library=stlport4 depends on it.
+    case " $CXX $CXXFLAGS " in
+    *" -library=stlport4 "*)
+      solaris_use_stlport4=yes
+      ;;
+    esac
+
+    # Adding this requires a known-good setup of shared libraries for
+    # Sun compiler versions before 5.6, else PIC objects from an old
+    # archive will be linked into the output, leading to subtle bugs.
+    if test "$solaris_use_stlport4" != yes; then
+      _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
+    fi
+    ;;
+  esac
+  ;;
+esac
+])
+
+case " $_LT_TAGVAR(postdeps, $1) " in
+*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
+esac
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=
+if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
+ _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
+fi
+_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
+    [The directories searched by this compiler when creating a shared library])
+_LT_TAGDECL([], [predep_objects], [1],
+    [Dependencies to place before and after the objects being linked to
+    create a shared library])
+_LT_TAGDECL([], [postdep_objects], [1])
+_LT_TAGDECL([], [predeps], [1])
+_LT_TAGDECL([], [postdeps], [1])
+_LT_TAGDECL([], [compiler_lib_search_path], [1],
+    [The library search path used internally by the compiler when linking
+    a shared library])
+])# _LT_SYS_HIDDEN_LIBDEPS
+
+
+# _LT_PROG_F77
+# ------------
+# Since AC_PROG_F77 is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_F77],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
+AC_PROG_F77
+if test -z "$F77" || test "X$F77" = "Xno"; then
+  _lt_disable_F77=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_F77
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_F77], [])
+
+
+# _LT_LANG_F77_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for a Fortran 77 compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_F77_CONFIG],
+[AC_REQUIRE([_LT_PROG_F77])dnl
+AC_LANG_PUSH(Fortran 77)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for f77 test sources.
+ac_ext=f
+
+# Object file extension for compiled f77 test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the F77 compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_F77" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${F77-"f77"}
+  compiler=$CC
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+  GCC=$G77
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+       if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+         test "$enable_shared" = yes && enable_static=no
+       fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$G77"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_F77" != yes
+
+AC_LANG_POP
+])# _LT_LANG_F77_CONFIG
+
+
+# _LT_PROG_FC
+# -----------
+# Since AC_PROG_FC is broken, in that it returns the empty string
+# if there is no fortran compiler, we have our own version here.
+m4_defun([_LT_PROG_FC],
+[
+pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
+AC_PROG_FC
+if test -z "$FC" || test "X$FC" = "Xno"; then
+  _lt_disable_FC=yes
+fi
+popdef([AC_MSG_ERROR])
+])# _LT_PROG_FC
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([_LT_PROG_FC], [])
+
+
+# _LT_LANG_FC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for a Fortran compiler are
+# suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_FC_CONFIG],
+[AC_REQUIRE([_LT_PROG_FC])dnl
+AC_LANG_PUSH(Fortran)
+
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+_LT_TAGVAR(allow_undefined_flag, $1)=
+_LT_TAGVAR(always_export_symbols, $1)=no
+_LT_TAGVAR(archive_expsym_cmds, $1)=
+_LT_TAGVAR(export_dynamic_flag_spec, $1)=
+_LT_TAGVAR(hardcode_direct, $1)=no
+_LT_TAGVAR(hardcode_direct_absolute, $1)=no
+_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
+_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
+_LT_TAGVAR(hardcode_libdir_separator, $1)=
+_LT_TAGVAR(hardcode_minus_L, $1)=no
+_LT_TAGVAR(hardcode_automatic, $1)=no
+_LT_TAGVAR(inherit_rpath, $1)=no
+_LT_TAGVAR(module_cmds, $1)=
+_LT_TAGVAR(module_expsym_cmds, $1)=
+_LT_TAGVAR(link_all_deplibs, $1)=unknown
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+_LT_TAGVAR(no_undefined_flag, $1)=
+_LT_TAGVAR(whole_archive_flag_spec, $1)=
+_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
+
+# Source file extension for fc test sources.
+ac_ext=${ac_fc_srcext-f}
+
+# Object file extension for compiled fc test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# No sense in running all these tests if we already determined that
+# the FC compiler isn't working.  Some variables (like enable_shared)
+# are currently assumed to apply to all compilers on this platform,
+# and will be corrupted by setting them based on a non-working compiler.
+if test "$_lt_disable_FC" != yes; then
+  # Code to be used in simple compile tests
+  lt_simple_compile_test_code="\
+      subroutine t
+      return
+      end
+"
+
+  # Code to be used in simple link tests
+  lt_simple_link_test_code="\
+      program t
+      end
+"
+
+  # ltmain only uses $CC for tagged configurations so make sure $CC is set.
+  _LT_TAG_COMPILER
+
+  # save warnings/boilerplate of simple test code
+  _LT_COMPILER_BOILERPLATE
+  _LT_LINKER_BOILERPLATE
+
+  # Allow CC to be a program name with arguments.
+  lt_save_CC="$CC"
+  lt_save_GCC=$GCC
+  CC=${FC-"f95"}
+  compiler=$CC
+  GCC=$ac_cv_fc_compiler_gnu
+
+  _LT_TAGVAR(compiler, $1)=$CC
+  _LT_CC_BASENAME([$compiler])
+
+  if test -n "$compiler"; then
+    AC_MSG_CHECKING([if libtool supports shared libraries])
+    AC_MSG_RESULT([$can_build_shared])
+
+    AC_MSG_CHECKING([whether to build shared libraries])
+    test "$can_build_shared" = "no" && enable_shared=no
+
+    # On AIX, shared libraries and static libraries use the same namespace, and
+    # are all built from PIC.
+    case $host_os in
+      aix3*)
+        test "$enable_shared" = yes && enable_static=no
+        if test -n "$RANLIB"; then
+          archive_cmds="$archive_cmds~\$RANLIB \$lib"
+          postinstall_cmds='$RANLIB $lib'
+        fi
+        ;;
+      aix[[4-9]]*)
+       if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
+         test "$enable_shared" = yes && enable_static=no
+       fi
+        ;;
+    esac
+    AC_MSG_RESULT([$enable_shared])
+
+    AC_MSG_CHECKING([whether to build static libraries])
+    # Make sure either enable_shared or enable_static is yes.
+    test "$enable_shared" = yes || enable_static=yes
+    AC_MSG_RESULT([$enable_static])
+
+    _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
+    _LT_TAGVAR(LD, $1)="$LD"
+
+    ## CAVEAT EMPTOR:
+    ## There is no encapsulation within the following macros, do not change
+    ## the running order or otherwise move them around unless you know exactly
+    ## what you are doing...
+    _LT_SYS_HIDDEN_LIBDEPS($1)
+    _LT_COMPILER_PIC($1)
+    _LT_COMPILER_C_O($1)
+    _LT_COMPILER_FILE_LOCKS($1)
+    _LT_LINKER_SHLIBS($1)
+    _LT_SYS_DYNAMIC_LINKER($1)
+    _LT_LINKER_HARDCODE_LIBPATH($1)
+
+    _LT_CONFIG($1)
+  fi # test -n "$compiler"
+
+  GCC=$lt_save_GCC
+  CC="$lt_save_CC"
+fi # test "$_lt_disable_FC" != yes
+
+AC_LANG_POP
+])# _LT_LANG_FC_CONFIG
+
+
+# _LT_LANG_GCJ_CONFIG([TAG])
+# --------------------------
+# Ensure that the configuration variables for the GNU Java Compiler compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_GCJ_CONFIG],
+[AC_REQUIRE([LT_PROG_GCJ])dnl
+AC_LANG_SAVE
+
+# Source file extension for Java test sources.
+ac_ext=java
+
+# Object file extension for compiled Java test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code="class foo {}"
+
+# Code to be used in simple link tests
+lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=yes
+CC=${GCJ-"gcj"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_TAGVAR(LD, $1)="$LD"
+_LT_CC_BASENAME([$compiler])
+
+# GCJ did not exist at the time GCC didn't implicitly link libc in.
+_LT_TAGVAR(archive_cmds_need_lc, $1)=no
+
+_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
+
+## CAVEAT EMPTOR:
+## There is no encapsulation within the following macros, do not change
+## the running order or otherwise move them around unless you know exactly
+## what you are doing...
+if test -n "$compiler"; then
+  _LT_COMPILER_NO_RTTI($1)
+  _LT_COMPILER_PIC($1)
+  _LT_COMPILER_C_O($1)
+  _LT_COMPILER_FILE_LOCKS($1)
+  _LT_LINKER_SHLIBS($1)
+  _LT_LINKER_HARDCODE_LIBPATH($1)
+
+  _LT_CONFIG($1)
+fi
+
+AC_LANG_RESTORE
+
+GCC=$lt_save_GCC
+CC="$lt_save_CC"
+])# _LT_LANG_GCJ_CONFIG
+
+
+# _LT_LANG_RC_CONFIG([TAG])
+# -------------------------
+# Ensure that the configuration variables for the Windows resource compiler
+# are suitably defined.  These variables are subsequently used by _LT_CONFIG
+# to write the compiler configuration to `libtool'.
+m4_defun([_LT_LANG_RC_CONFIG],
+[AC_REQUIRE([LT_PROG_RC])dnl
+AC_LANG_SAVE
+
+# Source file extension for RC test sources.
+ac_ext=rc
+
+# Object file extension for compiled RC test sources.
+objext=o
+_LT_TAGVAR(objext, $1)=$objext
+
+# Code to be used in simple compile tests
+lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
+
+# Code to be used in simple link tests
+lt_simple_link_test_code="$lt_simple_compile_test_code"
+
+# ltmain only uses $CC for tagged configurations so make sure $CC is set.
+_LT_TAG_COMPILER
+
+# save warnings/boilerplate of simple test code
+_LT_COMPILER_BOILERPLATE
+_LT_LINKER_BOILERPLATE
+
+# Allow CC to be a program name with arguments.
+lt_save_CC="$CC"
+lt_save_GCC=$GCC
+GCC=
+CC=${RC-"windres"}
+compiler=$CC
+_LT_TAGVAR(compiler, $1)=$CC
+_LT_CC_BASENAME([$compiler])
+_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
+
+if test -n "$compiler"; then
+  :
+  _LT_CONFIG($1)
+fi
+
+GCC=$lt_save_GCC
+AC_LANG_RESTORE
+CC="$lt_save_CC"
+])# _LT_LANG_RC_CONFIG
+
+
+# LT_PROG_GCJ
+# -----------
+AC_DEFUN([LT_PROG_GCJ],
+[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
+  [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
+    [AC_CHECK_TOOL(GCJ, gcj,)
+      test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
+      AC_SUBST(GCJFLAGS)])])[]dnl
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
+
+
+# LT_PROG_RC
+# ----------
+AC_DEFUN([LT_PROG_RC],
+[AC_CHECK_TOOL(RC, windres,)
+])
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_RC], [])
+
+
+# _LT_DECL_EGREP
+# --------------
+# If we don't have a new enough Autoconf to choose the best grep
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_EGREP],
+[AC_REQUIRE([AC_PROG_EGREP])dnl
+AC_REQUIRE([AC_PROG_FGREP])dnl
+test -z "$GREP" && GREP=grep
+_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
+_LT_DECL([], [EGREP], [1], [An ERE matcher])
+_LT_DECL([], [FGREP], [1], [A literal string matcher])
+dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
+AC_SUBST([GREP])
+])
+
+
+# _LT_DECL_OBJDUMP
+# --------------
+# If we don't have a new enough Autoconf to choose the best objdump
+# available, choose the one first in the user's PATH.
+m4_defun([_LT_DECL_OBJDUMP],
+[AC_CHECK_TOOL(OBJDUMP, objdump, false)
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
+AC_SUBST([OBJDUMP])
+])
+
+
+# _LT_DECL_SED
+# ------------
+# Check for a fully-functional sed program, that truncates
+# as few characters as possible.  Prefer GNU sed if found.
+m4_defun([_LT_DECL_SED],
+[AC_PROG_SED
+test -z "$SED" && SED=sed
+Xsed="$SED -e 1s/^X//"
+_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
+_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
+    [Sed that helps us avoid accidentally triggering echo(1) options like -n])
+])# _LT_DECL_SED
+
+m4_ifndef([AC_PROG_SED], [
+############################################################
+# NOTE: This macro has been submitted for inclusion into   #
+#  GNU Autoconf as AC_PROG_SED.  When it is available in   #
+#  a released version of Autoconf we should remove this    #
+#  macro and use it instead.                               #
+############################################################
+
+m4_defun([AC_PROG_SED],
+[AC_MSG_CHECKING([for a sed that does not truncate output])
+AC_CACHE_VAL(lt_cv_path_SED,
+[# Loop through the user's path and test for sed and gsed.
+# Then use that list of sed's as ones to test for truncation.
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for lt_ac_prog in sed gsed; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
+        lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
+      fi
+    done
+  done
+done
+IFS=$as_save_IFS
+lt_ac_max=0
+lt_ac_count=0
+# Add /usr/xpg4/bin/sed as it is typically found on Solaris
+# along with /bin/sed that truncates output.
+for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
+  test ! -f $lt_ac_sed && continue
+  cat /dev/null > conftest.in
+  lt_ac_count=0
+  echo $ECHO_N "0123456789$ECHO_C" >conftest.in
+  # Check for GNU sed and select it if it is found.
+  if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
+    lt_cv_path_SED=$lt_ac_sed
+    break
+  fi
+  while true; do
+    cat conftest.in conftest.in >conftest.tmp
+    mv conftest.tmp conftest.in
+    cp conftest.in conftest.nl
+    echo >>conftest.nl
+    $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
+    cmp -s conftest.out conftest.nl || break
+    # 10000 chars as input seems more than enough
+    test $lt_ac_count -gt 10 && break
+    lt_ac_count=`expr $lt_ac_count + 1`
+    if test $lt_ac_count -gt $lt_ac_max; then
+      lt_ac_max=$lt_ac_count
+      lt_cv_path_SED=$lt_ac_sed
+    fi
+  done
+done
+])
+SED=$lt_cv_path_SED
+AC_SUBST([SED])
+AC_MSG_RESULT([$SED])
+])#AC_PROG_SED
+])#m4_ifndef
+
+# Old name:
+AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([LT_AC_PROG_SED], [])
+
+
+# _LT_CHECK_SHELL_FEATURES
+# ------------------------
+# Find out whether the shell is Bourne or XSI compatible,
+# or has some other useful features.
+m4_defun([_LT_CHECK_SHELL_FEATURES],
+[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
+# Try some XSI features
+xsi_shell=no
+( _lt_dummy="a/b/c"
+  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
+      = c,a/b,, \
+    && eval 'test $(( 1 + 1 )) -eq 2 \
+    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
+  && xsi_shell=yes
+AC_MSG_RESULT([$xsi_shell])
+_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
+
+AC_MSG_CHECKING([whether the shell understands "+="])
+lt_shell_append=no
+( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
+    >/dev/null 2>&1 \
+  && lt_shell_append=yes
+AC_MSG_RESULT([$lt_shell_append])
+_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
+
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+  lt_unset=unset
+else
+  lt_unset=false
+fi
+_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
+
+# test EBCDIC or ASCII
+case `echo X|tr X '\101'` in
+ A) # ASCII based system
+    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
+  lt_SP2NL='tr \040 \012'
+  lt_NL2SP='tr \015\012 \040\040'
+  ;;
+ *) # EBCDIC based system
+  lt_SP2NL='tr \100 \n'
+  lt_NL2SP='tr \r\n \100\100'
+  ;;
+esac
+_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
+_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
+])# _LT_CHECK_SHELL_FEATURES
+
+
+# _LT_PROG_XSI_SHELLFNS
+# ---------------------
+# Bourne and XSI compatible variants of some useful shell functions.
+m4_defun([_LT_PROG_XSI_SHELLFNS],
+[case $xsi_shell in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result="${1##*/}"
+}
+
+# func_dirname_and_basename file append nondir_replacement
+# perform func_basename and func_dirname in a single function
+# call:
+#   dirname:  Compute the dirname of FILE.  If nonempty,
+#             add APPEND to the result, otherwise set result
+#             to NONDIR_REPLACEMENT.
+#             value returned in "$func_dirname_result"
+#   basename: Compute filename of FILE.
+#             value retuned in "$func_basename_result"
+# Implementation must be kept synchronized with func_dirname
+# and func_basename. For efficiency, we do not delegate to
+# those functions but instead duplicate the functionality here.
+func_dirname_and_basename ()
+{
+  case ${1} in
+    */*) func_dirname_result="${1%/*}${2}" ;;
+    *  ) func_dirname_result="${3}" ;;
+  esac
+  func_basename_result="${1##*/}"
+}
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+func_stripname ()
+{
+  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
+  # positional parameters, so assign one to ordinary parameter first.
+  func_stripname_result=${3}
+  func_stripname_result=${func_stripname_result#"${1}"}
+  func_stripname_result=${func_stripname_result%"${2}"}
+}
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=${1%%=*}
+  func_opt_split_arg=${1#*=}
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  case ${1} in
+    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
+    *)    func_lo2o_result=${1} ;;
+  esac
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=${1%.*}.lo
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=$(( $[*] ))
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=${#1}
+}
+
+_LT_EOF
+    ;;
+  *) # Bourne compatible functions.
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_dirname file append nondir_replacement
+# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
+# otherwise set result to NONDIR_REPLACEMENT.
+func_dirname ()
+{
+  # Extract subdirectory from the argument.
+  func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
+  if test "X$func_dirname_result" = "X${1}"; then
+    func_dirname_result="${3}"
+  else
+    func_dirname_result="$func_dirname_result${2}"
+  fi
+}
+
+# func_basename file
+func_basename ()
+{
+  func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
+}
+
+dnl func_dirname_and_basename
+dnl A portable version of this function is already defined in general.m4sh
+dnl so there is no need for it here.
+
+# func_stripname prefix suffix name
+# strip PREFIX and SUFFIX off of NAME.
+# PREFIX and SUFFIX must not contain globbing or regex special
+# characters, hashes, percent signs, but SUFFIX may contain a leading
+# dot (in which case that matches only a dot).
+# func_strip_suffix prefix name
+func_stripname ()
+{
+  case ${2} in
+    .*) func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
+    *)  func_stripname_result=`$ECHO "X${3}" \
+           | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
+  esac
+}
+
+# sed scripts:
+my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
+my_sed_long_arg='1s/^-[[^=]]*=//'
+
+# func_opt_split
+func_opt_split ()
+{
+  func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
+  func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
+}
+
+# func_lo2o object
+func_lo2o ()
+{
+  func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
+}
+
+# func_xform libobj-or-source
+func_xform ()
+{
+  func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
+}
+
+# func_arith arithmetic-term...
+func_arith ()
+{
+  func_arith_result=`expr "$[@]"`
+}
+
+# func_len string
+# STRING may not start with a hyphen.
+func_len ()
+{
+  func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
+}
+
+_LT_EOF
+esac
+
+case $lt_shell_append in
+  yes)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]+=\$[2]"
+}
+_LT_EOF
+    ;;
+  *)
+    cat << \_LT_EOF >> "$cfgfile"
+
+# func_append var value
+# Append VALUE to the end of shell variable VAR.
+func_append ()
+{
+  eval "$[1]=\$$[1]\$[2]"
+}
+
+_LT_EOF
+    ;;
+  esac
+])
diff --git a/m4/ltoptions.m4 b/m4/ltoptions.m4
new file mode 100644 (file)
index 0000000..34151a3
--- /dev/null
@@ -0,0 +1,368 @@
+# Helper functions for option handling.                    -*- Autoconf -*-
+#
+#   Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+#   Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltoptions.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
+
+
+# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
+# ------------------------------------------
+m4_define([_LT_MANGLE_OPTION],
+[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
+
+
+# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
+# ---------------------------------------
+# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
+# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
+# saved as a flag.
+m4_define([_LT_SET_OPTION],
+[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
+m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
+        _LT_MANGLE_DEFUN([$1], [$2]),
+    [m4_warning([Unknown $1 option `$2'])])[]dnl
+])
+
+
+# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
+# ------------------------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+m4_define([_LT_IF_OPTION],
+[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
+
+
+# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
+# -------------------------------------------------------
+# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
+# are set.
+m4_define([_LT_UNLESS_OPTIONS],
+[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+           [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
+                     [m4_define([$0_found])])])[]dnl
+m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
+])[]dnl
+])
+
+
+# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
+# ----------------------------------------
+# OPTION-LIST is a space-separated list of Libtool options associated
+# with MACRO-NAME.  If any OPTION has a matching handler declared with
+# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
+# the unknown option and exit.
+m4_defun([_LT_SET_OPTIONS],
+[# Set options
+m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
+    [_LT_SET_OPTION([$1], _LT_Option)])
+
+m4_if([$1],[LT_INIT],[
+  dnl
+  dnl Simply set some default values (i.e off) if boolean options were not
+  dnl specified:
+  _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
+  ])
+  _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
+  ])
+  dnl
+  dnl If no reference was made to various pairs of opposing options, then
+  dnl we run the default mode handler for the pair.  For example, if neither
+  dnl `shared' nor `disable-shared' was passed, we enable building of shared
+  dnl archives by default:
+  _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
+  _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
+  _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
+                  [_LT_ENABLE_FAST_INSTALL])
+  ])
+])# _LT_SET_OPTIONS
+
+
+## --------------------------------- ##
+## Macros to handle LT_INIT options. ##
+## --------------------------------- ##
+
+# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
+# -----------------------------------------
+m4_define([_LT_MANGLE_DEFUN],
+[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
+
+
+# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
+# -----------------------------------------------
+m4_define([LT_OPTION_DEFINE],
+[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
+])# LT_OPTION_DEFINE
+
+
+# dlopen
+# ------
+LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
+])
+
+AU_DEFUN([AC_LIBTOOL_DLOPEN],
+[_LT_SET_OPTION([LT_INIT], [dlopen])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `dlopen' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
+
+
+# win32-dll
+# ---------
+# Declare package support for building win32 dll's.
+LT_OPTION_DEFINE([LT_INIT], [win32-dll],
+[enable_win32_dll=yes
+
+case $host in
+*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
+  AC_CHECK_TOOL(AS, as, false)
+  AC_CHECK_TOOL(DLLTOOL, dlltool, false)
+  AC_CHECK_TOOL(OBJDUMP, objdump, false)
+  ;;
+esac
+
+test -z "$AS" && AS=as
+_LT_DECL([], [AS],      [0], [Assembler program])dnl
+
+test -z "$DLLTOOL" && DLLTOOL=dlltool
+_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
+
+test -z "$OBJDUMP" && OBJDUMP=objdump
+_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
+])# win32-dll
+
+AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
+[AC_REQUIRE([AC_CANONICAL_HOST])dnl
+_LT_SET_OPTION([LT_INIT], [win32-dll])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `win32-dll' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
+
+
+# _LT_ENABLE_SHARED([DEFAULT])
+# ----------------------------
+# implement the --enable-shared flag, and supports the `shared' and
+# `disable-shared' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_SHARED],
+[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([shared],
+    [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
+       [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_shared=yes ;;
+    no) enable_shared=no ;;
+    *)
+      enable_shared=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_shared=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
+
+    _LT_DECL([build_libtool_libs], [enable_shared], [0],
+       [Whether or not to build shared libraries])
+])# _LT_ENABLE_SHARED
+
+LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
+])
+
+AC_DEFUN([AC_DISABLE_SHARED],
+[_LT_SET_OPTION([LT_INIT], [disable-shared])
+])
+
+AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
+AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_SHARED], [])
+dnl AC_DEFUN([AM_DISABLE_SHARED], [])
+
+
+
+# _LT_ENABLE_STATIC([DEFAULT])
+# ----------------------------
+# implement the --enable-static flag, and support the `static' and
+# `disable-static' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_STATIC],
+[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([static],
+    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
+       [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_static=yes ;;
+    no) enable_static=no ;;
+    *)
+     enable_static=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_static=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
+
+    _LT_DECL([build_old_libs], [enable_static], [0],
+       [Whether or not to build static libraries])
+])# _LT_ENABLE_STATIC
+
+LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
+
+# Old names:
+AC_DEFUN([AC_ENABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
+])
+
+AC_DEFUN([AC_DISABLE_STATIC],
+[_LT_SET_OPTION([LT_INIT], [disable-static])
+])
+
+AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
+AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AM_ENABLE_STATIC], [])
+dnl AC_DEFUN([AM_DISABLE_STATIC], [])
+
+
+
+# _LT_ENABLE_FAST_INSTALL([DEFAULT])
+# ----------------------------------
+# implement the --enable-fast-install flag, and support the `fast-install'
+# and `disable-fast-install' LT_INIT options.
+# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
+m4_define([_LT_ENABLE_FAST_INSTALL],
+[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
+AC_ARG_ENABLE([fast-install],
+    [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
+    [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
+    [p=${PACKAGE-default}
+    case $enableval in
+    yes) enable_fast_install=yes ;;
+    no) enable_fast_install=no ;;
+    *)
+      enable_fast_install=no
+      # Look at the argument we got.  We use all the common list separators.
+      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
+      for pkg in $enableval; do
+       IFS="$lt_save_ifs"
+       if test "X$pkg" = "X$p"; then
+         enable_fast_install=yes
+       fi
+      done
+      IFS="$lt_save_ifs"
+      ;;
+    esac],
+    [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
+
+_LT_DECL([fast_install], [enable_fast_install], [0],
+        [Whether or not to optimize for fast installation])dnl
+])# _LT_ENABLE_FAST_INSTALL
+
+LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
+LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
+
+# Old names:
+AU_DEFUN([AC_ENABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `fast-install' option into LT_INIT's first parameter.])
+])
+
+AU_DEFUN([AC_DISABLE_FAST_INSTALL],
+[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you put
+the `disable-fast-install' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
+dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
+
+
+# _LT_WITH_PIC([MODE])
+# --------------------
+# implement the --with-pic flag, and support the `pic-only' and `no-pic'
+# LT_INIT options.
+# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
+m4_define([_LT_WITH_PIC],
+[AC_ARG_WITH([pic],
+    [AS_HELP_STRING([--with-pic],
+       [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
+    [pic_mode="$withval"],
+    [pic_mode=default])
+
+test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
+
+_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
+])# _LT_WITH_PIC
+
+LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
+LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
+
+# Old name:
+AU_DEFUN([AC_LIBTOOL_PICMODE],
+[_LT_SET_OPTION([LT_INIT], [pic-only])
+AC_DIAGNOSE([obsolete],
+[$0: Remove this warning and the call to _LT_SET_OPTION when you
+put the `pic-only' option into LT_INIT's first parameter.])
+])
+
+dnl aclocal-1.4 backwards compatibility:
+dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
+
+## ----------------- ##
+## LTDL_INIT Options ##
+## ----------------- ##
+
+m4_define([_LTDL_MODE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
+                [m4_define([_LTDL_MODE], [nonrecursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [recursive],
+                [m4_define([_LTDL_MODE], [recursive])])
+LT_OPTION_DEFINE([LTDL_INIT], [subproject],
+                [m4_define([_LTDL_MODE], [subproject])])
+
+m4_define([_LTDL_TYPE], [])
+LT_OPTION_DEFINE([LTDL_INIT], [installable],
+                [m4_define([_LTDL_TYPE], [installable])])
+LT_OPTION_DEFINE([LTDL_INIT], [convenience],
+                [m4_define([_LTDL_TYPE], [convenience])])
diff --git a/m4/ltsugar.m4 b/m4/ltsugar.m4
new file mode 100644 (file)
index 0000000..9000a05
--- /dev/null
@@ -0,0 +1,123 @@
+# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
+#
+# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
+# Written by Gary V. Vaughan, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 6 ltsugar.m4
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
+
+
+# lt_join(SEP, ARG1, [ARG2...])
+# -----------------------------
+# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
+# associated separator.
+# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
+# versions in m4sugar had bugs.
+m4_define([lt_join],
+[m4_if([$#], [1], [],
+       [$#], [2], [[$2]],
+       [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
+m4_define([_lt_join],
+[m4_if([$#$2], [2], [],
+       [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
+
+
+# lt_car(LIST)
+# lt_cdr(LIST)
+# ------------
+# Manipulate m4 lists.
+# These macros are necessary as long as will still need to support
+# Autoconf-2.59 which quotes differently.
+m4_define([lt_car], [[$1]])
+m4_define([lt_cdr],
+[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
+       [$#], 1, [],
+       [m4_dquote(m4_shift($@))])])
+m4_define([lt_unquote], $1)
+
+
+# lt_append(MACRO-NAME, STRING, [SEPARATOR])
+# ------------------------------------------
+# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
+# Note that neither SEPARATOR nor STRING are expanded; they are appended
+# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
+# No SEPARATOR is output if MACRO-NAME was previously undefined (different
+# than defined and empty).
+#
+# This macro is needed until we can rely on Autoconf 2.62, since earlier
+# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
+m4_define([lt_append],
+[m4_define([$1],
+          m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
+
+
+
+# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
+# ----------------------------------------------------------
+# Produce a SEP delimited list of all paired combinations of elements of
+# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
+# has the form PREFIXmINFIXSUFFIXn.
+# Needed until we can rely on m4_combine added in Autoconf 2.62.
+m4_define([lt_combine],
+[m4_if(m4_eval([$# > 3]), [1],
+       [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
+[[m4_foreach([_Lt_prefix], [$2],
+            [m4_foreach([_Lt_suffix],
+               ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
+       [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
+
+
+# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
+# -----------------------------------------------------------------------
+# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
+# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
+m4_define([lt_if_append_uniq],
+[m4_ifdef([$1],
+         [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
+                [lt_append([$1], [$2], [$3])$4],
+                [$5])],
+         [lt_append([$1], [$2], [$3])$4])])
+
+
+# lt_dict_add(DICT, KEY, VALUE)
+# -----------------------------
+m4_define([lt_dict_add],
+[m4_define([$1($2)], [$3])])
+
+
+# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
+# --------------------------------------------
+m4_define([lt_dict_add_subkey],
+[m4_define([$1($2:$3)], [$4])])
+
+
+# lt_dict_fetch(DICT, KEY, [SUBKEY])
+# ----------------------------------
+m4_define([lt_dict_fetch],
+[m4_ifval([$3],
+       m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
+    m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
+
+
+# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
+# -----------------------------------------------------------------
+m4_define([lt_if_dict_fetch],
+[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
+       [$5],
+    [$6])])
+
+
+# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
+# --------------------------------------------------------------
+m4_define([lt_dict_filter],
+[m4_if([$5], [], [],
+  [lt_join(m4_quote(m4_default([$4], [[, ]])),
+           lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
+                     [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
+])
diff --git a/m4/ltversion.m4 b/m4/ltversion.m4
new file mode 100644 (file)
index 0000000..f3c5309
--- /dev/null
@@ -0,0 +1,23 @@
+# ltversion.m4 -- version numbers                      -*- Autoconf -*-
+#
+#   Copyright (C) 2004 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# Generated from ltversion.in.
+
+# serial 3017 ltversion.m4
+# This file is part of GNU Libtool
+
+m4_define([LT_PACKAGE_VERSION], [2.2.6b])
+m4_define([LT_PACKAGE_REVISION], [1.3017])
+
+AC_DEFUN([LTVERSION_VERSION],
+[macro_version='2.2.6b'
+macro_revision='1.3017'
+_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
+_LT_DECL(, macro_revision, 0)
+])
diff --git a/m4/lt~obsolete.m4 b/m4/lt~obsolete.m4
new file mode 100644 (file)
index 0000000..637bb20
--- /dev/null
@@ -0,0 +1,92 @@
+# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
+#
+#   Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
+#   Written by Scott James Remnant, 2004.
+#
+# This file is free software; the Free Software Foundation gives
+# unlimited permission to copy and/or distribute it, with or without
+# modifications, as long as this notice is preserved.
+
+# serial 4 lt~obsolete.m4
+
+# These exist entirely to fool aclocal when bootstrapping libtool.
+#
+# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
+# which have later been changed to m4_define as they aren't part of the
+# exported API, or moved to Autoconf or Automake where they belong.
+#
+# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
+# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
+# using a macro with the same name in our local m4/libtool.m4 it'll
+# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
+# and doesn't know about Autoconf macros at all.)
+#
+# So we provide this file, which has a silly filename so it's always
+# included after everything else.  This provides aclocal with the
+# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
+# because those macros already exist, or will be overwritten later.
+# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. 
+#
+# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
+# Yes, that means every name once taken will need to remain here until
+# we give up compatibility with versions before 1.7, at which point
+# we need to keep only those names which we still refer to.
+
+# This is to help aclocal find these macros, as it can't see m4_define.
+AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
+
+m4_ifndef([AC_LIBTOOL_LINKER_OPTION],  [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
+m4_ifndef([AC_PROG_EGREP],             [AC_DEFUN([AC_PROG_EGREP])])
+m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH],        [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
+m4_ifndef([_LT_AC_SHELL_INIT],         [AC_DEFUN([_LT_AC_SHELL_INIT])])
+m4_ifndef([_LT_AC_SYS_LIBPATH_AIX],    [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
+m4_ifndef([_LT_PROG_LTMAIN],           [AC_DEFUN([_LT_PROG_LTMAIN])])
+m4_ifndef([_LT_AC_TAGVAR],             [AC_DEFUN([_LT_AC_TAGVAR])])
+m4_ifndef([AC_LTDL_ENABLE_INSTALL],    [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
+m4_ifndef([AC_LTDL_PREOPEN],           [AC_DEFUN([AC_LTDL_PREOPEN])])
+m4_ifndef([_LT_AC_SYS_COMPILER],       [AC_DEFUN([_LT_AC_SYS_COMPILER])])
+m4_ifndef([_LT_AC_LOCK],               [AC_DEFUN([_LT_AC_LOCK])])
+m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE],        [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
+m4_ifndef([_LT_AC_TRY_DLOPEN_SELF],    [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
+m4_ifndef([AC_LIBTOOL_PROG_CC_C_O],    [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
+m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
+m4_ifndef([AC_LIBTOOL_OBJDIR],         [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
+m4_ifndef([AC_LTDL_OBJDIR],            [AC_DEFUN([AC_LTDL_OBJDIR])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
+m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP],  [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
+m4_ifndef([AC_PATH_MAGIC],             [AC_DEFUN([AC_PATH_MAGIC])])
+m4_ifndef([AC_PROG_LD_GNU],            [AC_DEFUN([AC_PROG_LD_GNU])])
+m4_ifndef([AC_PROG_LD_RELOAD_FLAG],    [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
+m4_ifndef([AC_DEPLIBS_CHECK_METHOD],   [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
+m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
+m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
+m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
+m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
+m4_ifndef([LT_AC_PROG_EGREP],          [AC_DEFUN([LT_AC_PROG_EGREP])])
+m4_ifndef([LT_AC_PROG_SED],            [AC_DEFUN([LT_AC_PROG_SED])])
+m4_ifndef([_LT_CC_BASENAME],           [AC_DEFUN([_LT_CC_BASENAME])])
+m4_ifndef([_LT_COMPILER_BOILERPLATE],  [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
+m4_ifndef([_LT_LINKER_BOILERPLATE],    [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
+m4_ifndef([_AC_PROG_LIBTOOL],          [AC_DEFUN([_AC_PROG_LIBTOOL])])
+m4_ifndef([AC_LIBTOOL_SETUP],          [AC_DEFUN([AC_LIBTOOL_SETUP])])
+m4_ifndef([_LT_AC_CHECK_DLFCN],                [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
+m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER],     [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
+m4_ifndef([_LT_AC_TAGCONFIG],          [AC_DEFUN([_LT_AC_TAGCONFIG])])
+m4_ifndef([AC_DISABLE_FAST_INSTALL],   [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
+m4_ifndef([_LT_AC_LANG_CXX],           [AC_DEFUN([_LT_AC_LANG_CXX])])
+m4_ifndef([_LT_AC_LANG_F77],           [AC_DEFUN([_LT_AC_LANG_F77])])
+m4_ifndef([_LT_AC_LANG_GCJ],           [AC_DEFUN([_LT_AC_LANG_GCJ])])
+m4_ifndef([AC_LIBTOOL_RC],             [AC_DEFUN([AC_LIBTOOL_RC])])
+m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG],  [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
+m4_ifndef([_LT_AC_LANG_C_CONFIG],      [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
+m4_ifndef([_LT_AC_LANG_CXX_CONFIG],    [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
+m4_ifndef([_LT_AC_LANG_F77_CONFIG],    [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG],        [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
+m4_ifndef([_LT_AC_LANG_GCJ_CONFIG],    [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
+m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
+m4_ifndef([_LT_AC_LANG_RC_CONFIG],     [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
+m4_ifndef([AC_LIBTOOL_CONFIG],         [AC_DEFUN([AC_LIBTOOL_CONFIG])])
+m4_ifndef([_LT_AC_FILE_LTDLL_C],       [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
diff --git a/missing b/missing
new file mode 100755 (executable)
index 0000000..28055d2
--- /dev/null
+++ b/missing
@@ -0,0 +1,376 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+
+scriptversion=2009-04-28.21; # UTC
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006,
+# 2008, 2009 Free Software Foundation, Inc.
+# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+if test $# -eq 0; then
+  echo 1>&2 "Try \`$0 --help' for more information"
+  exit 1
+fi
+
+run=:
+sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
+sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
+
+# In the cases where this matters, `missing' is being run in the
+# srcdir already.
+if test -f configure.ac; then
+  configure_ac=configure.ac
+else
+  configure_ac=configure.in
+fi
+
+msg="missing on your system"
+
+case $1 in
+--run)
+  # Try to run requested program, and just exit if it succeeds.
+  run=
+  shift
+  "$@" && exit 0
+  # Exit code 63 means version mismatch.  This often happens
+  # when the user try to use an ancient version of a tool on
+  # a file that requires a minimum version.  In this case we
+  # we should proceed has if the program had been absent, or
+  # if --run hadn't been passed.
+  if test $? = 63; then
+    run=:
+    msg="probably too old"
+  fi
+  ;;
+
+  -h|--h|--he|--hel|--help)
+    echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+  -h, --help      display this help and exit
+  -v, --version   output version information and exit
+  --run           try to run the given command, and emulate it if it fails
+
+Supported PROGRAM values:
+  aclocal      touch file \`aclocal.m4'
+  autoconf     touch file \`configure'
+  autoheader   touch file \`config.h.in'
+  autom4te     touch the output file, or create a stub one
+  automake     touch all \`Makefile.in' files
+  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
+  flex         create \`lex.yy.c', if possible, from existing .c
+  help2man     touch the output file
+  lex          create \`lex.yy.c', if possible, from existing .c
+  makeinfo     touch the output file
+  tar          try tar, gnutar, gtar, then tar without non-portable flags
+  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
+
+Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and
+\`g' are ignored when checking the name.
+
+Send bug reports to <bug-automake@gnu.org>."
+    exit $?
+    ;;
+
+  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+    echo "missing $scriptversion (GNU Automake)"
+    exit $?
+    ;;
+
+  -*)
+    echo 1>&2 "$0: Unknown \`$1' option"
+    echo 1>&2 "Try \`$0 --help' for more information"
+    exit 1
+    ;;
+
+esac
+
+# normalize program name to check for.
+program=`echo "$1" | sed '
+  s/^gnu-//; t
+  s/^gnu//; t
+  s/^g//; t'`
+
+# Now exit if we have it, but it failed.  Also exit now if we
+# don't have it and --version was passed (most likely to detect
+# the program).  This is about non-GNU programs, so use $1 not
+# $program.
+case $1 in
+  lex*|yacc*)
+    # Not GNU programs, they don't have --version.
+    ;;
+
+  tar*)
+    if test -n "$run"; then
+       echo 1>&2 "ERROR: \`tar' requires --run"
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       exit 1
+    fi
+    ;;
+
+  *)
+    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
+       # We have it, but it failed.
+       exit 1
+    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
+       # Could not run --version or --help.  This is probably someone
+       # running `$TOOL --version' or `$TOOL --help' to check whether
+       # $TOOL exists and not knowing $TOOL uses missing.
+       exit 1
+    fi
+    ;;
+esac
+
+# If it does not exist, or fails to run (possibly an outdated version),
+# try to emulate it.
+case $program in
+  aclocal*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
+         to install the \`Automake' and \`Perl' packages.  Grab them from
+         any GNU archive site."
+    touch aclocal.m4
+    ;;
+
+  autoconf*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`${configure_ac}'.  You might want to install the
+         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
+         archive site."
+    touch configure
+    ;;
+
+  autoheader*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
+         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
+         from any GNU archive site."
+    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
+    test -z "$files" && files="config.h"
+    touch_files=
+    for f in $files; do
+      case $f in
+      *:*) touch_files="$touch_files "`echo "$f" |
+                                      sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+      *) touch_files="$touch_files $f.in";;
+      esac
+    done
+    touch $touch_files
+    ;;
+
+  automake*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
+         You might want to install the \`Automake' and \`Perl' packages.
+         Grab them from any GNU archive site."
+    find . -type f -name Makefile.am -print |
+          sed 's/\.am$/.in/' |
+          while read f; do touch "$f"; done
+    ;;
+
+  autom4te*)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, but is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.
+         You can get \`$1' as part of \`Autoconf' from any GNU
+         archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+       touch $file
+    else
+       test -z "$file" || exec >$file
+       echo "#! /bin/sh"
+       echo "# Created by GNU Automake missing as a replacement of"
+       echo "#  $ $@"
+       echo "exit 0"
+       chmod +x $file
+       exit 1
+    fi
+    ;;
+
+  bison*|yacc*)
+    echo 1>&2 "\
+WARNING: \`$1' $msg.  You should only need it if
+         you modified a \`.y' file.  You may need the \`Bison' package
+         in order for those modifications to take effect.  You can get
+         \`Bison' from any GNU archive site."
+    rm -f y.tab.c y.tab.h
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+       case $LASTARG in
+       *.y)
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" y.tab.c
+           fi
+           SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" y.tab.h
+           fi
+         ;;
+       esac
+    fi
+    if test ! -f y.tab.h; then
+       echo >y.tab.h
+    fi
+    if test ! -f y.tab.c; then
+       echo 'main() { return 0; }' >y.tab.c
+    fi
+    ;;
+
+  lex*|flex*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.l' file.  You may need the \`Flex' package
+         in order for those modifications to take effect.  You can get
+         \`Flex' from any GNU archive site."
+    rm -f lex.yy.c
+    if test $# -ne 1; then
+        eval LASTARG="\${$#}"
+       case $LASTARG in
+       *.l)
+           SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+           if test -f "$SRCFILE"; then
+                cp "$SRCFILE" lex.yy.c
+           fi
+         ;;
+       esac
+    fi
+    if test ! -f lex.yy.c; then
+       echo 'main() { return 0; }' >lex.yy.c
+    fi
+    ;;
+
+  help2man*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+        you modified a dependency of a manual page.  You may need the
+        \`Help2man' package in order for those modifications to take
+        effect.  You can get \`Help2man' from any GNU archive site."
+
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -f "$file"; then
+       touch $file
+    else
+       test -z "$file" || exec >$file
+       echo ".ab help2man is required to generate this page"
+       exit $?
+    fi
+    ;;
+
+  makeinfo*)
+    echo 1>&2 "\
+WARNING: \`$1' is $msg.  You should only need it if
+         you modified a \`.texi' or \`.texinfo' file, or any other file
+         indirectly affecting the aspect of the manual.  The spurious
+         call might also be the consequence of using a buggy \`make' (AIX,
+         DU, IRIX).  You might want to install the \`Texinfo' package or
+         the \`GNU make' package.  Grab either from any GNU archive site."
+    # The file to touch is that specified with -o ...
+    file=`echo "$*" | sed -n "$sed_output"`
+    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
+    if test -z "$file"; then
+      # ... or it is the one specified with @setfilename ...
+      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+      file=`sed -n '
+       /^@setfilename/{
+         s/.* \([^ ]*\) *$/\1/
+         p
+         q
+       }' $infile`
+      # ... or it is derived from the source name (dir/f.texi becomes f.info)
+      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
+    fi
+    # If the file does not exist, the user really needs makeinfo;
+    # let's fail without touching anything.
+    test -f $file || exit 1
+    touch $file
+    ;;
+
+  tar*)
+    shift
+
+    # We have already tried tar in the generic part.
+    # Look for gnutar/gtar before invocation to avoid ugly error
+    # messages.
+    if (gnutar --version > /dev/null 2>&1); then
+       gnutar "$@" && exit 0
+    fi
+    if (gtar --version > /dev/null 2>&1); then
+       gtar "$@" && exit 0
+    fi
+    firstarg="$1"
+    if shift; then
+       case $firstarg in
+       *o*)
+           firstarg=`echo "$firstarg" | sed s/o//`
+           tar "$firstarg" "$@" && exit 0
+           ;;
+       esac
+       case $firstarg in
+       *h*)
+           firstarg=`echo "$firstarg" | sed s/h//`
+           tar "$firstarg" "$@" && exit 0
+           ;;
+       esac
+    fi
+
+    echo 1>&2 "\
+WARNING: I can't seem to be able to run \`tar' with the given arguments.
+         You may want to install GNU tar or Free paxutils, or check the
+         command line arguments."
+    exit 1
+    ;;
+
+  *)
+    echo 1>&2 "\
+WARNING: \`$1' is needed, and is $msg.
+         You might have modified some files without having the
+         proper tools for further handling them.  Check the \`README' file,
+         it often tells you about the needed prerequisites for installing
+         this package.  You may also peek at any GNU archive site, in case
+         some other package would contain this missing \`$1' program."
+    exit 1
+    ;;
+esac
+
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "scriptversion="
+# time-stamp-format: "%:y-%02m-%02d.%02H"
+# time-stamp-time-zone: "UTC"
+# time-stamp-end: "; # UTC"
+# End:
diff --git a/src/bin/evas_cserve b/src/bin/evas_cserve
new file mode 100755 (executable)
index 0000000..ad1d129
--- /dev/null
@@ -0,0 +1,148 @@
+#! /bin/sh
+
+# evas_cserve - temporary wrapper script for .libs/evas_cserve
+# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2
+#
+# The evas_cserve program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='/bin/sed -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command="(cd /home/jaehwan/slp/tmp2/efl/evas/src/bin; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/sb2/wrappers:/sb2/scripts:/usr/lib/ccache:/home/jaehwan/.scratchbox2/sbs-armel_home_jaehwan_sbs/bin:/home/jaehwan/sbs-install/bin:/home/jaehwan/sbs-install/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/jaehwan/sbs-install/bin:/home/jaehwan/sbs/target-i386/opt/apps/com.samsung.elm-demo-slp/bin:/usr/local/sbin:/usr/sbin:/sbin:/sbin:/usr/sbin:/home/jaehwan/sbs/target-armel/bin:/home/jaehwan/sbs/target-armel/usr/bin:/home/jaehwan/sbs/target-armel/usr/local/bin; export PATH; gcc -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed -o \$progdir/\$file evas_cserve_main.o  ../../src/lib/.libs/libevas.so -lpthread /usr/lib/libeina.so -pthread -Wl,-rpath -Wl,/home/jaehwan/slp/tmp2/efl/evas/src/lib/.libs)"
+
+# This environment variable determines our operation mode.
+if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='2.2.6b'
+  notinst_deplibs=' ../../src/lib/libevas.la'
+else
+  # When we are sourced in execute mode, $file and $ECHO are already set.
+  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
+    ECHO="echo"
+    file="$0"
+    # Make sure echo works.
+    if test "X$1" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+      # Yippee, $ECHO works!
+      :
+    else
+      # Restart under the correct shell, and then maybe $ECHO will work.
+      exec /bin/sh "$0" --no-reexec ${1+"$@"}
+    fi
+  fi
+
+  # Find the directory that this script lives in.
+  thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'`
+  test "x$thisdir" = "x$file" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'`
+  while test -n "$file"; do
+    destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'`
+
+    # If there was a directory component, then change thisdir.
+    if test "x$destdir" != "x$file"; then
+      case "$destdir" in
+      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
+      *) thisdir="$thisdir/$destdir" ;;
+      esac
+    fi
+
+    file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'`
+    file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'`
+  done
+
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
+  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
+    # special case for '.'
+    if test "$thisdir" = "."; then
+      thisdir=`pwd`
+    fi
+    # remove .libs from thisdir
+    case "$thisdir" in
+    *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;;
+    .libs )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=`cd "$thisdir" && pwd`
+  test -n "$absdir" && thisdir="$absdir"
+
+  program=lt-'evas_cserve'
+  progdir="$thisdir/.libs"
+
+  if test ! -f "$progdir/$program" ||
+     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \
+       test "X$file" != "X$progdir/$program"; }; then
+
+    file="$$-$program"
+
+    if test ! -d "$progdir"; then
+      mkdir "$progdir"
+    else
+      rm -f "$progdir/$file"
+    fi
+
+    # relink executable if necessary
+    if test -n "$relink_command"; then
+      if relink_command_output=`eval $relink_command 2>&1`; then :
+      else
+       echo "$relink_command_output" >&2
+       rm -f "$progdir/$file"
+       exit 1
+      fi
+    fi
+
+    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
+    { rm -f "$progdir/$program";
+      mv -f "$progdir/$file" "$progdir/$program"; }
+    rm -f "$progdir/$file"
+  fi
+
+  if test -f "$progdir/$program"; then
+    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
+      # Run the actual program with our arguments.
+
+      exec "$progdir/$program" ${1+"$@"}
+
+      $ECHO "$0: cannot exec $program $*" 1>&2
+      exit 1
+    fi
+  else
+    # The program doesn't exist.
+    $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2
+    $ECHO "This script is just a wrapper for $program." 1>&2
+    echo "See the libtool documentation for more information." 1>&2
+    exit 1
+  fi
+fi
diff --git a/src/bin/evas_cserve_tool b/src/bin/evas_cserve_tool
new file mode 100755 (executable)
index 0000000..df332e7
--- /dev/null
@@ -0,0 +1,148 @@
+#! /bin/sh
+
+# evas_cserve_tool - temporary wrapper script for .libs/evas_cserve_tool
+# Generated by ltmain.sh (GNU libtool) 2.2.6b Debian-2.2.6b-2
+#
+# The evas_cserve_tool program cannot be directly executed until all the libtool
+# libraries that it depends on are installed.
+#
+# This wrapper script should never be moved out of the build directory.
+# If it is, it will not operate correctly.
+
+# Sed substitution that helps us do robust quoting.  It backslashifies
+# metacharacters that are still active within double-quoted strings.
+Xsed='/bin/sed -e 1s/^X//'
+sed_quote_subst='s/\([`"$\\]\)/\\\1/g'
+
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac
+fi
+BIN_SH=xpg4; export BIN_SH # for Tru64
+DUALCASE=1; export DUALCASE # for MKS sh
+
+# The HP-UX ksh and POSIX shell print the target directory to stdout
+# if CDPATH is set.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+relink_command="(cd /home/jaehwan/slp/tmp2/efl/evas/src/bin; { test -z \"\${LIBRARY_PATH+set}\" || unset LIBRARY_PATH || { LIBRARY_PATH=; export LIBRARY_PATH; }; }; { test -z \"\${COMPILER_PATH+set}\" || unset COMPILER_PATH || { COMPILER_PATH=; export COMPILER_PATH; }; }; { test -z \"\${GCC_EXEC_PREFIX+set}\" || unset GCC_EXEC_PREFIX || { GCC_EXEC_PREFIX=; export GCC_EXEC_PREFIX; }; }; { test -z \"\${LD_RUN_PATH+set}\" || unset LD_RUN_PATH || { LD_RUN_PATH=; export LD_RUN_PATH; }; }; { test -z \"\${LD_LIBRARY_PATH+set}\" || unset LD_LIBRARY_PATH || { LD_LIBRARY_PATH=; export LD_LIBRARY_PATH; }; }; PATH=/sb2/wrappers:/sb2/scripts:/usr/lib/ccache:/home/jaehwan/.scratchbox2/sbs-armel_home_jaehwan_sbs/bin:/home/jaehwan/sbs-install/bin:/home/jaehwan/sbs-install/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/jaehwan/sbs-install/bin:/home/jaehwan/sbs/target-i386/opt/apps/com.samsung.elm-demo-slp/bin:/usr/local/sbin:/usr/sbin:/sbin:/sbin:/usr/sbin:/home/jaehwan/sbs/target-armel/bin:/home/jaehwan/sbs/target-armel/usr/bin:/home/jaehwan/sbs/target-armel/usr/local/bin; export PATH; gcc -g -O2 -g -Wall -O2 -fvisibility=hidden -ffast-math -fPIC -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed -o \$progdir/\$file evas_cserve_tool.o  ../../src/lib/.libs/libevas.so -lpthread /usr/lib/libeina.so -pthread -Wl,-rpath -Wl,/home/jaehwan/slp/tmp2/efl/evas/src/lib/.libs)"
+
+# This environment variable determines our operation mode.
+if test "$libtool_install_magic" = "%%%MAGIC variable%%%"; then
+  # install mode needs the following variables:
+  generated_by_libtool_version='2.2.6b'
+  notinst_deplibs=' ../../src/lib/libevas.la'
+else
+  # When we are sourced in execute mode, $file and $ECHO are already set.
+  if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
+    ECHO="echo"
+    file="$0"
+    # Make sure echo works.
+    if test "X$1" = X--no-reexec; then
+      # Discard the --no-reexec flag, and continue.
+      shift
+    elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t'; then
+      # Yippee, $ECHO works!
+      :
+    else
+      # Restart under the correct shell, and then maybe $ECHO will work.
+      exec /bin/sh "$0" --no-reexec ${1+"$@"}
+    fi
+  fi
+
+  # Find the directory that this script lives in.
+  thisdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'`
+  test "x$thisdir" = "x$file" && thisdir=.
+
+  # Follow symbolic links until we get to the real thisdir.
+  file=`ls -ld "$file" | /bin/sed -n 's/.*-> //p'`
+  while test -n "$file"; do
+    destdir=`$ECHO "X$file" | $Xsed -e 's%/[^/]*$%%'`
+
+    # If there was a directory component, then change thisdir.
+    if test "x$destdir" != "x$file"; then
+      case "$destdir" in
+      [\\/]* | [A-Za-z]:[\\/]*) thisdir="$destdir" ;;
+      *) thisdir="$thisdir/$destdir" ;;
+      esac
+    fi
+
+    file=`$ECHO "X$file" | $Xsed -e 's%^.*/%%'`
+    file=`ls -ld "$thisdir/$file" | /bin/sed -n 's/.*-> //p'`
+  done
+
+
+  # Usually 'no', except on cygwin/mingw when embedded into
+  # the cwrapper.
+  WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=no
+  if test "$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR" = "yes"; then
+    # special case for '.'
+    if test "$thisdir" = "."; then
+      thisdir=`pwd`
+    fi
+    # remove .libs from thisdir
+    case "$thisdir" in
+    *[\\/].libs ) thisdir=`$ECHO "X$thisdir" | $Xsed -e 's%[\\/][^\\/]*$%%'` ;;
+    .libs )   thisdir=. ;;
+    esac
+  fi
+
+  # Try to get the absolute directory name.
+  absdir=`cd "$thisdir" && pwd`
+  test -n "$absdir" && thisdir="$absdir"
+
+  program=lt-'evas_cserve_tool'
+  progdir="$thisdir/.libs"
+
+  if test ! -f "$progdir/$program" ||
+     { file=`ls -1dt "$progdir/$program" "$progdir/../$program" 2>/dev/null | /bin/sed 1q`; \
+       test "X$file" != "X$progdir/$program"; }; then
+
+    file="$$-$program"
+
+    if test ! -d "$progdir"; then
+      mkdir "$progdir"
+    else
+      rm -f "$progdir/$file"
+    fi
+
+    # relink executable if necessary
+    if test -n "$relink_command"; then
+      if relink_command_output=`eval $relink_command 2>&1`; then :
+      else
+       echo "$relink_command_output" >&2
+       rm -f "$progdir/$file"
+       exit 1
+      fi
+    fi
+
+    mv -f "$progdir/$file" "$progdir/$program" 2>/dev/null ||
+    { rm -f "$progdir/$program";
+      mv -f "$progdir/$file" "$progdir/$program"; }
+    rm -f "$progdir/$file"
+  fi
+
+  if test -f "$progdir/$program"; then
+    if test "$libtool_execute_magic" != "%%%MAGIC variable%%%"; then
+      # Run the actual program with our arguments.
+
+      exec "$progdir/$program" ${1+"$@"}
+
+      $ECHO "$0: cannot exec $program $*" 1>&2
+      exit 1
+    fi
+  else
+    # The program doesn't exist.
+    $ECHO "$0: error: \`$progdir/$program' does not exist" 1>&2
+    $ECHO "This script is just a wrapper for $program." 1>&2
+    echo "See the libtool documentation for more information." 1>&2
+    exit 1
+  fi
+fi
index 5dcbd9b..7104d2f 100644 (file)
@@ -777,7 +777,7 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file, const char *
    Image_Entry          *im;
    Evas_Image_Load_Opts  prevent = { 0, 0, 0, 0, { 0, 0, 0, 0 } };
    size_t                size;
-   int                   stat_done = 0;
+   int                   stat_done = 0, stat_failed = 0;
    size_t                file_length;
    size_t                key_length;
    struct stat           st;
@@ -878,14 +878,17 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file, const char *
         int ok = 1;
         
         stat_done = 1;
-        if (stat(file, &st) < 0) goto on_stat_error;
+        if (stat(file, &st) < 0)
           {
-             if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
+              stat_failed = 1;
+              ok = 0;
           }
+        else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
         if (ok) goto on_ok;
 
         _evas_cache_image_remove_activ(cache, im);
        _evas_cache_image_make_dirty(cache, im);
+        im = NULL;
      }
 
 #ifdef EVAS_FRAME_QUEUING
@@ -902,11 +905,14 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file, const char *
         if (!stat_done)
           {
              stat_done = 1;
-             if (stat(file, &st) < 0) goto on_stat_error;
-             if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
+             if (stat(file, &st) < 0)
+               {
+                  stat_failed = 1;
+                  ok = 0;
           }
-        else
-           if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
+             else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
+          }
+        else if (!_timestamp_compare(&(im->tstamp), &st)) ok = 0;
 
         if (ok)
           {
@@ -914,9 +920,10 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file, const char *
              _evas_cache_image_make_activ(cache, im, im->cache_key);
              goto on_ok;
           }
-
-        _evas_cache_image_entry_delete(cache, im);
+        _evas_cache_image_make_dirty(cache, im);
+        im = NULL;
      }
+   if (stat_failed) goto on_stat_error;
 
    if (!stat_done)
      {
diff --git a/stamp-h1 b/stamp-h1
new file mode 100644 (file)
index 0000000..4547fe1
--- /dev/null
+++ b/stamp-h1
@@ -0,0 +1 @@
+timestamp for config.h